Рекурсивный запрос с H2 - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь создать рекурсивный запрос с H2, но я не могу заставить его работать.

Рекурсивный запрос, который я пытаюсь получить, является чем-то вроде ответа от на этот предыдущий вопрос, который я задал StackOverflow . Я пытаюсь создать запрос для тестирования JUnit, так как H2 не может создать истинную хранимую процедуру (код Java, работающий с наборами результатов, не является хорошим ответом, поскольку он полностью пропускает большую часть моего тестируемого кода).

Я полностью прочитал документацию по H2 и попробовал что-то простое, а именно - использовать один из примеров из H2 документации . Я обнаружил, что рекурсивный запрос, показанный в документации H2, не работает, когда я запускаю его в консоли: (

Я использую второй пример из ссылки на документацию:

WITH cte1 AS (
        SELECT 1 AS FIRST_COLUMN
), cte2 AS (
        SELECT FIRST_COLUMN+1 AS FIRST_COLUMN FROM cte1
)
SELECT sum(FIRST_COLUMN) FROM cte2;

Кто-нибудь знает, почему этот запрос не работает? Кажется, что если он есть в документации, он должен работать; может быть ошибка регрессии? Я использую H2 версию 1.4.188.

Похоже, H2 не нравится, что значение из CTE не указано (например, cte1(FIRST_COLUMN)), но документы показывают, что это не требуется. Однако даже если я это исправлю, произойдет сбой через запятую после закрывающей скобки первого CTE, в которой я застрял с запросом, который пытаюсь написать.

...