Skip to content

Commit 8d2e10d

Browse files
committed
Move the query place holder mechanism from the SqlClientInternal interface to the Driver interface
1 parent a811fa5 commit 8d2e10d

File tree

20 files changed

+111
-68
lines changed

20 files changed

+111
-68
lines changed

vertx-db2-client/src/main/java/io/vertx/db2client/impl/DB2ConnectionImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.vertx.db2client.DB2ConnectOptions;
2525
import io.vertx.db2client.DB2Connection;
2626
import io.vertx.db2client.impl.command.PingCommand;
27+
import io.vertx.db2client.spi.DB2Driver;
2728
import io.vertx.sqlclient.impl.Connection;
2829
import io.vertx.sqlclient.impl.SqlConnectionImpl;
2930
import io.vertx.sqlclient.impl.tracing.QueryTracer;
@@ -44,7 +45,7 @@ public static Future<DB2Connection> connect(Vertx vertx, DB2ConnectOptions optio
4445
}
4546

4647
public DB2ConnectionImpl(ContextInternal context, ConnectionFactory factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
47-
super(context, factory, conn, tracer, metrics);
48+
super(context, factory, conn, DB2Driver.INSTANCE, tracer, metrics);
4849
}
4950

5051
@Override

vertx-db2-client/src/main/java/io/vertx/db2client/impl/DB2PoolImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.vertx.core.spi.metrics.ClientMetrics;
2424
import io.vertx.db2client.DB2ConnectOptions;
2525
import io.vertx.db2client.DB2Pool;
26+
import io.vertx.db2client.spi.DB2Driver;
2627
import io.vertx.sqlclient.PoolOptions;
2728
import io.vertx.sqlclient.SqlConnectOptions;
2829
import io.vertx.sqlclient.SqlConnection;
@@ -37,7 +38,7 @@
3738
public class DB2PoolImpl extends PoolBase<DB2PoolImpl> implements DB2Pool {
3839

3940
public DB2PoolImpl(VertxInternal vertx, int pipeliningLimit, PoolOptions poolOptions, DB2ConnectOptions baseConnectOptions, Supplier<Future<SqlConnectOptions>> connectOptionsProvider, QueryTracer tracer, ClientMetrics metrics, CloseFuture closeFuture) {
40-
super(vertx, baseConnectOptions, connectOptionsProvider, tracer, metrics, pipeliningLimit, poolOptions, closeFuture);
41+
super(vertx, DB2Driver.INSTANCE, baseConnectOptions, connectOptionsProvider, tracer, metrics, pipeliningLimit, poolOptions, closeFuture);
4142
}
4243

4344
@SuppressWarnings("rawtypes")

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/impl/MSSQLConnectionImpl.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import io.vertx.mssqlclient.MSSQLConnection;
1818
import io.vertx.core.Future;
1919
import io.vertx.core.Vertx;
20+
import io.vertx.mssqlclient.spi.MSSQLDriver;
2021
import io.vertx.sqlclient.impl.Connection;
2122
import io.vertx.sqlclient.impl.SqlConnectionImpl;
2223
import io.vertx.sqlclient.impl.tracing.QueryTracer;
@@ -25,13 +26,7 @@
2526
public class MSSQLConnectionImpl extends SqlConnectionImpl<MSSQLConnectionImpl> implements MSSQLConnection {
2627

2728
public MSSQLConnectionImpl(ContextInternal context, ConnectionFactory factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
28-
super(context, factory, conn, tracer, metrics);
29-
}
30-
31-
@Override
32-
public int appendQueryPlaceholder(StringBuilder queryBuilder, int index, int current) {
33-
queryBuilder.append('@').append('P').append(1 + index);
34-
return index;
29+
super(context, factory, conn, MSSQLDriver.INSTANCE, tracer, metrics);
3530
}
3631

3732
public static Future<MSSQLConnection> connect(Vertx vertx, MSSQLConnectOptions options) {

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/impl/MSSQLPoolImpl.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.vertx.core.spi.metrics.ClientMetrics;
2020
import io.vertx.mssqlclient.MSSQLConnectOptions;
2121
import io.vertx.mssqlclient.MSSQLPool;
22+
import io.vertx.mssqlclient.spi.MSSQLDriver;
2223
import io.vertx.sqlclient.PoolOptions;
2324
import io.vertx.sqlclient.SqlConnectOptions;
2425
import io.vertx.sqlclient.SqlConnection;
@@ -33,13 +34,7 @@
3334
public class MSSQLPoolImpl extends PoolBase<MSSQLPoolImpl> implements MSSQLPool {
3435

3536
public MSSQLPoolImpl(VertxInternal vertx, MSSQLConnectOptions baseConnectOptions, Supplier<Future<SqlConnectOptions>> connectOptionsProvider, QueryTracer tracer, ClientMetrics metrics, PoolOptions poolOptions, CloseFuture closeFuture) {
36-
super(vertx, baseConnectOptions, connectOptionsProvider, tracer, metrics, 1, poolOptions, closeFuture);
37-
}
38-
39-
@Override
40-
public int appendQueryPlaceholder(StringBuilder queryBuilder, int index, int current) {
41-
queryBuilder.append('@').append('P').append(1 + index);
42-
return index;
37+
super(vertx, MSSQLDriver.INSTANCE, baseConnectOptions, connectOptionsProvider, tracer, metrics, 1, poolOptions, closeFuture);
4338
}
4439

4540
@Override

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/spi/MSSQLDriver.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,10 @@ public boolean acceptsOptions(SqlConnectOptions options) {
6262
public ConnectionFactory createConnectionFactory(Vertx vertx, SqlConnectOptions database) {
6363
return new MSSQLConnectionFactory((VertxInternal) vertx, MSSQLConnectOptions.wrap(database));
6464
}
65+
66+
@Override
67+
public int appendQueryPlaceholder(StringBuilder queryBuilder, int index, int current) {
68+
queryBuilder.append('@').append('P').append(1 + index);
69+
return index;
70+
}
6571
}

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/impl/MySQLConnectionImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.vertx.mysqlclient.MySQLConnection;
2323
import io.vertx.mysqlclient.MySQLSetOption;
2424
import io.vertx.mysqlclient.impl.command.*;
25+
import io.vertx.mysqlclient.spi.MySQLDriver;
2526
import io.vertx.sqlclient.impl.Connection;
2627
import io.vertx.sqlclient.impl.SqlConnectionImpl;
2728
import io.vertx.sqlclient.impl.tracing.QueryTracer;
@@ -44,7 +45,7 @@ public static Future<MySQLConnection> connect(ContextInternal ctx, MySQLConnectO
4445
}
4546

4647
public MySQLConnectionImpl(ContextInternal context, ConnectionFactory factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
47-
super(context, factory, conn, tracer, metrics);
48+
super(context, factory, conn, MySQLDriver.INSTANCE, tracer, metrics);
4849
}
4950

5051
@Override

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/impl/MySQLPoolImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.vertx.core.spi.metrics.ClientMetrics;
2020
import io.vertx.mysqlclient.MySQLConnectOptions;
2121
import io.vertx.mysqlclient.MySQLPool;
22+
import io.vertx.mysqlclient.spi.MySQLDriver;
2223
import io.vertx.sqlclient.PoolOptions;
2324
import io.vertx.sqlclient.SqlConnectOptions;
2425
import io.vertx.sqlclient.SqlConnection;
@@ -33,7 +34,7 @@
3334
public class MySQLPoolImpl extends PoolBase<MySQLPoolImpl> implements MySQLPool {
3435

3536
public MySQLPoolImpl(VertxInternal vertx, MySQLConnectOptions baseConnectOptions, Supplier<Future<SqlConnectOptions>> connectOptionsProvider, QueryTracer tracer, ClientMetrics metrics, PoolOptions poolOptions, CloseFuture closeFuture) {
36-
super(vertx, baseConnectOptions, connectOptionsProvider, tracer, metrics, 1, poolOptions, closeFuture);
37+
super(vertx, MySQLDriver.INSTANCE, baseConnectOptions, connectOptionsProvider, tracer, metrics, 1, poolOptions, closeFuture);
3738
}
3839

3940
@Override

vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleConnectionFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import io.vertx.core.impl.VertxInternal;
1818
import io.vertx.core.spi.metrics.ClientMetrics;
1919
import io.vertx.oracleclient.OracleConnectOptions;
20+
import io.vertx.oracleclient.spi.OracleDriver;
2021
import io.vertx.sqlclient.PoolOptions;
2122
import io.vertx.sqlclient.SqlConnection;
2223
import io.vertx.sqlclient.impl.Connection;
@@ -69,7 +70,7 @@ public Future<SqlConnection> connect(Context context) {
6970
ContextInternal ic = (ContextInternal) context;
7071
return connect(ic)
7172
.map(c -> {
72-
SqlConnectionImpl connection = new SqlConnectionImpl(ic, this, c, tracer, metrics);
73+
SqlConnectionImpl connection = new SqlConnectionImpl(ic, this, c, OracleDriver.INSTANCE, tracer, metrics);
7374
c.init(connection);
7475
return connection;
7576
});

vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OraclePoolImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import io.vertx.core.impl.future.PromiseInternal;
1818
import io.vertx.core.spi.metrics.ClientMetrics;
1919
import io.vertx.oracleclient.OraclePool;
20+
import io.vertx.oracleclient.spi.OracleDriver;
2021
import io.vertx.sqlclient.Pool;
2122
import io.vertx.sqlclient.SqlConnection;
2223
import io.vertx.sqlclient.impl.SqlClientBase;
@@ -33,7 +34,7 @@ public class OraclePoolImpl extends SqlClientBase<OraclePoolImpl> implements Ora
3334
private final CloseFuture closeFuture;
3435

3536
public OraclePoolImpl(VertxInternal vertx, OracleConnectionFactory factory, ClientMetrics metrics, QueryTracer tracer, CloseFuture closeFuture) {
36-
super(tracer, metrics);
37+
super(OracleDriver.INSTANCE, tracer, metrics);
3738
this.factory = factory;
3839
this.vertx = vertx;
3940
this.closeFuture = closeFuture;
@@ -63,7 +64,7 @@ public Future<SqlConnection> getConnection() {
6364
private Future<SqlConnection> getConnectionInternal(ContextInternal ctx) {
6465
return factory.connect(ctx)
6566
.map(c -> {
66-
SqlConnectionImpl<?> connection = new SqlConnectionImpl<>(ctx, factory, c, tracer, metrics);
67+
SqlConnectionImpl<?> connection = new SqlConnectionImpl<>(ctx, factory, c, OracleDriver.INSTANCE, tracer, metrics);
6768
c.init(connection);
6869
return connection;
6970
});

vertx-pg-client/src/main/java/io/vertx/pgclient/impl/PgConnectionImpl.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import io.vertx.pgclient.PgConnectOptions;
2222
import io.vertx.pgclient.PgConnection;
2323
import io.vertx.pgclient.PgNotification;
24+
import io.vertx.pgclient.spi.PgDriver;
2425
import io.vertx.sqlclient.impl.Connection;
2526
import io.vertx.sqlclient.impl.Notification;
2627
import io.vertx.sqlclient.impl.SqlConnectionImpl;
@@ -52,13 +53,7 @@ public static Future<PgConnection> connect(ContextInternal context, PgConnectOpt
5253
private volatile Handler<PgNotification> notificationHandler;
5354

5455
public PgConnectionImpl(PgConnectionFactory factory, ContextInternal context, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
55-
super(context, factory, conn, tracer, metrics);
56-
}
57-
58-
@Override
59-
public int appendQueryPlaceholder(StringBuilder queryBuilder, int index, int current) {
60-
queryBuilder.append('$').append(1 + index);
61-
return index;
56+
super(context, factory, conn, PgDriver.INSTANCE, tracer, metrics);
6257
}
6358

6459
@Override

0 commit comments

Comments
 (0)