From f5235455e73e7f8f060aa02b454cc1fbbecb5bd3 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 6 Sep 2012 23:05:53 +0200 Subject: [PATCH] [#1802] Result.into(Table) doesn't work correctly, if the same field name appears twice in Result - Added integration test --- .../org/jooq/test/_/testcases/FetchTests.java | 25 +++++++++++++++++++ .../src/org/jooq/test/jOOQAbstractTest.java | 5 ++++ 2 files changed, 30 insertions(+) diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java index fdb8322280..0e980d093d 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java @@ -973,6 +973,31 @@ extends BaseTest result = + create().select() + .from(TBook()) + .join(TAuthor()).on(TBook_AUTHOR_ID().eq(TAuthor_ID())) + .orderBy(TBook_ID()) + .fetch(); + + Result a = result.into(TAuthor()); + Result b = result.into(TBook()); + + assertEquals(4, a.size()); + assertEquals(4, b.size()); + + assertEquals(BOOK_AUTHOR_IDS, a.getValues(TAuthor_ID())); + assertEquals(BOOK_FIRST_NAMES, a.getValues(TAuthor_FIRST_NAME())); + assertEquals(BOOK_LAST_NAMES, a.getValues(TAuthor_LAST_NAME())); + assertTrue(TAuthor().getRecordType().isAssignableFrom(a.get(0).getClass())); + + assertEquals(BOOK_IDS, b.getValues(TBook_ID())); + assertEquals(BOOK_TITLES, b.getValues(TBook_TITLE())); + assertTrue(TBook().getRecordType().isAssignableFrom(a.get(0).getClass())); + } + @Test public void testFetchIntoCustomTable() throws Exception { diff --git a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java index 4e06758c7f..0dcf2ed35c 100644 --- a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java +++ b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java @@ -1067,6 +1067,11 @@ public abstract class jOOQAbstractTest< new FetchTests(this).testFetchIntoTable(); } + @Test + public void testFetchIntoTables() throws Exception { + new FetchTests(this).testFetchIntoTables(); + } + @Test public void testFetchIntoCustomTable() throws Exception { new FetchTests(this).testFetchIntoCustomTable();