[jOOQ/jOOQ#3884] Add parser support

This commit is contained in:
Lukas Eder 2021-06-18 13:17:16 +02:00
parent 59ebd62d27
commit 58c2a3dac3

View File

@ -7553,6 +7553,10 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
else if (parseFunctionNameIf("MD5"))
return md5((Field) parseFieldParenthesised(S));
if (A.is(type))
if ((field = parseMultisetValueConstructorIf()) != null)
return field;
if ((field = parseFieldGreatestIf()) != null)
return field;
else if ((field = parseFieldLeastIf()) != null)
@ -8651,6 +8655,21 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
return null;
}
private final Field<?> parseMultisetValueConstructorIf() {
if (parseKeywordIf("MULTISET")) {
if (parseIf('(')) {
SelectQueryImpl select = parseWithOrSelect();
parse(')');
return DSL.multiset(select);
}
else
throw expected("(");
}
return null;
}
private final Field<?> parseFieldArrayGetIf() {
if (parseFunctionNameIf("ARRAY_GET")) {
parse('(');