Skip to content

Commit b1838bd

Browse files
committed
IGNITE-26145 Remove previous driver implementation.
1 parent c75b78b commit b1838bd

File tree

48 files changed

+1854
-8666
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1854
-8666
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.internal.jdbc.proto;
19+
20+
import java.util.concurrent.CompletableFuture;
21+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaColumnsRequest;
22+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaColumnsResult;
23+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaPrimaryKeysRequest;
24+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaPrimaryKeysResult;
25+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaSchemasRequest;
26+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaSchemasResult;
27+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaTablesRequest;
28+
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaTablesResult;
29+
30+
/**
31+
* Jdbc database metadata requests handler interface.
32+
*/
33+
public interface JdbcDatabaseMetadataHandler {
34+
/**
35+
* {@link JdbcMetaTablesRequest} command handler.
36+
*
37+
* @param req Jdbc tables metadata request.
38+
* @return Result future.
39+
*/
40+
CompletableFuture<JdbcMetaTablesResult> tablesMetaAsync(JdbcMetaTablesRequest req);
41+
42+
/**
43+
* {@link JdbcMetaColumnsRequest} command handler.
44+
*
45+
* @param req Jdbc columns metadata request.
46+
* @return Result future.
47+
*/
48+
CompletableFuture<JdbcMetaColumnsResult> columnsMetaAsync(JdbcMetaColumnsRequest req);
49+
50+
/**
51+
* {@link JdbcMetaSchemasRequest} command handler.
52+
*
53+
* @param req Jdbc schemas metadata request.
54+
* @return Result future.
55+
*/
56+
CompletableFuture<JdbcMetaSchemasResult> schemasMetaAsync(JdbcMetaSchemasRequest req);
57+
58+
/**
59+
* {@link JdbcMetaPrimaryKeysRequest} command handler.
60+
*
61+
* @param req Jdbc primary keys metadata request.
62+
* @return Result future.
63+
*/
64+
CompletableFuture<JdbcMetaPrimaryKeysResult> primaryKeysMetaAsync(JdbcMetaPrimaryKeysRequest req);
65+
}

modules/client-handler/src/main/java/org/apache/ignite/client/handler/JdbcQueryEventHandlerImpl.java

Lines changed: 79 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import static org.apache.ignite.lang.ErrorGroups.Client.CONNECTION_ERR;
2525

