Search in sources :

Example 1 with Settings

use of org.jooq.conf.Settings in project unipop by unipop-graph.

the class ContextManager method reloadContexts.

private void reloadContexts() throws IOException {
    SQLDialect dialect = SQLDialect.valueOf(this.conf.getString("sqlDialect"));
    BasicDataSource ds = new BasicDataSource();
    ds.setUrl(new ObjectMapper().readValue(conf.getJSONArray("address").toString(), List.class).get(0).toString());
    ds.setDriverClassName(conf.getString("driver"));
    String user = conf.optString("user");
    String password = conf.optString("password");
    if (!user.isEmpty())
        ds.setUsername(user);
    if (!password.isEmpty())
        ds.setPassword(password);
    Settings settings = new Settings();
    settings.setRenderNameStyle(RenderNameStyle.AS_IS);
    Configuration conf = new DefaultConfiguration().set(ds).set(dialect).set(settings).set(new DefaultExecuteListenerProvider(new TimingExecuterListener()));
    this.context = DSL.using(conf);
}
Also used : DefaultConfiguration(org.jooq.impl.DefaultConfiguration) DefaultExecuteListenerProvider(org.jooq.impl.DefaultExecuteListenerProvider) List(java.util.List) DefaultConfiguration(org.jooq.impl.DefaultConfiguration) BasicDataSource(org.apache.commons.dbcp.BasicDataSource) ObjectMapper(org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper) Settings(org.jooq.conf.Settings)

Example 2 with Settings

use of org.jooq.conf.Settings in project atlasdb by palantir.

the class JdbcKeyValueService method create.

