You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (Jira)" <ji...@apache.org> on 2025/08/06 14:56:00 UTC

[jira] [Updated] (IGNITE-26145) Sql. Jdbc. Complete migration to thin client SQL API. Code cleanup.

     [ https://issues.apache.org/jira/browse/IGNITE-26145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pereslegin updated IGNITE-26145:
--------------------------------------
    Description: 
At this point in time, all JDBC operations should be switched to using thin client SQL API and we need to cleanup unused JDBC driver code.

Note: server code should not be removed because old JDBC driver should be able to work with the new server.

Some notes:

Need to remove unused java.sql.ResultSet implementation.

Figure out how to best drop unused code from JdbcQueryEventHandler.
We have two implementations of JdbcQueryEventHandler.

JdbcQueryEventHandlerImpl is used on the server side and cannot be changed.
JdbcClientQueryEventHandler used on the client side and the methods not related to metadata

* connect
* queryAsync
* batchAsync
* batchPrepStatementAsync
* finishTxAsync
* cancelAsync

are not used and must be dropped from it.

Suggestion:
introduce JdbcMetadataHandler, (with client and server implementations). Move there all metadata-related methods.

Drop JdbcQueryEventHandler. JdbcClientQueryEventHandler and keep only server side JdbcQueryEventHandlerImpl with obsolete methods.
Probably we can rename JdbcQueryEventHandler into JdbcMetadataHandler, remove unused methods, and extract JdbcQueryEventHandlerImpl


  was:
At this point in time, all JDBC operations should be switched to using thin client SQL API and we need to cleanup unused JDBC driver code.

Note: server code should not be removed because old JDBC driver should be able to work with the new server.

Some notes:

Need to remove unused java.sql.ResultSet implementation.

Figure out how to best cleanup code from JdbcClientQueryEventHandler.
Currently we have two implementations of JdbcQueryEventHandler.

JdbcQueryEventHandlerImpl is used on the server side and cannot be changed.

But JdbcClientQueryEventHandler used on the client side and the methods not related to metadata

* connect
* queryAsync
* batchAsync
* batchPrepStatementAsync
* finishTxAsync
* cancelAsync

are not used and must be dropped from it.

Suggestion:
introduce JdbcMetadataHandler, (with client and server implementations). Move there all metadata methods.

Drop JdbcQueryEventHandler. JdbcClientQueryEventHandler and keep only server side JdbcQueryEventHandlerImpl with obsolete methods.
Probably we can rename JdbcQueryEventHandler into JdbcMetadataHandler, remove unused methods, and extract JdbcQueryEventHandlerImpl



> Sql. Jdbc. Complete migration to thin client SQL API. Code cleanup.
> -------------------------------------------------------------------
>
>                 Key: IGNITE-26145
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26145
>             Project: Ignite
>          Issue Type: New Feature
>          Components: jdbc ai3, sql ai3
>            Reporter: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> At this point in time, all JDBC operations should be switched to using thin client SQL API and we need to cleanup unused JDBC driver code.
> Note: server code should not be removed because old JDBC driver should be able to work with the new server.
> Some notes:
> Need to remove unused java.sql.ResultSet implementation.
> Figure out how to best drop unused code from JdbcQueryEventHandler.
> We have two implementations of JdbcQueryEventHandler.
> JdbcQueryEventHandlerImpl is used on the server side and cannot be changed.
> JdbcClientQueryEventHandler used on the client side and the methods not related to metadata
> * connect
> * queryAsync
> * batchAsync
> * batchPrepStatementAsync
> * finishTxAsync
> * cancelAsync
> are not used and must be dropped from it.
> Suggestion:
> introduce JdbcMetadataHandler, (with client and server implementations). Move there all metadata-related methods.
> Drop JdbcQueryEventHandler. JdbcClientQueryEventHandler and keep only server side JdbcQueryEventHandlerImpl with obsolete methods.
> Probably we can rename JdbcQueryEventHandler into JdbcMetadataHandler, remove unused methods, and extract JdbcQueryEventHandlerImpl



--
This message was sent by Atlassian Jira
(v8.20.10#820010)