[jOOQ/jOOQ#9985] Refactored Tools.fieldNames and Tools.tableNames

This commit is contained in:
Lukas Eder 2020-03-24 11:21:29 +01:00
parent e8ee1bf94d
commit 7e8b31c389
5 changed files with 17 additions and 34 deletions

View File

@ -74,6 +74,7 @@ import static org.jooq.impl.DSL.falseCondition;
import static org.jooq.impl.DSL.field;
import static org.jooq.impl.DSL.select;
import static org.jooq.impl.Keywords.K_AS;
import static org.jooq.impl.Tools.renderUnqualifiedNames;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_AS_REQUIRED;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_UNALIAS_ALIASED_EXPRESSIONS;
@ -263,7 +264,7 @@ final class Alias<Q extends QueryPart> extends AbstractQueryPart {
ArrayTable table = (ArrayTable) o;
context.sql('(');
Tools.fieldNames(context, table.fields());
renderUnqualifiedNames(context, table.fields());
context.sql(')');
}

View File

@ -97,6 +97,7 @@ import static org.jooq.impl.Keywords.K_ON;
import static org.jooq.impl.Keywords.K_PARTITION_BY;
import static org.jooq.impl.Keywords.K_USING;
import static org.jooq.impl.Names.N_JOIN;
import static org.jooq.impl.Tools.renderUnqualifiedNames;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_COLLECT_SEMI_ANTI_JOIN;
import static org.jooq.impl.Tools.DataKey.DATA_COLLECTED_SEMI_ANTI_JOIN;
@ -465,7 +466,7 @@ implements
.start(TABLE_JOIN_USING)
.visit(K_USING)
.sql(" (");
Tools.fieldNames(context, using);
renderUnqualifiedNames(context, using);
context.sql(')')
.end(TABLE_JOIN_USING);
}

View File

@ -77,6 +77,7 @@ import static org.jooq.impl.Keywords.K_WHEN;
import static org.jooq.impl.Keywords.K_WHERE;
import static org.jooq.impl.Keywords.K_WITH_PRIMARY_KEY;
import static org.jooq.impl.Tools.EMPTY_FIELD;
import static org.jooq.impl.Tools.renderUnqualifiedNames;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_WRAP_DERIVED_TABLES_IN_PARENTHESES;
import java.util.ArrayList;
@ -1375,12 +1376,12 @@ implements
.formatSeparator();
ctx.sql('(');
Tools.fieldNames(ctx, getUpsertFields());
renderUnqualifiedNames(ctx, getUpsertFields());
ctx.sql(')');
if (!getUpsertKeys().isEmpty()) {
ctx.sql(' ').visit(K_KEY).sql(" (");
Tools.fieldNames(ctx, getUpsertKeys());
renderUnqualifiedNames(ctx, getUpsertKeys());
ctx.sql(')');
}

View File

@ -134,6 +134,7 @@ import static org.jooq.impl.ScopeMarkers.BEFORE_FIRST_TOP_LEVEL_CTE;
import static org.jooq.impl.Tools.EMPTY_FIELD;
import static org.jooq.impl.Tools.fieldArray;
import static org.jooq.impl.Tools.hasAmbiguousNames;
import static org.jooq.impl.Tools.renderUnqualifiedNames;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_COLLECT_SEMI_ANTI_JOIN;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_INSERT_SELECT_WITHOUT_INSERT_COLUMN_LIST;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_NESTED_SET_OPERATIONS;
@ -865,7 +866,7 @@ final class SelectQueryImpl<R extends Record> extends AbstractResultQuery<R> imp
// Render the OF [table-names] clause
default:
Tools.tableNames(context, forLockOfTables);
renderUnqualifiedNames(context, forLockOfTables);
break;
}
}

View File

@ -230,6 +230,7 @@ import org.jooq.Field;
import org.jooq.JSON;
import org.jooq.JSONB;
import org.jooq.Name;
import org.jooq.Named;
import org.jooq.OrderField;
import org.jooq.Param;
// ...
@ -2756,49 +2757,27 @@ final class Tools {
* Render a list of names of the <code>NamedQueryParts</code> contained in
* this list.
*/
static final void fieldNames(Context<?> context, Fields<?> fields) {
fieldNames(context, list(fields.fields));
static final void renderUnqualifiedNames(Context<?> context, Fields<?> fields) {
renderUnqualifiedNames(context, list(fields.fields));
}
/**
* Render a list of names of the <code>NamedQueryParts</code> contained in
* this list.
*/
static final void fieldNames(Context<?> context, Field<?>... fields) {
fieldNames(context, list(fields));
static final void renderUnqualifiedNames(Context<?> context, Named... list) {
renderUnqualifiedNames(context, list(list));
}
/**
* Render a list of names of the <code>NamedQueryParts</code> contained in
* this list.
*/
static final void fieldNames(Context<?> context, Collection<? extends Field<?>> list) {
static final void renderUnqualifiedNames(Context<?> context, Collection<? extends Named> list) {
String separator = "";
for (Field<?> field : list) {
context.sql(separator).visit(field.getUnqualifiedName());
separator = ", ";
}
}
/**
* Render a list of names of the <code>NamedQueryParts</code> contained in
* this list.
*/
static final void tableNames(Context<?> context, Table<?>... list) {
tableNames(context, list(list));
}
/**
* Render a list of names of the <code>NamedQueryParts</code> contained in
* this list.
*/
static final void tableNames(Context<?> context, Collection<? extends Table<?>> list) {
String separator = "";
for (Table<?> table : list) {
context.sql(separator).visit(table.getUnqualifiedName());
for (Named named : list) {
context.sql(separator).visit(named.getUnqualifiedName());
separator = ", ";
}