public static JdbcKeyValueService create(JdbcKeyValueConfiguration config) {
    JdbcDataSourceConfiguration dataSourceConfig = config.getDataSourceConfig();
    SQLDialect sqlDialect = SQLDialect.valueOf(dataSourceConfig.getSqlDialect());
    DataSource dataSource = dataSourceConfig.createDataSource();
    Settings settings = new Settings();
    settings.setRenderNameStyle(RenderNameStyle.AS_IS);
    final JdbcKeyValueService kvs = new JdbcKeyValueService(settings, sqlDialect, dataSource, config.getTablePrefix(), config.getRowBatchSize(), config.getBatchSizeForReads(), config.getBatchSizeForMutations());
    kvs.run((Function<DSLContext, Void>) ctx -> {
        String partialSql = ctx.createTable(kvs.METADATA_TABLE).column(TABLE_NAME, VARCHAR.nullable(false)).column(METADATA, BLOB.nullable(false)).getSQL();
        int endIndex = partialSql.lastIndexOf(')');
        String fullSql = partialSql.substring(0, endIndex) + "," + " CONSTRAINT pk_" + kvs.METADATA_TABLE.getName() + " PRIMARY KEY (" + TABLE_NAME.getName() + ")" + partialSql.substring(endIndex);
        try {
            ctx.execute(fullSql);
        } catch (DataAccessException e) {
            kvs.handleTableCreationException(e);
        }
        return null;
    });
    return kvs;
}
Also used : ArrayListMultimap(com.google.common.collect.ArrayListMultimap) DSL(org.jooq.impl.DSL) DSL.field(org.jooq.impl.DSL.field) CheckAndSetRequest(com.palantir.atlasdb.keyvalue.api.CheckAndSetRequest) Condition(org.jooq.Condition) Record1(org.jooq.Record1) SelectField(org.jooq.SelectField) Map(java.util.Map) TableReference(com.palantir.atlasdb.keyvalue.api.TableReference) SQLDialect(org.jooq.SQLDialect) CandidateCellForSweeping(com.palantir.atlasdb.keyvalue.api.CandidateCellForSweeping) Select(org.jooq.Select) AtlasDbConstants(com.palantir.atlasdb.AtlasDbConstants) Cell(com.palantir.atlasdb.keyvalue.api.Cell) T1_TIMESTAMP(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.T1_TIMESTAMP) Set(java.util.Set) PutBatch(com.palantir.atlasdb.keyvalue.jdbc.impl.PutBatch) T1_COL_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.T1_COL_NAME) Result(org.jooq.Result) StandardCharsets(java.nio.charset.StandardCharsets) InsufficientConsistencyException(com.palantir.atlasdb.keyvalue.api.InsufficientConsistencyException) KeyAlreadyExistsException(com.palantir.atlasdb.keyvalue.api.KeyAlreadyExistsException) AbstractKeyValueService(com.palantir.atlasdb.keyvalue.impl.AbstractKeyValueService) ColumnRangeSelection(com.palantir.atlasdb.keyvalue.api.ColumnRangeSelection) Iterables(com.google.common.collect.Iterables) METADATA(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.METADATA) DSL.row(org.jooq.impl.DSL.row) ClusterAvailabilityStatus(com.palantir.atlasdb.keyvalue.api.ClusterAvailabilityStatus) R_TIMESTAMP(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.R_TIMESTAMP) SQLException(java.sql.SQLException) T2_MAX_TIMESTAMP(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.T2_MAX_TIMESTAMP) Lists(com.google.common.collect.Lists) VARBINARY(org.jooq.impl.SQLDataType.VARBINARY) RANGE_TABLE(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.RANGE_TABLE) VARCHAR(org.jooq.impl.SQLDataType.VARCHAR) ImmutableMultimap(com.google.common.collect.ImmutableMultimap) Record(org.jooq.Record) UnsignedBytes(com.google.common.primitives.UnsignedBytes) JdbcDataSourceConfiguration(com.palantir.atlasdb.jdbc.config.JdbcDataSourceConfiguration) T1_ROW_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.T1_ROW_NAME) BaseEncoding(com.google.common.io.BaseEncoding) COL_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.COL_NAME) MoreObjects(com.google.common.base.MoreObjects) Throwables(com.google.common.base.Throwables) IOException(java.io.IOException) BLOB(org.jooq.impl.SQLDataType.BLOB) MultiTimestampPutBatch(com.palantir.atlasdb.keyvalue.jdbc.impl.MultiTimestampPutBatch) RowResult(com.palantir.atlasdb.keyvalue.api.RowResult) DSL.table(org.jooq.impl.DSL.table) VALUE(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.VALUE) GetCandidateCellsForSweepingShim(com.palantir.atlasdb.keyvalue.impl.GetCandidateCellsForSweepingShim) TEMP_TABLE_1(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.TEMP_TABLE_1) RowN(org.jooq.RowN) RangeRequests(com.palantir.atlasdb.keyvalue.api.RangeRequests) TEMP_TABLE_2(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.TEMP_TABLE_2) Row(org.jooq.Row) Connection(java.sql.Connection) TABLE_VALUES(org.jooq.Clause.TABLE_VALUES) ATLAS_TABLE(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.ATLAS_TABLE) BatchColumnRangeSelection(com.palantir.atlasdb.keyvalue.api.BatchColumnRangeSelection) ClosableIterator(com.palantir.common.base.ClosableIterator) Table(org.jooq.Table) TABLE_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.TABLE_NAME) SelectOffsetStep(org.jooq.SelectOffsetStep) RowColumnRangeIterator(com.palantir.atlasdb.keyvalue.api.RowColumnRangeIterator) KeyValueServices(com.palantir.atlasdb.keyvalue.impl.KeyValueServices) A_TIMESTAMP(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.A_TIMESTAMP) RenderContext(org.jooq.RenderContext) HashMultimap(com.google.common.collect.HashMultimap) DSLContext(org.jooq.DSLContext) Function(com.google.common.base.Function) ImmutableSet(com.google.common.collect.ImmutableSet) ImmutableMap(com.google.common.collect.ImmutableMap) AbstractPagingIterable(com.palantir.util.paging.AbstractPagingIterable) Row3(org.jooq.Row3) Collection(java.util.Collection) SingleTimestampPutBatch(com.palantir.atlasdb.keyvalue.jdbc.impl.SingleTimestampPutBatch) ROW_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.ROW_NAME) T1_VALUE(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.T1_VALUE) NavigableMap(java.util.NavigableMap) Sets(com.google.common.collect.Sets) ColumnSelection(com.palantir.atlasdb.keyvalue.api.ColumnSelection) RangeRequest(com.palantir.atlasdb.keyvalue.api.RangeRequest) List(java.util.List) InsertValuesStep4(org.jooq.InsertValuesStep4) CandidateCellForSweepingRequest(com.palantir.atlasdb.keyvalue.api.CandidateCellForSweepingRequest) Entry(java.util.Map.Entry) Query(org.jooq.Query) SortedMap(java.util.SortedMap) T2_COL_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.T2_COL_NAME) A_COL_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.A_COL_NAME) HashMap(java.util.HashMap) Hashing(com.google.common.hash.Hashing) Multimap(com.google.common.collect.Multimap) BIGINT(org.jooq.impl.SQLDataType.BIGINT) TableLike(org.jooq.TableLike) ImmutableList(com.google.common.collect.ImmutableList) A_VALUE(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.A_VALUE) DataSource(javax.sql.DataSource) R_ROW_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.R_ROW_NAME) ClosableIterators(com.palantir.common.base.ClosableIterators) DataAccessException(org.jooq.exception.DataAccessException) Value(com.palantir.atlasdb.keyvalue.api.Value) Settings(org.jooq.conf.Settings) MAX_TIMESTAMP(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.MAX_TIMESTAMP) TIMESTAMP(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.TIMESTAMP) A_ROW_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.A_ROW_NAME) TokenBackedBasicResultsPage(com.palantir.util.paging.TokenBackedBasicResultsPage) Maps(com.google.common.collect.Maps) T2_ROW_NAME(com.palantir.atlasdb.keyvalue.jdbc.impl.JdbcConstants.T2_ROW_NAME) KeyValueService(com.palantir.atlasdb.keyvalue.api.KeyValueService) Closeable(java.io.Closeable) SimpleTokenBackedResultsPage(com.palantir.util.paging.SimpleTokenBackedResultsPage) BatchBindStep(org.jooq.BatchBindStep) RenderNameStyle(org.jooq.conf.RenderNameStyle) SQLDialect(org.jooq.SQLDialect) DSLContext(org.jooq.DSLContext) JdbcDataSourceConfiguration(com.palantir.atlasdb.jdbc.config.JdbcDataSourceConfiguration) Settings(org.jooq.conf.Settings) DataAccessException(org.jooq.exception.DataAccessException) DataSource(javax.sql.DataSource)

