From b61744062809e0a40d4370b84e5acb2ac4fd7f72 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Fri, 2 Feb 2018 16:00:56 +0100 Subject: [PATCH] [#7115] Allow usage of derived table as aliased parameter of TableImpl constructor --- jOOQ-manual/src/main/resources/org/jooq/web/ABOUT.txt | 1 + jOOQ/src/main/java/org/jooq/impl/TableImpl.java | 11 +++++++---- jOOQ/src/main/resources/META-INF/ABOUT.txt | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/ABOUT.txt b/jOOQ-manual/src/main/resources/org/jooq/web/ABOUT.txt index e752f6ecf7..d3638555a2 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/ABOUT.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/ABOUT.txt @@ -51,6 +51,7 @@ Authors and contributors of jOOQ or parts of jOOQ in alphabetical order: - Timur Shaidullin - Thomas Darimont - Tsukasa Kitachi +- Victor Bronstein - Victor Z. Peng - Vladimir Kulev - Vladimir Vinogradov diff --git a/jOOQ/src/main/java/org/jooq/impl/TableImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableImpl.java index 7bf35e7127..3ca85792da 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableImpl.java @@ -154,12 +154,15 @@ public class TableImpl extends AbstractTable { this.fields = new Fields(); if (aliased != null) { + + // [#7115] Allow for aliased expressions (e.g. derived tables) to be passed to TableImpl + // in order to support "type safe views" Alias> existingAlias = Tools.alias(aliased); - if (existingAlias != null) { - alias = existingAlias; - } else { + + if (existingAlias != null) + alias = new Alias>(existingAlias.wrapped, name, existingAlias.fieldAliases, existingAlias.wrapInParentheses); + else alias = new Alias>(aliased, name); - } } else alias = null; diff --git a/jOOQ/src/main/resources/META-INF/ABOUT.txt b/jOOQ/src/main/resources/META-INF/ABOUT.txt index e971993a70..d0eb994a84 100644 --- a/jOOQ/src/main/resources/META-INF/ABOUT.txt +++ b/jOOQ/src/main/resources/META-INF/ABOUT.txt @@ -51,6 +51,7 @@ Authors and contributors of jOOQ or parts of jOOQ in alphabetical order: - Timur Shaidullin - Thomas Darimont - Tsukasa Kitachi +- Victor Bronstein - Victor Z. Peng - Vladimir Kulev - Vladimir Vinogradov