From 1e5fb6f0bd81b402182995a6388bdfb88743fd7b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 12 Feb 2024 12:51:32 +0100 Subject: [PATCH] [jOOQ/jOOQ#16266] Avoid constructing DSL.name() for constant internal names --- .../main/java/org/jooq/impl/AbstractAutoAliasTable.java | 4 +++- jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java | 3 ++- jOOQ/src/main/java/org/jooq/impl/AliasedSelect.java | 5 +++-- .../src/main/java/org/jooq/impl/ConditionProviderImpl.java | 3 ++- jOOQ/src/main/java/org/jooq/impl/Multiset.java | 7 ++++--- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractAutoAliasTable.java b/jOOQ/src/main/java/org/jooq/impl/AbstractAutoAliasTable.java index a07379349e..e135aa17da 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractAutoAliasTable.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractAutoAliasTable.java @@ -37,6 +37,8 @@ */ package org.jooq.impl; +import static org.jooq.impl.Names.N_T; + import org.jooq.Context; import org.jooq.Name; import org.jooq.Record; @@ -63,7 +65,7 @@ implements } AbstractAutoAliasTable(Name alias, Name[] fieldAliases) { - super(TableOptions.expression(), alias != null ? alias : DSL.name("t")); + super(TableOptions.expression(), alias != null ? alias : N_T); this.alias = alias; this.fieldAliases = fieldAliases; diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java b/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java index a40d3ce3a6..5f6619e27f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractCondition.java @@ -44,6 +44,7 @@ import static org.jooq.Operator.XOR; import static org.jooq.impl.DSL.condition; import static org.jooq.impl.DSL.exists; import static org.jooq.impl.DSL.notExists; +import static org.jooq.impl.Names.N_CONDITION; import org.jooq.Clause; import org.jooq.Condition; @@ -61,7 +62,7 @@ abstract class AbstractCondition extends AbstractField implements Condi private static final Clause[] CLAUSES = { CONDITION }; AbstractCondition() { - super(DSL.name("condition"), SQLDataType.BOOLEAN); + super(N_CONDITION, SQLDataType.BOOLEAN); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/AliasedSelect.java b/jOOQ/src/main/java/org/jooq/impl/AliasedSelect.java index 3cb2f96a77..253afd2c37 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AliasedSelect.java +++ b/jOOQ/src/main/java/org/jooq/impl/AliasedSelect.java @@ -40,6 +40,7 @@ package org.jooq.impl; import static org.jooq.SQLDialect.DERBY; import static org.jooq.impl.DSL.selectFrom; import static org.jooq.impl.Names.NQ_SELECT; +import static org.jooq.impl.Names.N_T; import static org.jooq.impl.SubqueryCharacteristics.DERIVED_TABLE; import static org.jooq.impl.Tools.selectQueryImpl; import static org.jooq.impl.Tools.visitSubquery; @@ -108,7 +109,7 @@ final class AliasedSelect extends AbstractTable implements @Override final FieldsImpl fields0() { - return new FieldsImpl<>(query.asTable(DSL.name("t"), aliases).fields()); + return new FieldsImpl<>(query.asTable(N_T, aliases).fields()); } @Override @@ -133,7 +134,7 @@ final class AliasedSelect extends AbstractTable implements // actual derived table usage. // [#10521] TODO: Reuse avoidAliasPushdown here if (ctx.family() == DERBY && q != null && q.hasUnions()) - visitSubquery(ctx, selectFrom(query.asTable(DSL.name("t"), aliases)), DERIVED_TABLE, false); + visitSubquery(ctx, selectFrom(query.asTable(N_T, aliases)), DERIVED_TABLE, false); else ctx.data(DATA_SELECT_ALIASES, aliases, subquery ? c -> visitSubquery(c, query, DERIVED_TABLE, false) : c -> c.visit(query)); } diff --git a/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java b/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java index 108ffeeac8..902beaf86a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java @@ -39,6 +39,7 @@ package org.jooq.impl; import static org.jooq.impl.DSL.noCondition; +import static org.jooq.impl.Names.N_CONDITION; import java.util.Arrays; import java.util.Collection; @@ -68,7 +69,7 @@ final class ConditionProviderImpl extends AbstractField implements Cond } ConditionProviderImpl(Condition condition) { - super(DSL.name("condition"), SQLDataType.BOOLEAN); + super(N_CONDITION, SQLDataType.BOOLEAN); this.condition = condition; } diff --git a/jOOQ/src/main/java/org/jooq/impl/Multiset.java b/jOOQ/src/main/java/org/jooq/impl/Multiset.java index 07f7a4c84c..9fbaa18d81 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Multiset.java +++ b/jOOQ/src/main/java/org/jooq/impl/Multiset.java @@ -70,6 +70,7 @@ import static org.jooq.impl.Names.N_JSON_QUERY; import static org.jooq.impl.Names.N_MULTISET; import static org.jooq.impl.Names.N_RECORD; import static org.jooq.impl.Names.N_RESULT; +import static org.jooq.impl.Names.N_T; import static org.jooq.impl.SQLDataType.BLOB; import static org.jooq.impl.SQLDataType.CLOB; import static org.jooq.impl.SQLDataType.JSON; @@ -174,7 +175,7 @@ final class Multiset extends AbstractField> implemen switch (emulateMultiset(ctx.configuration())) { case JSON: { List> fields = select.getSelect(); - Table t = new AliasedSelect<>(select, true, false, FORCE_LIMIT_IN_DERIVED_TABLE.contains(ctx.dialect()), fieldNames(fields.size())).as(DSL.name("t"), (Name[]) null); + Table t = new AliasedSelect<>(select, true, false, FORCE_LIMIT_IN_DERIVED_TABLE.contains(ctx.dialect()), fieldNames(fields.size())).as(N_T, (Name[]) null); switch (ctx.family()) { @@ -244,7 +245,7 @@ final class Multiset extends AbstractField> implemen case JSONB: { List> fields = select.getSelect(); - Table t = new AliasedSelect<>(select, true, false, FORCE_LIMIT_IN_DERIVED_TABLE.contains(ctx.dialect()), fieldNames(fields.size())).as(DSL.name("t"), (Name[]) null); + Table t = new AliasedSelect<>(select, true, false, FORCE_LIMIT_IN_DERIVED_TABLE.contains(ctx.dialect()), fieldNames(fields.size())).as(N_T, (Name[]) null); switch (ctx.family()) { @@ -315,7 +316,7 @@ final class Multiset extends AbstractField> implemen case XML: { List> fields = select.getSelect(); - Table t = new AliasedSelect<>(select, true, false, FORCE_LIMIT_IN_DERIVED_TABLE.contains(ctx.dialect()), fieldNames(fields.size())).as(DSL.name("t"), (Name[]) null); + Table t = new AliasedSelect<>(select, true, false, FORCE_LIMIT_IN_DERIVED_TABLE.contains(ctx.dialect()), fieldNames(fields.size())).as(N_T, (Name[]) null); switch (ctx.family()) {