[
https://issues.apache.org/jira/browse/IGNITE-17055?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Pochatkin updated IGNITE-17055:
---------------------------------------
Description:
Currently in org.apache.ignite.internal.jdbc.JdbcStatement#execute0 exist async
call to org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler
{code:java}
protected void execute0(JdbcStatementType stmtType, String sql, List<Object>
args) throws SQLException {
...
res = conn.handler().queryAsync(req).join();
...
} {code}
Main problem with this part of code is that in case when the handler cannot
parse SQL qeury will throw
{code:java}
java.util.concurrent.CompletionException: class
org.apache.ignite.client.IgniteClientException: Failed to parse query{code}
without any catching. This is doesn't match with Jdbc contract in the section
of possible exeptions and looks like unpredictable behavior.
was:
Currently in org.apache.ignite.internal.jdbc.JdbcStatement#execute0 exist async
call to org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler
{code:java}
protected void execute0(JdbcStatementType stmtType, String sql, List<Object>
args) throws SQLException {
...
res = conn.handler().queryAsync(req).join();
...
} {code}
Main problem with this part of code is that in case when the handler cannot
parse SQL qeury will throw java.util.concurrent.CompletionException: class
org.apache.ignite.client.IgniteClientException: Failed to parse query without
any catching. This is doesn't match with Jdbc contract in the section of
possible exeptions and looks like unpredictable behavior.
> Ignite JDBC Driver don't support contract
> ------------------------------------------
>
> Key: IGNITE-17055
> URL: https://issues.apache.org/jira/browse/IGNITE-17055
> Project: Ignite
> Issue Type: Bug
> Reporter: Mikhail Pochatkin
> Assignee: Mikhail Pochatkin
> Priority: Major
> Labels: ignite-3, jdbc
>
> Currently in org.apache.ignite.internal.jdbc.JdbcStatement#execute0 exist
> async call to org.apache.ignite.internal.jdbc.proto.JdbcQueryEventHandler
>
> {code:java}
> protected void execute0(JdbcStatementType stmtType, String sql, List<Object>
> args) throws SQLException {
> ...
>
> res = conn.handler().queryAsync(req).join();
>
> ...
> } {code}
> Main problem with this part of code is that in case when the handler cannot
> parse SQL qeury will throw
> {code:java}
> java.util.concurrent.CompletionException: class
> org.apache.ignite.client.IgniteClientException: Failed to parse query{code}
> without any catching. This is doesn't match with Jdbc contract in the
> section of possible exeptions and looks like unpredictable behavior.
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)