[jOOQ/jOOQ#15160] Add parser support for Teradata specific analytic functions

This commit is contained in:
Lukas Eder 2023-06-05 15:21:59 +02:00
parent 886479a4b0
commit f01dd879cc

View File

@ -8624,6 +8624,10 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
}
break;
case 'D':
@ -8870,6 +8874,13 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
else if ((field = parseFieldDecodeIf()) != null)
return field;
break;
case 'N':
@ -8944,6 +8955,11 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
else if (parseFunctionNameIf("QUARTER"))
return quarter(parseFieldParenthesised());
case 'R':
if (parseFunctionNameIf("REPLACE"))
return parseFunctionArgs3(DSL::replace, DSL::replace);
@ -9410,6 +9426,58 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
return parseFieldNameOrSequenceExpression();
}
private final Field<?> parseFieldAddDatePart(DatePart part) {
return parseFunctionArgs2((f1, f2) -> dateAdd(f1, f2, part));
}
@ -11660,6 +11728,13 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
else
parseKeywordIf("ALL");
// Hypothetical set function
List<Field<?>> args = parseList(',', c -> c.parseField());
parse(')');