From cf33bfd90c03d8e298f8f54c1d080bc7ff9f0b3d Mon Sep 17 00:00:00 2001 From: lukaseder Date: Mon, 15 Jan 2018 13:21:52 +0100 Subject: [PATCH] [#6485] Support parsing JDBC escape syntax for {fn ... } calls --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 36d144fc14..5b1c5ef271 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -3251,7 +3251,7 @@ else if (this == MINUS) private static final FieldOrRow parseTerm(ParserContext ctx, Type type) { parseWhitespaceIf(ctx); - Field field; + FieldOrRow field; Object value; switch (ctx.character()) { @@ -3656,6 +3656,15 @@ else if ((field = parseFieldTimeLiteralIf(ctx)) != null) field = inline(parseDateLiteral(ctx)); break; + case 'f': + case 'F': + parseKeyword(ctx, "FN"); + + // TODO: Limit the supported expressions in this context to the ones specified here: + // http://download.oracle.com/otn-pub/jcp/jdbc-4_2-mrel2-eval-spec/jdbc4.2-fr-spec.pdf + field = parseTerm(ctx, type); + break; + case 't': case 'T': if (parseKeywordIf(ctx, "TS")) {