You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Stamatis Zampetakis (Jira)" <ji...@apache.org> on 2021/04/07 09:35:00 UTC

[jira] [Created] (CALCITE-4567) Revise modification of CursorFactory in LocalService#toResponse

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)