Example 3 with Settings

use of org.jooq.conf.Settings in project collect by openforis.

the class DialectAwareJooqConfiguration method createConfiguration.

private static Configuration createConfiguration(ConnectionProvider connectionProvider) {
    SQLDialect dialect = getDialect(connectionProvider);
    Settings settings = new Settings();
    switch(dialect) {
        case SQLITE:
            settings.withRenderSchema(false);
            break;
        case H2:
            settings.setRenderNameStyle(RenderNameStyle.AS_IS);
            break;
        default:
    }
    DefaultConfiguration configuration = new DefaultConfiguration();
    configuration.setConnectionProvider(connectionProvider);
    configuration.setSettings(settings);
    configuration.setSQLDialect(dialect);
    return configuration;
}
Also used : SQLDialect(org.jooq.SQLDialect) Settings(org.jooq.conf.Settings)

Example 4 with Settings

use of org.jooq.conf.Settings in project jOOQ by jOOQ.

the class Example_3_3_PreparedStatements method run.

@Test
public void run() throws SQLException {
    Connection connection = connection();
    Tools.title("Distinguishing between static and prepared statements with JDBC");
    // 1% of the time
    try (Statement stmt = connection.createStatement()) {
        stmt.execute("SELECT * FROM AUTHOR");
    }
    // 99% of the time
    try (PreparedStatement stmt = connection.prepareStatement("SELECT * FROM AUTHOR")) {
        stmt.execute();
    }
    Tools.title("Distinguishing between static and prepared statements with jOOQ");
    // 1% of the time
    System.out.println(DSL.using(connection, new Settings().withStatementType(StatementType.STATIC_STATEMENT)).fetch("SELECT * FROM AUTHOR"));
    // 99% of the time
    System.out.println(DSL.using(connection).fetch("SELECT * FROM AUTHOR"));
}
Also used : Statement(java.sql.Statement) PreparedStatement(java.sql.PreparedStatement) Connection(java.sql.Connection) PreparedStatement(java.sql.PreparedStatement) Settings(org.jooq.conf.Settings) Test(org.junit.Test)

