Невозможно создать план объяснения в Couchbase - PullRequest
1 голос
/ 09 мая 2019

При запуске SQL для простых данных о путешествиях

SELECT count(*) FROM `travel-sample` t
WHERE (SELECT RAW t.geo.alt FROM t t1)[0] > 6000;

Я не вижу объяснения в Query Workbench. Ошибка:

Внутренняя ошибка при создании плана запроса: Ошибка: Ошибка разбора в строке 1: \ n ... 6000 <(коррелировано (выберите raw ((<code>t .`ge \ n ---------------------- ^ \ n Ожидается 'IDENT', 'STR', 'DISTINCT', 'STAR', 'LPAREN', 'RPAREN', 'NOT', 'IDENT_ICASE', 'LBRACKET', 'MINUS', 'NULL', 'MISSING, EXISTS, SELF, COVER, FALSE, TRUE, NUM, INT, LBRACE, NAMED_PARAM, POSITIONAL_PARAM, NEXT_PARAM, CASE, 'ANY', 'SOME', 'EVERY', 'ARRAY', 'FIRST', 'OBJECT', получил 'SELECT' '

Что происходит? Версия Couchbase: Enterprise Edition 5.5.3 build 4039

Пробные варианты одного и того же SQl из документации на диване: https://docs.couchbase.com/server/5.1/n1ql/n1ql-language-reference/subqueries.html

SELECT count(*) FROM travel-sample t WHERE (SELECT RAW t.geo.alt FROM t t1)[0] > 6000 ;

Ответы [ 2 ]

1 голос
/ 09 мая 2019

Действительно, это ошибка в Query Workbench.Вы можете обойти ошибку, чтобы просмотреть план запроса, выполнив:

объяснение SELECT count (*) ОТ travel-sample t ГДЕ (ВЫБРАТЬ RAW t.geo.alt FROM t t1) [0]> 6000;

и просмотр выходного представления JSON.

0 голосов
/ 09 мая 2019

Похоже, что Query Workbench не может обрабатывать коррелированные ключевые слова в 5.5.3.Это было исправлено в новых выпусках.

Вы можете использовать REST API или интерфейс командной строки оболочки cbq

...