[ 
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)

Reply via email to