From 293ccc7e2ca18f6bd458c88f5a3a611a3f48aad2 Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Fri, 24 May 2019 08:25:58 +0200 Subject: [PATCH] [#8452] Implement parsing of SYS_CONNECT_BY_PATH The parser can now parse Oracle's SYS_CONNECT_BY_PATH function used in hierarchical queries. --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index e8bb3924a9..475e4f9782 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -252,6 +252,7 @@ import static org.jooq.impl.DSL.stddevSamp; import static org.jooq.impl.DSL.substring; import static org.jooq.impl.DSL.sum; import static org.jooq.impl.DSL.sumDistinct; +import static org.jooq.impl.DSL.sysConnectByPath; import static org.jooq.impl.DSL.table; import static org.jooq.impl.DSL.tan; import static org.jooq.impl.DSL.tanh; @@ -5666,6 +5667,15 @@ final class ParserImpl implements Parser { else if ((field = parseFieldShrIf(ctx)) != null) return field; + if (parseFunctionNameIf(ctx, "SYS_CONNECT_BY_PATH")) { + parse(ctx, '('); + Field x = parseField(ctx); + parse(ctx, ','); + String y = parseStringLiteral(ctx); + parse(ctx, ')'); + return sysConnectByPath(x, y); + } + break; case 't':