Stamatis Zampetakis created CALCITE-4567:
--------------------------------------------

             Summary: Revise modification of CursorFactory in 
LocalService#toResponse
                 Key: CALCITE-4567
                 URL: https://issues.apache.org/jira/browse/CALCITE-4567
             Project: Calcite
          Issue Type: Improvement
          Components: avatica
            Reporter: Stamatis Zampetakis


The {{LocalService#toResponse}} method is responsible for transforming a 
{{MetaResultSet}} to {{ResultSetResponse}} and in the process of doing this it 
may also change the {{CursorFactory}} that was passed in {{MetaResultSet}}.

The reasons for changing the {{CursorFactory}} inside this method are not 
obvious and appear a bit arbitrary at the moment. It seems that changing the 
{{CursorFactory}} in this method is tightly connected to Calcite (as a client) 
and may not work for other clients.

>From a high level perspective a {{CursorFactory}} is necessary to be able to 
>generate the appropriate Cursor. In principle the client who creates 
>{{MetaResultSet}} is supposed to know what cursor it needs and so I assume 
>that it should pass the correct {{CursorFactory}}.

The goal of this issue is to revise the respective code in 
{{LocalService#toResponse}} to make the intentions clear. Changes here are 
potentially breaking and may require also changes in Calcite and other clients.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to