diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java index d4919c45f5..97ffeea544 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java @@ -38,6 +38,7 @@ package org.jooq.test._.testcases; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNull; import static org.jooq.impl.DSL.select; +import static org.jooq.impl.DSL.selectFrom; import static org.jooq.impl.DSL.selectOne; import static org.jooq.impl.DSL.selectZero; import static org.jooq.impl.DSL.table; @@ -189,4 +190,16 @@ extends BaseTest b = TBookToBookStore().as("b"); + + assertEquals(2, create().delete(b).where(b.field(TBookToBookStore_BOOK_ID()).eq(1)).execute()); + assertEquals(4, create().fetchCount(selectFrom(TBookToBookStore()))); + + assertEquals(4, create().delete(b).execute()); + assertEquals(0, create().fetchCount(selectFrom(TBookToBookStore()))); + } } diff --git a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java index b5c1621492..ebe5fd1433 100644 --- a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java +++ b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java @@ -1800,6 +1800,11 @@ public abstract class jOOQAbstractTest< new AliasTests(this).testAliasingJoins(); } + @Test + public void testAliasingDelete() throws Exception { + new AliasTests(this).testAliasingDelete(); + } + @Test public void testAliasingPivot() throws Exception { new ExoticTests(this).testAliasingPivot(); diff --git a/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java index c7fff895ca..9ac1f5122e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java @@ -99,8 +99,12 @@ class DeleteQueryImpl extends AbstractQuery implements DeleteQ @Override public final void toSQL(RenderContext context) { + boolean declare = context.declareTables(); + context.keyword("delete from "); - context.sql(getFrom()); + context.declareTables(true) + .sql(getFrom()) + .declareTables(declare); if (!(getWhere() instanceof TrueCondition)) { context.formatSeparator()