[jOOQ/jOOQ#11769] NPE when ParsingConnection is not attached to an actual connection

This commit is contained in:
Lukas Eder 2021-04-08 18:08:37 +02:00
parent 6bdfdf22f9
commit a2f1c99716
2 changed files with 9 additions and 0 deletions

View File

@ -54,7 +54,9 @@ import java.util.Map;
import org.jooq.Configuration;
import org.jooq.DSLContext;
import org.jooq.Param;
import org.jooq.SQLDialect;
import org.jooq.exception.DataAccessException;
import org.jooq.exception.DetachedException;
import org.jooq.impl.DefaultRenderContext.Rendered;
import org.jooq.impl.Tools.Cache;
import org.jooq.tools.JooqLogger;
@ -72,6 +74,9 @@ final class ParsingConnection extends DefaultConnection {
ParsingConnection(Configuration configuration) {
super(configuration.connectionProvider().acquire());
if (getDelegate() == null)
throw new DetachedException("ConnectionProvider did not provide a JDBC Connection");
this.configuration = configuration;
}

View File

@ -48,6 +48,7 @@ import java.util.List;
import org.jooq.Configuration;
import org.jooq.Param;
import org.jooq.exception.DetachedException;
import org.jooq.impl.DefaultRenderContext.Rendered;
import org.reactivestreams.Publisher;
@ -72,6 +73,9 @@ final class ParsingConnectionFactory implements ConnectionFactory {
final Configuration configuration;
ParsingConnectionFactory(Configuration configuration) {
if (configuration.connectionFactory() instanceof NoConnectionFactory)
throw new DetachedException("ConnectionProvider did not provide an R2DBC ConnectionFactory");
this.configuration = configuration.derive();
this.configuration.set(setParamType(configuration.dialect(), configuration.settings()));
}