Example 5 with Settings

use of org.jooq.conf.Settings in project jOOQ by jOOQ.

the class ParserCLI method interactiveMode.

private static final void interactiveMode(DSLContext ctx, Args a) {
    Scanner scan = new Scanner(System.in);
    System.out.print("> ");
    cliLoop: do {
        String line = scan.nextLine();
        // TODO: Allow reading history again using arrow keys
        // https://stackoverflow.com/q/572001/521799
        a.history.add(line);
        // [#12543] Avoid interpreting comments as commands
        boolean leadingSlash = line.matches("^/[^/*].*$");
        if (a.sql == null && leadingSlash) {
            if ("/q".equals(line) || "/quit".equals(line) || "/e".equals(line) || "/exit".equals(line)) {
                System.out.println("Bye");
                break cliLoop;
            } else if ("/?".equals(line) || "/h".equals(line) || "/help".equals(line))
                helpInteractive();
            else if ("/d".equals(line) || "/display".equals(line))
                displayArguments(a);
            else {
                Matcher matcher = FLAG.matcher(line);
                if (matcher.find()) {
                    String flag = matcher.group(1);
                    String arg = matcher.group(2);
                    if (flag != null) {
                        if ("f".equals(flag) || "formatted".equals(flag)) {
                            if (arg != null)
                                a.formatted = Boolean.parseBoolean(arg.toLowerCase());
                            displayFormatted(a);
                        } else if ("k".equals(flag) || "keyword".equals(flag))
                            parseInteractive(RenderKeywordCase.class, arg, e -> {
                                a.keywords = e;
                            }, () -> displayKeywords(a));
                        else if ("i".equals(flag) || "identifier".equals(flag))
                            parseInteractive(RenderNameCase.class, arg, e -> {
                                a.name = e;
                            }, () -> displayIdentifiers(a));
                        else if ("Q".equals(flag) || "quoted".equals(flag))
                            parseInteractive(RenderQuotedNames.class, arg, e -> {
                                a.quoted = e;
                            }, () -> displayQuoted(a));
                        else if ("F".equals(flag) || "from-dialect".equals(flag))
                            parseInteractive(SQLDialect.class, arg, e -> {
                                a.fromDialect = e;
                            }, () -> displayFromDialect(a));
                        else if ("render-coalesce-to-empty-string-in-concat".equals(flag)) {
                            if (arg != null)
                                a.renderCoalesceToEmptyStringInConcat = Boolean.parseBoolean(arg.toLowerCase());
                            displayRenderCoalesceToEmptyStringInConcat(a);
                        } else if ("parse-date-format".equals(flag)) {
                            if (arg != null)
                                a.parseDateFormat = arg;
                            displayParseDateFormat(a);
                        } else if ("parse-ignore-comments".equals(flag)) {
                            if (arg != null)
                                a.parseIgnoreComments = Boolean.parseBoolean(arg.toLowerCase());
                            displayParseIgnoreComments(a);
                        } else if ("parse-ignore-comment-start".equals(flag)) {
                            if (arg != null)
                                a.parseIgnoreCommentStart = arg;
                            displayParseIgnoreCommentStart(a);
                        } else if ("parse-ignore-comment-stop".equals(flag)) {
                            if (arg != null)
                                a.parseIgnoreCommentStop = arg;
                            displayParseIgnoreCommentStop(a);
                        } else if ("parse-locale".equals(flag)) {
                            if (arg != null)
                                a.parseLocale = Locale.forLanguageTag(arg);
                            displayParseLocale(a);
                        } else if ("parse-name-case".equals(flag))
                            parseInteractive(ParseNameCase.class, arg, e -> {
                                a.parseNameCase = e;
                            }, () -> displayParseNameCase(a));
                        else if ("parse-named-param-prefix".equals(flag)) {
                            if (arg != null)
                                a.parseNamedParamPrefix = arg;
                            displayParseNamedParamPrefix(a);
                        } else if ("parse-retain-comments-between-queries".equals(flag)) {
                            if (arg != null)
                                a.parseRetainCommentsBetweenQueries = Boolean.parseBoolean(arg.toLowerCase());
                            displayParseRetainCommentsBetweenQueries(a);
                        } else if ("parse-set-commands".equals(flag)) {
                            if (arg != null)
                                a.parseSetCommands = Boolean.parseBoolean(arg.toLowerCase());
                            displayParseSetCommands(a);
                        } else if ("parse-timestamp-format".equals(flag)) {
                            if (arg != null)
                                a.parseTimestampFormat = arg;
                            displayParseTimestampFormat(a);
                        } else if ("parse-unknown-functions".equals(flag))
                            parseInteractive(ParseUnknownFunctions.class, arg, e -> {
                                a.parseUnknownFunctions = e;
                            }, () -> displayParseUnknownFunctions(a));
                        else if ("parse-unsupported-syntax".equals(flag))
                            parseInteractive(ParseUnsupportedSyntax.class, arg, e -> {
                                a.parseUnsupportedSyntax = e;
                            }, () -> displayParseUnsupportedSyntax(a));
                        else if ("render-optional-inner-keyword".equals(flag))
                            parseInteractive(RenderOptionalKeyword.class, arg, e -> {
                                a.renderOptionalInnerKeyword = e;
                            }, () -> displayRenderOptionalInnerKeyword(a));
                        else if ("render-optional-outer-keyword".equals(flag))
                            parseInteractive(RenderOptionalKeyword.class, arg, e -> {
                                a.renderOptionalOuterKeyword = e;
                            }, () -> displayRenderOptionalOuterKeyword(a));
                        else if ("render-optional-as-keyword-for-field-aliases".equals(flag))
                            parseInteractive(RenderOptionalKeyword.class, arg, e -> {
                                a.renderOptionalAsKeywordForFieldAliases = e;
                            }, () -> displayRenderOptionalAsKeywordForFieldAliases(a));
                        else if ("render-optional-as-keyword-for-table-aliases".equals(flag))
                            parseInteractive(RenderOptionalKeyword.class, arg, e -> {
                                a.renderOptionalAsKeywordForTableAliases = e;
                            }, () -> displayRenderOptionalAsKeywordForTableAliases(a));
                        else if ("transform-patterns".equals(flag)) {
                            if (arg != null)
                                a.transformPatterns = Boolean.parseBoolean(arg.toLowerCase());
                            displayTransformPatterns(a);
                        } else if ("transform-ansi-join-to-table-lists".equals(flag)) {
                            if (arg != null)
                                a.transformAnsiJoinToTableLists = Boolean.parseBoolean(arg.toLowerCase());
                            displayTransformAnsiJoinToTablesLists(a);
                        } else if ("transform-qualify".equals(flag))
                            parseInteractive(Transformation.class, arg, e -> {
                                a.transformQualify = e;
                            }, () -> displayTransformQualify(a));
                        else if ("transform-rownum".equals(flag))
                            parseInteractive(Transformation.class, arg, e -> {
                                a.transformRownum = e;
                            }, () -> displayTransformRownum(a));
                        else if ("transform-table-lists-to-ansi-join".equals(flag)) {
                            if (arg != null)
                                a.transformTableListsToAnsiJoin = Boolean.parseBoolean(arg.toLowerCase());
                            displayTransformTableListsToAnsiJoin(a);
                        } else if ("transform-unneeded-arithmetic".equals(flag))
                            parseInteractive(TransformUnneededArithmeticExpressions.class, arg, e -> {
                                a.transformUnneededArithmetic = e;
                            }, () -> {
                                displayTransformUnneededArithmetic(a);
                            });
                        else // [#9144] /t maintained for backwards compatibility
                        if ("t".equals(flag) || "T".equals(flag) || "to-dialect".equals(flag))
                            parseInteractive(SQLDialect.class, arg, e -> {
                                a.toDialect = e;
                            }, () -> displayToDialect(a));
                    }
                } else {
                    System.out.println("Unrecognised command: " + line);
                    System.out.println("Type /h for help");
                }
            }
            settings(a, ctx.settings());
            ctx = ctx(a, ctx.settings());
        }
        if (a.sql != null || !leadingSlash) {
            if (a.sql == null)
                a.sql = line;
            else
                a.sql = a.sql + "\n" + line;
            if (a.sql.trim().endsWith(";")) {
                render(ctx, a);
                a.sql = null;
                System.out.println();
            }
        }
        System.out.print("> ");
    } while (scan.hasNextLine());
}
Also used : TransformUnneededArithmeticExpressions(org.jooq.conf.TransformUnneededArithmeticExpressions) RenderKeywordCase(org.jooq.conf.RenderKeywordCase) DSL(org.jooq.impl.DSL) Scanner(java.util.Scanner) Settings(org.jooq.conf.Settings) ParseUnknownFunctions(org.jooq.conf.ParseUnknownFunctions) ParseNameCase(org.jooq.conf.ParseNameCase) ArrayList(java.util.ArrayList) Consumer(java.util.function.Consumer) RenderOptionalKeyword(org.jooq.conf.RenderOptionalKeyword) RenderQuotedNames(org.jooq.conf.RenderQuotedNames) List(java.util.List) Matcher(java.util.regex.Matcher) Locale(java.util.Locale) Transformation(org.jooq.conf.Transformation) ParserException(org.jooq.impl.ParserException) RenderNameCase(org.jooq.conf.RenderNameCase) Pattern(java.util.regex.Pattern) ParseUnsupportedSyntax(org.jooq.conf.ParseUnsupportedSyntax) ParseNameCase(org.jooq.conf.ParseNameCase) Scanner(java.util.Scanner) Transformation(org.jooq.conf.Transformation) RenderOptionalKeyword(org.jooq.conf.RenderOptionalKeyword) Matcher(java.util.regex.Matcher) RenderKeywordCase(org.jooq.conf.RenderKeywordCase) RenderQuotedNames(org.jooq.conf.RenderQuotedNames) ParseUnsupportedSyntax(org.jooq.conf.ParseUnsupportedSyntax) TransformUnneededArithmeticExpressions(org.jooq.conf.TransformUnneededArithmeticExpressions)

Aggregations

Settings (org.jooq.conf.Settings)22 DSLContext (org.jooq.DSLContext)10 DefaultConfiguration (org.jooq.impl.DefaultConfiguration)7 Connection (java.sql.Connection)5 List (java.util.List)5 Configuration (org.jooq.Configuration)5 SQLDialect (org.jooq.SQLDialect)4 ArrayList (java.util.ArrayList)3 Test (org.junit.Test)3 PreparedStatement (java.sql.PreparedStatement)2 SQLException (java.sql.SQLException)2 Statement (java.sql.Statement)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 MappedSchema (org.jooq.conf.MappedSchema)2 MappedTable (org.jooq.conf.MappedTable)2 RenderMapping (org.jooq.conf.RenderMapping)2 DataAccessException (org.jooq.exception.DataAccessException)2 DSL (org.jooq.impl.DSL)2 DataSourceConnectionProvider (org.jooq.impl.DataSourceConnectionProvider)2