[jOOQ/jOOQ#13078] Add internal Tools.CONFIG as a convenience for Tools.CTX.configuration()

This commit is contained in:
Lukas Eder 2022-02-16 08:36:47 +01:00
parent 4e20c95e33
commit 353a1b415c
9 changed files with 25 additions and 19 deletions

View File

@ -38,7 +38,7 @@
package org.jooq.impl;
import static org.jooq.Nullability.NOT_NULL;
import static org.jooq.impl.Tools.CTX;
import static org.jooq.impl.Tools.CONFIG;
import org.jooq.CharacterSet;
import org.jooq.Collation;
@ -96,7 +96,7 @@ abstract class AbstractDataTypeX<T> extends AbstractDataType<T> {
@Override
public final DataType<T> readonly(boolean r) {
if (r && !CTX.configuration().commercial())
if (r && !CONFIG.commercial())
logGeneratedAlwaysAs.info("Readonly columns", "Readonly columns are a commercial only jOOQ feature. If you wish to profit from this feature, please upgrade to the jOOQ Professional Edition");
return construct(
@ -118,7 +118,7 @@ abstract class AbstractDataTypeX<T> extends AbstractDataType<T> {
@Override
public final DataType<T> generatedAlwaysAs(Field<T> g) {
if (g != null && !CTX.configuration().commercial())
if (g != null && !CONFIG.commercial())
logGeneratedAlwaysAs.info("Computed columns", "Computed columns are a commercial only jOOQ feature. If you wish to profit from this feature, please upgrade to the jOOQ Professional Edition");
return construct(
@ -138,7 +138,7 @@ abstract class AbstractDataTypeX<T> extends AbstractDataType<T> {
@Override
public final DataType<T> generationOption(GenerationOption g) {
if (g != null && !CTX.configuration().commercial())
if (g != null && !CONFIG.commercial())
logGeneratedAlwaysAs.info("Computed columns", "Computed columns are a commercial only jOOQ feature. If you wish to profit from this feature, please upgrade to the jOOQ Professional Edition");
return construct(

View File

@ -38,7 +38,7 @@
package org.jooq.impl;
import static org.jooq.impl.Tools.CTX;
import static org.jooq.impl.Tools.CONFIG;
import java.io.IOException;
import java.io.ObjectInputStream;
@ -67,7 +67,7 @@ abstract class AbstractQueryPart implements QueryPartInternal {
// -------------------------------------------------------------------------
Configuration configuration() {
return CTX.configuration();
return CONFIG;
}
// -------------------------------------------------------------------------

View File

@ -37,6 +37,7 @@
*/
package org.jooq.impl;
import static org.jooq.impl.Tools.CONFIG;
import static org.jooq.impl.Tools.CTX;
import org.jooq.CharacterSet;
@ -120,7 +121,7 @@ final class ArrayDataType<T> extends DefaultDataType<T[]> {
@Override
public final String getTypeName() {
return getTypeName(CTX.configuration());
return getTypeName(CONFIG);
}
@Override
@ -131,7 +132,7 @@ final class ArrayDataType<T> extends DefaultDataType<T[]> {
@Override
public final String getCastTypeName() {
return getCastTypeName(CTX.configuration());
return getCastTypeName(CONFIG);
}
@Override

View File

@ -141,6 +141,7 @@ import static org.jooq.impl.SQLDataType.TIME;
import static org.jooq.impl.SQLDataType.TIMESTAMP;
import static org.jooq.impl.SQLDataType.VARBINARY;
import static org.jooq.impl.SQLDataType.VARCHAR;
import static org.jooq.impl.Tools.CTX;
import static org.jooq.impl.Tools.apply;
import static org.jooq.impl.Tools.asInt;
import static org.jooq.impl.Tools.attachRecords;

View File

@ -37,6 +37,7 @@
*/
package org.jooq.impl;
import static org.jooq.impl.Tools.CONFIG;
import static org.jooq.impl.Tools.CTX;
import static org.jooq.impl.Tools.configuration;
import static org.jooq.impl.Tools.nullSafe;
@ -489,7 +490,7 @@ public final class Internal {
* Whether this is a commercial edition of jOOQ.
*/
public static final boolean commercial() {
return CTX.configuration().commercial();
return CONFIG.commercial();
}
/**
@ -497,7 +498,7 @@ public final class Internal {
* if not.
*/
public static final boolean commercial(Supplier<String> logMessage) {
return CTX.configuration().commercial(logMessage);
return CONFIG.commercial(logMessage);
}
/**
@ -505,7 +506,7 @@ public final class Internal {
* a message, if not.
*/
public static final void requireCommercial(Supplier<String> logMessage) throws DataAccessException {
CTX.configuration().requireCommercial(logMessage);
CONFIG.requireCommercial(logMessage);
}

View File

@ -39,7 +39,7 @@ package org.jooq.impl;
import static java.util.Comparator.comparing;
import static java.util.stream.Collectors.toList;
import static org.jooq.impl.Tools.CTX;
import static org.jooq.impl.Tools.CONFIG;
import static org.jooq.impl.Tools.newRecord;
import java.util.List;
@ -148,10 +148,10 @@ final class MultisetDataType<R extends Record> extends DefaultDataType<Result<R>
// [#3884] TODO: Move this logic into JSONReader to make it more generally useful
if (object instanceof List) { List l = (List) object;
ResultImpl<R> result = new ResultImpl<>(CTX.configuration(), row);
ResultImpl<R> result = new ResultImpl<>(CONFIG, row);
for (Object record : l)
result.add(newRecord(true, recordType, row, CTX.configuration())
result.add(newRecord(true, recordType, row, CONFIG)
.operate(r -> {
// [#12014] TODO: Fix this and remove workaround
@ -170,7 +170,7 @@ final class MultisetDataType<R extends Record> extends DefaultDataType<Result<R>
return result;
}
else if (object == null)
return new ResultImpl<>(CTX.configuration(), row);
return new ResultImpl<>(CONFIG, row);
else
return super.convert(object);
}

View File

@ -435,6 +435,7 @@ import static org.jooq.impl.SQLDataType.VARBINARY;
import static org.jooq.impl.SQLDataType.VARCHAR;
import static org.jooq.impl.SelectQueryImpl.EMULATE_SELECT_INTO_AS_CTAS;
import static org.jooq.impl.SelectQueryImpl.NO_SUPPORT_FOR_UPDATE_OF_FIELDS;
import static org.jooq.impl.Tools.CONFIG;
import static org.jooq.impl.Tools.CTX;
import static org.jooq.impl.Tools.EMPTY_BYTE;
import static org.jooq.impl.Tools.EMPTY_COLLECTION;
@ -13875,7 +13876,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
}
IgnoreQuery(String sql) {
super(CTX.configuration());
super(CONFIG);
this.sql = sql;
}

View File

@ -39,6 +39,7 @@ package org.jooq.impl;
import static java.util.Comparator.comparing;
import static java.util.stream.Collectors.toList;
import static org.jooq.impl.Tools.CONFIG;
import static org.jooq.impl.Tools.CTX;
import static org.jooq.impl.Tools.newRecord;
import static org.jooq.impl.Tools.recordType;
@ -147,7 +148,7 @@ final class RecordDataType<R extends Record> extends DefaultDataType<R> {
// [#12116] TODO: Move this logic into JSONReader to make it more generally useful
if (object instanceof Record || object instanceof Map || object instanceof List) {
return newRecord(true, getRecordType(), row, CTX.configuration())
return newRecord(true, getRecordType(), row, CONFIG)
.operate(r -> {
// [#12014] TODO: Fix this and remove workaround

View File

@ -1288,7 +1288,7 @@ final class Tools {
Converter<T, U> result = configuration(configuration).converterProvider().provide(tType, uType);
if (result == null)
result = CTX.configuration().converterProvider().provide(tType, uType);
result = CONFIG.converterProvider().provide(tType, uType);
// [#11823] [#12208] The new ad-hoc conversion API tries to avoid the Class<U> literal
// meaning there are perfectly reasonable API usages when using MULTISET
@ -3381,7 +3381,8 @@ final class Tools {
static final DSLContext CTX = DSL.using(new DefaultConfiguration());
static final Configuration CONFIG = new DefaultConfiguration();
static final DSLContext CTX = DSL.using(CONFIG);
/**
* A possibly inefficient but stable way to generate an alias for any