[ 
https://issues.apache.org/jira/browse/IGNITE-5397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16037539#comment-16037539
 ] 

Vladimir Ozerov commented on IGNITE-5397:
-----------------------------------------

[~skalashnikov], as I understand with proposed approach we will have an issue 
with result set metadata. I propose the following approach:
1) For pure DML statements there is not metadata and no result set, so we can 
apply this optimization in a clean and consistent fashion.
2) As far as SQL requests, let's add special flag to connection properties, 
which will manage this behavior. When set to "false" (default), server side 
cursor will not be closed, hence we favor correctness over performance. WHen 
set to "true" it will close server-side cursor, and any call to result set 
metadata will produce {{SQLException}} in cursor is already closed. Let's name 
this flag {{autoCloseServerCursors}}.

> JDBC thin driver: clear server cursor automatically when last result piece is 
> transmitted
> -----------------------------------------------------------------------------------------
>
>                 Key: IGNITE-5397
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5397
>             Project: Ignite
>          Issue Type: Task
>          Components: sql
>    Affects Versions: 2.0
>            Reporter: Vladimir Ozerov
>            Assignee: Sergey Kalashnikov
>              Labels: performance
>             Fix For: 2.1
>
>
> When last part of result set is sent from the server, we should do the 
> following:
> 1) Clear server-side cursor
> 2) Set special marker on the client side that "cursor" close request is not 
> needed. This way we will save two network hops for typical DML request.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to