2626
import it.unimi.dsi.fastutil.ints.IntArrayList;
27+
import java.sql.Connection;
2728
import java.sql.Statement;
2829
import java.time.ZoneId;
2930
import java.util.ArrayList;
@@ -36,7 +37,7 @@
3637
import org.apache.ignite.client.handler.requests.jdbc.JdbcMetadataCatalog;
3738
import org.apache.ignite.client.handler.requests.jdbc.JdbcQueryCursor;
3839
import org.apache.ignite.internal.hlc.HybridTimestampTracker;
39-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
40+
import org.apache.ignite.internal.jdbc.proto.JdbcDatabaseMetadataHandler;
4041
import org.apache.ignite.internal.jdbc.proto.JdbcStatementType;
4142
import org.apache.ignite.internal.jdbc.proto.event.JdbcBatchExecuteRequest;
4243
import org.apache.ignite.internal.jdbc.proto.event.JdbcBatchExecuteResult;
@@ -72,7 +73,7 @@
7273
/**
7374
* Jdbc query event handler implementation.
7475
*/
75-
public class JdbcQueryEventHandlerImpl extends JdbcHandlerBase implements JdbcQueryEventHandler {
76+
public class JdbcQueryEventHandlerImpl extends JdbcHandlerBase implements JdbcDatabaseMetadataHandler {
7677
/** {@link SqlQueryType}s allowed in JDBC update statements. **/
7778
public static final Set<SqlQueryType> UPDATE_STATEMENT_QUERIES = EnumSet.of(DML, SqlQueryType.DDL, SqlQueryType.KILL);
7879

@@ -108,6 +109,37 @@ public JdbcQueryEventHandlerImpl(
108109

109110
/** {@inheritDoc} */
110111
@Override
112+
public CompletableFuture<JdbcMetaTablesResult> tablesMetaAsync(JdbcMetaTablesRequest req) {
113+
return meta.getTablesMeta(req.schemaName(), req.tableName(), req.tableTypes()).thenApply(JdbcMetaTablesResult::new);
114+
}
115+
116+
/** {@inheritDoc} */
117+
@Override
118+
public CompletableFuture<JdbcMetaColumnsResult> columnsMetaAsync(JdbcMetaColumnsRequest req) {
119+
return meta.getColumnsMeta(req.schemaName(), req.tableName(), req.columnName()).thenApply(JdbcMetaColumnsResult::new);
120+
}
121+
122+
/** {@inheritDoc} */
123+
@Override
124+
public CompletableFuture<JdbcMetaSchemasResult> schemasMetaAsync(JdbcMetaSchemasRequest req) {
125+
return meta.getSchemasMeta(req.schemaName()).thenApply(JdbcMetaSchemasResult::new);
126+
}
127+
128+
/** {@inheritDoc} */
129+
@Override
130+
public CompletableFuture<JdbcMetaPrimaryKeysResult> primaryKeysMetaAsync(JdbcMetaPrimaryKeysRequest req) {
131+
return meta.getPrimaryKeys(req.schemaName(), req.tableName()).thenApply(JdbcMetaPrimaryKeysResult::new);
132+
}
133+
134+
/**
135+
* Create connection context on a server and returns connection identity.
136+
*
137+
* @param timeZoneId Client time-zone ID.
138+
* @param username Current user name.
139+
* @return A future representing result of the operation.
140+
* @deprecated The method is left for compatibility and may be removed in the future.
141+
*/
142+
@Deprecated
111143
public CompletableFuture<JdbcConnectResult> connect(ZoneId timeZoneId, String username) {
112144
try {
113145
JdbcConnectionContext connectionContext = new JdbcConnectionContext(
@@ -129,8 +161,15 @@ public CompletableFuture<JdbcConnectResult> connect(ZoneId timeZoneId, String us
129161
}
130162
}
131163

132-
/** {@inheritDoc} */
133-
@Override
164+
/**
165+
* {@link JdbcQueryExecuteRequest} command handler.
166+
*
167+
* @param connectionId Identifier of the connection.
168+
* @param req Execute query request.
169+
* @return Result future.
170+
* @deprecated The method is left for compatibility and may be removed in the future.
171+
*/
172+
@Deprecated
134173
public CompletableFuture<? extends Response> queryAsync(long connectionId, JdbcQueryExecuteRequest req) {
135174
if (req.pageSize() <= 0) {
136175
return CompletableFuture.completedFuture(new JdbcQuerySingleResult(Response.STATUS_FAILED,
@@ -209,8 +248,15 @@ private static SqlProperties createProperties(
209248
.allowMultiStatement(multiStatement);
210249
}
211250

212-
/** {@inheritDoc} */
213-
@Override
251+
/**
252+
* {@link JdbcBatchExecuteRequest} command handler.
253+
*
254+
* @param connectionId Identifier of the connection.
255+
* @param req Batch query request.
256+
* @return Result future.
257+
* @deprecated The method is left for compatibility and may be removed in the future.
258+
*/
259+
@Deprecated
214260
public CompletableFuture<JdbcBatchExecuteResult> batchAsync(long connectionId, JdbcBatchExecuteRequest req) {
215261
JdbcConnectionContext connectionContext;
216262
try {
@@ -255,8 +301,15 @@ public CompletableFuture<JdbcBatchExecuteResult> batchAsync(long connectionId, J
255301
});
256302
}
257303

258-
/** {@inheritDoc} */
259-
@Override
304+
/**
305+
* {@link JdbcBatchPreparedStmntRequest} command handler.
306+
*
307+
* @param connectionId The identifier of the connection.
308+
* @param req Batch query request.
309+
* @return Result future.
310+
* @deprecated The method is left for compatibility and may be removed in the future.
311+
*/
312+
@Deprecated
260313
public CompletableFuture<JdbcBatchExecuteResult> batchPrepStatementAsync(long connectionId, JdbcBatchPreparedStmntRequest req) {
261314
JdbcConnectionContext connectionContext;
262315
try {
@@ -367,32 +420,15 @@ private static JdbcBatchExecuteResult handleBatchException(Throwable e, String q
367420
return new JdbcBatchExecuteResult(Response.STATUS_FAILED, UNKNOWN, error, counters);
368421
}
369422

370-
/** {@inheritDoc} */
371-
@Override
372-
public CompletableFuture<JdbcMetaTablesResult> tablesMetaAsync(JdbcMetaTablesRequest req) {
373-
return meta.getTablesMeta(req.schemaName(), req.tableName(), req.tableTypes()).thenApply(JdbcMetaTablesResult::new);
374-
}
375-
376-
/** {@inheritDoc} */
377-
@Override
378-
public CompletableFuture<JdbcMetaColumnsResult> columnsMetaAsync(JdbcMetaColumnsRequest req) {
379-
return meta.getColumnsMeta(req.schemaName(), req.tableName(), req.columnName()).thenApply(JdbcMetaColumnsResult::new);
380-
}
381-
382-
/** {@inheritDoc} */
383-
@Override
384-
public CompletableFuture<JdbcMetaSchemasResult> schemasMetaAsync(JdbcMetaSchemasRequest req) {
385-
return meta.getSchemasMeta(req.schemaName()).thenApply(JdbcMetaSchemasResult::new);
386-
}
387-
388-
/** {@inheritDoc} */
389-
@Override
390-
public CompletableFuture<JdbcMetaPrimaryKeysResult> primaryKeysMetaAsync(JdbcMetaPrimaryKeysRequest req) {
391-
return meta.getPrimaryKeys(req.schemaName(), req.tableName()).thenApply(JdbcMetaPrimaryKeysResult::new);
392-
}
393-
394-
/** {@inheritDoc} */
395-
@Override
423+
/**
424+
* Commit/rollback active transaction (if any) when {@link Connection#setAutoCommit(boolean)} autocommit} is disabled.
425+
*
426+
* @param connectionId An identifier of the connection on a server.
427+
* @param commit {@code True} to commit active transaction, {@code false} to rollback it.
428+
* @return Result future.
429+
* @deprecated The method is left for compatibility and may be removed in the future.
430+
*/
431+
@Deprecated
396432
public CompletableFuture<JdbcFinishTxResult> finishTxAsync(long connectionId, boolean commit) {
397433
JdbcConnectionContext connectionContext;
398434

@@ -411,8 +447,15 @@ public CompletableFuture<JdbcFinishTxResult> finishTxAsync(long connectionId, bo
411447
});
412448
}
413449

414-
/** {@inheritDoc} */
415-
@Override
450+
/**
451+
* Cancels the execution of JDBC statement.
452+
*
453+
* @param connectionId An identifier of the connection on a server.
454+
* @param correlationToken A token associated with the execution.
455+
* @return Result future.
456+
* @deprecated The method is left for compatibility and may be removed in the future.
457+
*/
458+
@Deprecated
416459
public CompletableFuture<JdbcQueryCancelResult> cancelAsync(long connectionId, long correlationToken) {
417460
JdbcConnectionContext connectionContext;
418461

modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/jdbc/ClientJdbcCancelRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
package org.apache.ignite.client.handler.requests.jdbc;
1919

2020
import java.util.concurrent.CompletableFuture;
21+
import org.apache.ignite.client.handler.JdbcQueryEventHandlerImpl;
2122
import org.apache.ignite.client.handler.ResponseWriter;
2223
import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
23-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
2424

2525
/**
2626
* Client jdbc cancel request handler.
@@ -35,7 +35,7 @@ public class ClientJdbcCancelRequest {
3535
*/
3636
public static CompletableFuture<ResponseWriter> execute(
3737
ClientMessageUnpacker in,
38-
JdbcQueryEventHandler handler
38+
JdbcQueryEventHandlerImpl handler
3939
) {
4040
long connectionId = in.unpackLong();
4141
long correlationToken = in.unpackLong();

modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/jdbc/ClientJdbcColumnMetadataRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import java.util.concurrent.CompletableFuture;
2121
import org.apache.ignite.client.handler.ResponseWriter;
2222
import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
23-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
23+
import org.apache.ignite.internal.jdbc.proto.JdbcDatabaseMetadataHandler;
2424
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaColumnsRequest;
2525

2626
/**
@@ -36,7 +36,7 @@ public class ClientJdbcColumnMetadataRequest {
3636
*/
3737
public static CompletableFuture<ResponseWriter> process(
3838
ClientMessageUnpacker in,
39-
JdbcQueryEventHandler handler
39+
JdbcDatabaseMetadataHandler handler
4040
) {
4141
var req = new JdbcMetaColumnsRequest();
4242

modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/jdbc/ClientJdbcConnectRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919

2020
import java.time.ZoneId;
2121
import java.util.concurrent.CompletableFuture;
22+
import org.apache.ignite.client.handler.JdbcQueryEventHandlerImpl;
2223
import org.apache.ignite.client.handler.ResponseWriter;
2324
import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
24-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
2525

2626
/**
2727
* Client jdbc request handler.
@@ -37,7 +37,7 @@ public class ClientJdbcConnectRequest {
3737
*/
3838
public static CompletableFuture<ResponseWriter> execute(
3939
ClientMessageUnpacker in,
40-
JdbcQueryEventHandler handler,
40+
JdbcQueryEventHandlerImpl handler,
4141
String username
4242
) {
4343
String timeZoneIdString = in.unpackString();

modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/jdbc/ClientJdbcPrimaryKeyMetadataRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import java.util.concurrent.CompletableFuture;
2121
import org.apache.ignite.client.handler.ResponseWriter;
2222
import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
23-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
23+
import org.apache.ignite.internal.jdbc.proto.JdbcDatabaseMetadataHandler;
2424
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaPrimaryKeysRequest;
2525

2626
/**
@@ -36,7 +36,7 @@ public class ClientJdbcPrimaryKeyMetadataRequest {
3636
*/
3737
public static CompletableFuture<ResponseWriter> process(
3838
ClientMessageUnpacker in,
39-
JdbcQueryEventHandler handler
39+
JdbcDatabaseMetadataHandler handler
4040
) {
4141
var req = new JdbcMetaPrimaryKeysRequest();
4242

modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/jdbc/ClientJdbcSchemasMetadataRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import java.util.concurrent.CompletableFuture;
2121
import org.apache.ignite.client.handler.ResponseWriter;
2222
import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
23-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
23+
import org.apache.ignite.internal.jdbc.proto.JdbcDatabaseMetadataHandler;
2424
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaSchemasRequest;
2525

2626
/**
@@ -36,7 +36,7 @@ public class ClientJdbcSchemasMetadataRequest {
3636
*/
3737
public static CompletableFuture<ResponseWriter> process(
3838
ClientMessageUnpacker in,
39-
JdbcQueryEventHandler handler
39+
JdbcDatabaseMetadataHandler handler
4040
) {
4141
var req = new JdbcMetaSchemasRequest();
4242

modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/jdbc/ClientJdbcTableMetadataRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import java.util.concurrent.CompletableFuture;
2121
import org.apache.ignite.client.handler.ResponseWriter;
2222
import org.apache.ignite.internal.client.proto.ClientMessageUnpacker;
23-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
23+
import org.apache.ignite.internal.jdbc.proto.JdbcDatabaseMetadataHandler;
2424
import org.apache.ignite.internal.jdbc.proto.event.JdbcMetaTablesRequest;
2525

2626
/**
@@ -36,7 +36,7 @@ public class ClientJdbcTableMetadataRequest {
3636
*/
3737
public static CompletableFuture<ResponseWriter> process(
3838
ClientMessageUnpacker in,
39-
JdbcQueryEventHandler handler
39+
JdbcDatabaseMetadataHandler handler
4040
) {
4141
var req = new JdbcMetaTablesRequest();
4242

modules/client-handler/src/test/java/org/apache/ignite/client/handler/JdbcQueryEventHandlerImplTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
import org.apache.ignite.client.handler.requests.jdbc.JdbcMetadataCatalog;
5050
import org.apache.ignite.internal.hlc.HybridTimestamp;
5151
import org.apache.ignite.internal.hlc.HybridTimestampTracker;
52-
import org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler;
5352
import org.apache.ignite.internal.jdbc.proto.JdbcStatementType;
5453
import org.apache.ignite.internal.jdbc.proto.event.JdbcBatchExecuteRequest;
5554
import org.apache.ignite.internal.jdbc.proto.event.JdbcBatchExecuteResult;
@@ -98,7 +97,7 @@ class JdbcQueryEventHandlerImplTest extends BaseIgniteAbstractTest {
9897

9998
private ClientResourceRegistry resourceRegistry;
10099

101-
private JdbcQueryEventHandler eventHandler;
100+
private JdbcQueryEventHandlerImpl eventHandler;
102101

103102
@BeforeEach
104103
public void setUp() {
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18-
package org.apache.ignite.internal.jdbc2;
18+
package org.apache.ignite.internal.jdbc;
1919

2020
import static org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
2121
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -76,7 +76,7 @@ public void noResourcesScriptAfterClientTerminates() throws Exception {
7676
log.info("Run statement: {}", statement);
7777

7878
Connection conn = DriverManager.getConnection(JDBC_URL);
79-
JdbcConnection2 jdbcConnection = conn.unwrap(JdbcConnection2.class);
79+
JdbcConnection jdbcConnection = conn.unwrap(JdbcConnection.class);
8080

8181
Statement stmt = conn.createStatement();
8282
// Do not close the statement, closing the client should release its resources.
@@ -92,7 +92,7 @@ public void noResourcesScriptAfterClientTerminates() throws Exception {
9292
@Test
9393
public void noStatementResourcesAfterClientTerminates() throws Exception {
9494
Connection conn = DriverManager.getConnection(JDBC_URL);
95-
JdbcConnection2 jdbcConnection = conn.unwrap(JdbcConnection2.class);
95+
JdbcConnection jdbcConnection = conn.unwrap(JdbcConnection.class);
9696

9797
Statement stmt = conn.createStatement();
9898
// Do not close the statement, closing the client should release its resources.

0 commit comments

Comments
 (0)