diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerActionStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerActionStep.java new file mode 100644 index 0000000000..8cf25d7367 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerActionStep.java @@ -0,0 +1,94 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerEventOfStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerEventOfStep.java new file mode 100644 index 0000000000..921bb6b887 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerEventOfStep.java @@ -0,0 +1,101 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerEventOnStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerEventOnStep.java new file mode 100644 index 0000000000..8cf25d7367 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerEventOnStep.java @@ -0,0 +1,94 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerEventOrStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerEventOrStep.java new file mode 100644 index 0000000000..8cf25d7367 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerEventOrStep.java @@ -0,0 +1,94 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerEventStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerEventStep.java new file mode 100644 index 0000000000..4e748fe93b --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerEventStep.java @@ -0,0 +1,136 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerFinalStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerFinalStep.java new file mode 100644 index 0000000000..8017dfe66e --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerFinalStep.java @@ -0,0 +1,73 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerForStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerForStep.java new file mode 100644 index 0000000000..6312365c62 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerForStep.java @@ -0,0 +1,80 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerReferencingStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerReferencingStep.java new file mode 100644 index 0000000000..921bb6b887 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerReferencingStep.java @@ -0,0 +1,101 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/CreateTriggerWhenStep.java b/jOOQ/src/main/java/org/jooq/CreateTriggerWhenStep.java new file mode 100644 index 0000000000..9183e4630a --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/CreateTriggerWhenStep.java @@ -0,0 +1,141 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index d7b0bff673..a3bf9b0755 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -9787,6 +9787,48 @@ public interface DSLContext extends Scope { @Support({ FIREBIRD, H2, HSQLDB, POSTGRES, SQLITE }) CreateIndexStep createUniqueIndexIfNotExists(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /** * The CREATE SCHEMA statement. * @@ -10273,6 +10315,48 @@ public interface DSLContext extends Scope { @Support({ FIREBIRD, MARIADB, MYSQL, POSTGRES }) DropTableStep dropTemporaryTableIfExists(Table table); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /** * The DROP VIEW statement. * diff --git a/jOOQ/src/main/java/org/jooq/DropTriggerFinalStep.java b/jOOQ/src/main/java/org/jooq/DropTriggerFinalStep.java new file mode 100644 index 0000000000..8017dfe66e --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/DropTriggerFinalStep.java @@ -0,0 +1,73 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/CreateTriggerImpl.java b/jOOQ/src/main/java/org/jooq/impl/CreateTriggerImpl.java new file mode 100644 index 0000000000..e00a32377b --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/impl/CreateTriggerImpl.java @@ -0,0 +1,497 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq.impl; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 3f1da17a50..603e41ad31 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -7788,6 +7788,56 @@ public class DSL { return dsl().createUniqueIndexIfNotExists(); } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /** * The CREATE SCHEMA statement. * @@ -8382,6 +8432,56 @@ public class DSL { return dsl().dropTemporaryTableIfExists(table); } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /** * The DROP VIEW statement. * diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index fbcc32c9ee..88b4fdf68e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -3056,6 +3056,32 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri return new CreateIndexImpl(configuration(), true, true); } + + + + + + + + + + + + + + + + + + + + + + + + + + @Override public org.jooq.CreateSchemaFinalStep createSchema(@Stringly.Name String schema) { return new CreateSchemaImpl(configuration(), DSL.schema(DSL.name(schema)), false); @@ -3326,6 +3352,32 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri return new DropTableImpl(configuration(), true, table, true); } + + + + + + + + + + + + + + + + + + + + + + + + + + @Override public org.jooq.DropViewFinalStep dropView(@Stringly.Name String view) { return new DropViewImpl(configuration(), DSL.table(DSL.name(view)), false); diff --git a/jOOQ/src/main/java/org/jooq/impl/Digits.java b/jOOQ/src/main/java/org/jooq/impl/Digits.java index a26e5e259d..862e9ba640 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Digits.java +++ b/jOOQ/src/main/java/org/jooq/impl/Digits.java @@ -100,7 +100,7 @@ extends else if (t.getType() == Long.class) ctx.visit(DSL.lpad(DSL.abs(value).cast(VARCHAR(DefaultDataType.LONG_PRECISION)), inline(DefaultDataType.LONG_PRECISION), inline("0"))); else if (t.scaleDefined()) - ctx.visit(DSL.lpad(DSL.abs(value.mul(inline(java.math.BigDecimal.TEN.pow(t.scale())))).cast(VARCHAR(t.precision())), inline(t.precision()), inline("0"))); + ctx.visit(DSL.lpad(DSL.abs(value.mul(inline(java.math.BigDecimal.TEN.pow(t.scale())))).cast(t.scale(0)).cast(VARCHAR(t.precision())), inline(t.precision()), inline("0"))); else ctx.visit(DSL.lpad(DSL.abs(value).cast(VARCHAR(t.precision())), inline(t.precision()), inline("0"))); } diff --git a/jOOQ/src/main/java/org/jooq/impl/DropTriggerImpl.java b/jOOQ/src/main/java/org/jooq/impl/DropTriggerImpl.java new file mode 100644 index 0000000000..7b0dded612 --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/impl/DropTriggerImpl.java @@ -0,0 +1,109 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Other licenses: + * ----------------------------------------------------------------------------- + * Commercial licenses for this work are available. These replace the above + * ASL 2.0 and offer limited warranties, support, maintenance, and commercial + * database integrations. + * + * For more information, please visit: http://www.jooq.org/licenses + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +package org.jooq.impl; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/Keywords.java b/jOOQ/src/main/java/org/jooq/impl/Keywords.java index e93f714743..88f4f0b85f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Keywords.java +++ b/jOOQ/src/main/java/org/jooq/impl/Keywords.java @@ -142,6 +142,7 @@ final class Keywords { static final Keyword K_DROP_SCHEMA = keyword("drop schema"); static final Keyword K_DROP_TABLE = keyword("drop table"); static final Keyword K_DROP_VIEW = keyword("drop view"); + static final Keyword K_EACH = keyword("each"); static final Keyword K_ELEMENTS = keyword("elements"); static final Keyword K_ELSE = keyword("else"); static final Keyword K_ELSEIF = keyword("elseif"); @@ -171,7 +172,7 @@ final class Keywords { static final Keyword K_FETCH_FIRST = keyword("fetch first"); static final Keyword K_FETCH_NEXT = keyword("fetch next"); static final Keyword K_FILTER = keyword("filter"); - static final Keyword K_FINAL_TABLE = keyword("final table"); + static final Keyword K_FINAL = keyword("final"); static final Keyword K_FIRST = keyword("first"); static final Keyword K_FOLLOWING = keyword("following"); static final Keyword K_FOR = keyword("for"); @@ -208,6 +209,7 @@ final class Keywords { static final Keyword K_INLINE = keyword("inline"); static final Keyword K_INNER_JOIN = keyword("inner join"); static final Keyword K_INSERT = keyword("insert"); + static final Keyword K_INSTEAD = keyword("instead"); static final Keyword K_INT = keyword("int"); static final Keyword K_INTERVAL = keyword("interval"); static final Keyword K_INTO = keyword("into"); @@ -252,7 +254,7 @@ final class Keywords { static final Keyword K_MONTH = keyword("month"); static final Keyword K_MULTISET = keyword("multiset"); static final Keyword K_NAME = keyword("name"); - static final Keyword K_NEW_TABLE = keyword("new table"); + static final Keyword K_NEW = keyword("new"); static final Keyword K_NEXTVAL = keyword("nextval"); static final Keyword K_NEXT_VALUE_FOR = keyword("next value for"); static final Keyword K_NO = keyword("no"); @@ -271,7 +273,7 @@ final class Keywords { static final Keyword K_NVARCHAR = keyword("nvarchar"); static final Keyword K_OF = keyword("of"); static final Keyword K_OFFSET = keyword("offset"); - static final Keyword K_OLD_TABLE = keyword("old table"); + static final Keyword K_OLD = keyword("old"); static final Keyword K_ON = keyword("on"); static final Keyword K_ON_COMMIT_DELETE_ROWS = keyword("on commit delete rows"); static final Keyword K_ON_COMMIT_DROP = keyword("on commit drop"); @@ -312,6 +314,7 @@ final class Keywords { static final Keyword K_RECURSIVE = keyword("recursive"); static final Keyword K_REF = keyword("ref"); static final Keyword K_REFERENCES = keyword("references"); + static final Keyword K_REFERENCING = keyword("referencing"); static final Keyword K_REGEXP = keyword("regexp"); static final Keyword K_RENAME = keyword("rename"); static final Keyword K_RENAME_COLUMN = keyword("rename column"); @@ -376,6 +379,7 @@ final class Keywords { static final Keyword K_TOP = keyword("top"); static final Keyword K_TRAILING = keyword("trailing"); static final Keyword K_TRIM = keyword("trim"); + static final Keyword K_TRIGGER = keyword("trigger"); static final Keyword K_TRUE = keyword("true"); static final Keyword K_TRUNCATE_TABLE = keyword("truncate table"); static final Keyword K_TYPE = keyword("type"); diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 4d63322fe9..9016f38887 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -2721,12 +2721,15 @@ final class ParserContext { return parseDropTable(false); else if (parseKeywordIf("TEMPORARY TABLE")) return parseDropTable(true); + else if (parseKeywordIf("TRIGGER") && requireProEdition()) + + + + ; else if (parseKeywordIf("TYPE")) return parseDropType(); else if (parseKeywordIf("TABLESPACE")) throw notImplemented("DROP TABLESPACE"); - else if (parseKeywordIf("TRIGGER")) - throw notImplemented("DROP TRIGGER", "https://github.com/jOOQ/jOOQ/issues/6956"); break; @@ -4891,6 +4894,20 @@ final class ParserContext { return s2; } + + + + + + + + + + + + + + private final DDLQuery parseDropType() { boolean ifExists = parseKeywordIf("IF EXISTS"); List typeNames = parseIdentifiers();