[jOOQ/jOOQ#16266] Avoid constructing DSL.name() for constant internal names

This commit is contained in:
Lukas Eder 2024-02-12 12:51:32 +01:00
parent 2dbcd8a8f4
commit 1e5fb6f0bd
5 changed files with 14 additions and 8 deletions

View File

@ -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;

View File

@ -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<Boolean> implements Condi
private static final Clause[] CLAUSES = { CONDITION };
AbstractCondition() {
super(DSL.name("condition"), SQLDataType.BOOLEAN);
super(N_CONDITION, SQLDataType.BOOLEAN);
}
@Override

View File

@ -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<R extends Record> extends AbstractTable<R> implements
@Override
final FieldsImpl<R> 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<R extends Record> extends AbstractTable<R> 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));
}

View File

@ -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<Boolean> implements Cond
}
ConditionProviderImpl(Condition condition) {
super(DSL.name("condition"), SQLDataType.BOOLEAN);
super(N_CONDITION, SQLDataType.BOOLEAN);
this.condition = condition;
}

View File

@ -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<R extends Record> extends AbstractField<Result<R>> implemen
switch (emulateMultiset(ctx.configuration())) {
case JSON: {
List<Field<?>> 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<R extends Record> extends AbstractField<Result<R>> implemen
case JSONB: {
List<Field<?>> 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<R extends Record> extends AbstractField<Result<R>> implemen
case XML: {
List<Field<?>> 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()) {