From c47e9e95bc3415f3014fae3acbc2faf808ebdf72 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 26 Mar 2014 11:29:47 +0100 Subject: [PATCH] [#3156] "Column ambiguously defined" when emulating derived column lists with duplicate column names --- .../org/jooq/test/_/testcases/AliasTests.java | 22 +++++++++++++++++++ .../src/org/jooq/test/jOOQAbstractTest.java | 5 +++++ 2 files changed, 27 insertions(+) diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java index 33070dc386..f82fcd7340 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/AliasTests.java @@ -40,6 +40,7 @@ */ package org.jooq.test._.testcases; +import static org.jooq.impl.DSL.fieldByName; import static org.jooq.impl.DSL.one; import static org.jooq.impl.DSL.select; import static org.jooq.impl.DSL.selectFrom; @@ -111,6 +112,27 @@ extends BaseTest result = + create().select() + .from( + table( + select(TBook_ID(), TAuthor_ID()) + .from(TBook()) + .join(TAuthor()).on(TBook_AUTHOR_ID().eq(TAuthor_ID())) + ).as("t", "a", "b")) + .orderBy(fieldByName("a")) + .fetch(); + + assertEquals(4, result.size()); + assertEquals(BOOK_IDS, result.getValues("a")); + assertEquals(BOOK_AUTHOR_IDS, result.getValues("b")); + } + @SuppressWarnings("unchecked") @Test public void testAliasingTablesAndFields() throws Exception { diff --git a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java index cd4c37dc70..7ad6b485c0 100644 --- a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java +++ b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java @@ -2086,6 +2086,11 @@ public abstract class jOOQAbstractTest< new AliasTests(this).testAliasingSimple(); } + @Test + public void testDerivedColumnListsWithAmbiguousColumnNames() throws Exception { + new AliasTests(this).testDerivedColumnListsWithAmbiguousColumnNames(); + } + @Test public void testAliasingTablesAndFields() throws Exception { new AliasTests(this).testAliasingTablesAndFields();