From 0e7aa2e4b0e3d8cb9b75aa4aa04f2e08464dd2ea Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 22 Aug 2018 10:33:47 +0200 Subject: [PATCH] [#7518] CURRENT_DATE and CURRENT_DATE() are both possible (and similar functions, too) --- .../src/main/resources/org/jooq/web/grammar-3.12.txt | 10 +++++----- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt index a39cdf0603..c6582b6e4b 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt @@ -637,11 +637,11 @@ term = | 'COUNT' '(' ( '*' | [ 'DISTINCT' | 'ALL' ] field ) ')' [ keep | filter ] [ over ] | 'CUME_DIST' ( '(' ')' over | '(' fields ')' withinGroup ) | 'CURRVAL' '(' ( name | stringLiteral ) ')' -| 'CURRENT_DATE' -| 'CURRENT_SCHEMA' -| 'CURRENT_TIME' -| 'CURRENT_TIMESTAMP' -| 'CURRENT_USER' +| 'CURRENT_DATE' [ '(' ')' ] +| 'CURRENT_SCHEMA' [ '(' ')' ] +| 'CURRENT_TIME' [ '(' ')' ] +| 'CURRENT_TIMESTAMP' [ '(' ')' ] +| 'CURRENT_USER' [ '(' ')' ] | 'CURDATE' '(' ')' | 'CURTIME' '(' ')' | dateLiteral diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 688d6eb760..080dab0e3f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -4470,9 +4470,9 @@ final class ParserImpl implements Parser { if (S.is(type)) if ((field = parseFieldConcatIf(ctx)) != null) return field; - else if (parseKeywordIf(ctx, "CURRENT_SCHEMA")) + else if (parseKeywordIf(ctx, "CURRENT_SCHEMA") && (parseIf(ctx, '(') && parse(ctx, ')') || true)) return currentSchema(); - else if (parseKeywordIf(ctx, "CURRENT_USER")) + else if (parseKeywordIf(ctx, "CURRENT_USER") && (parseIf(ctx, '(') && parse(ctx, ')') || true)) return currentUser(); if (N.is(type))