From dc523e477200b4d6265f5a51432d9c75d3f362c7 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 26 Sep 2018 11:24:07 +0200 Subject: [PATCH] [#7518] ALTER TABLE .. MODIFY i [ NOT ] NULL (Oracle syntax of setting / dropping NOT NULL) --- jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt | 1 + jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt index 642b5abd35..27f8514940 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt @@ -68,6 +68,7 @@ alterTableStatement = 'ALTER TABLE' [ 'IF EXISTS' ] tableName break ( [ [ 'SET DATA' ] 'TYPE' ] dataType [ [ 'NOT' ] 'NULL' ] | ( 'SET' | 'DROP' ) 'NOT NULL' + | [ 'NOT' ] 'NULL' | [ 'RENAME' ] ( 'TO' | 'AS' ) identifier ) | column diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 27eb9d195b..93199d6c64 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -3166,9 +3166,9 @@ final class ParserImpl implements Parser { TableField field = parseFieldName(ctx); if (!paren) - if (parseKeywordIf(ctx, "DROP NOT NULL")) + if (parseKeywordIf(ctx, "DROP NOT NULL") || parseKeywordIf(ctx, "NULL")) return s1.alter(field).dropNotNull(); - else if (parseKeywordIf(ctx, "SET NOT NULL")) + else if (parseKeywordIf(ctx, "SET NOT NULL") || parseKeywordIf(ctx, "NOT NULL")) return s1.alter(field).setNotNull(); else if (parseKeywordIf(ctx, "TO") || parseKeywordIf(ctx, "RENAME TO") || parseKeywordIf(ctx, "RENAME AS")) return s1.renameColumn(field).to(parseFieldName(ctx));