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)