From 73da24c17c69e79c17e0246b7d0917e0c5ecbee4 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 6 Sep 2023 14:45:43 +0200 Subject: [PATCH] [jOOQ/jOOQ#8474] Support parsing synthetic SQL Server CREATE TYPE IF NOT EXISTS --- jOOQ/src/main/java/org/jooq/impl/ParserImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 82e81d5d4b..6c852b3a36 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -5128,7 +5128,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { } private final DDLQuery parseCreateType() { - boolean notExists = parseKeywordIf("IF NOT EXISTS"); + boolean ifNotExists = parseKeywordIf("IF NOT EXISTS"); Name name = parseName(); if (parseKeywordIf("AS")) { @@ -5143,7 +5143,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { else values = new ArrayList<>(); - return (notExists ? dsl.createTypeIfNotExists(name) : dsl.createType(name)) + return (ifNotExists ? dsl.createTypeIfNotExists(name) : dsl.createType(name)) .asEnum(values.toArray(EMPTY_STRING)); } else { @@ -5151,12 +5151,13 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { parse('('); List> fields = parseList(',', ctx -> DSL.field(parseIdentifier(), parseDataType())); parse(')'); - return (notExists ? dsl.createTypeIfNotExists(name) : dsl.createType(name)) + return (ifNotExists ? dsl.createTypeIfNotExists(name) : dsl.createType(name)) .as(fields); } } else if (parseKeywordIf("FROM")) { - return dsl.createDomain(name).as(parseDataType()); + return (ifNotExists ? dsl.createDomainIfNotExists(name) : dsl.createDomain(name)) + .as(parseDataType()); } else throw expected("AS", "FROM");