[jOOQ/jOOQ#11651] Add parser support for VERTICA IDENTITY column type

This commit is contained in:
Lukas Eder 2021-03-16 11:03:59 +01:00
parent fde3cb20ba
commit 7157c2e5ac

View File

@ -11063,6 +11063,10 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
case 'A':
if (parseKeywordOrIdentifierIf("ARRAY"))
return SQLDataType.OTHER.getArrayDataType();
else if (parseKeywordIf("AUTO_INCREMENT")) {
parseDataTypeIdentityArgsIf();
return SQLDataType.INTEGER.identity(true);
}
break;
@ -11148,6 +11152,10 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
else
return SQLDataType.INTERVAL;
}
else if (parseKeywordIf("IDENTITY")) {
parseDataTypeIdentityArgsIf();
return SQLDataType.INTEGER.identity(true);
}
break;
@ -11286,6 +11294,13 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
return new DefaultDataType(dsl.dialect(), Object.class, parseName());
}
private final void parseDataTypeIdentityArgsIf() {
if (parseIf('(')) {
parseList(',', ParseContext::parseField);
parse(')');
}
}
private final boolean parseKeywordOrIdentifierIf(String keyword) {
int p = position();
char quoteEnd = parseQuote(false);