[
https://issues.apache.org/jira/browse/IGNITE-14303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maksim Timonin updated IGNITE-14303:
------------------------------------
Description:
Queries like "select max(col) from table" relies on behavior of H2Cursor that
differs to GridCursor:
# It is not "first before". So H2 invoke cursor.get() first, without
cursor.next(). So SingleCursor handles both cases "before first" and "on first".
# Empty cursor it doesn't expect exception for get. It checks the return value
for NULL.
Currently we can't do smth with that as this logic is implemented within H2.
But Calcite should handle that.
was:
Queries like "select max(col) from table" relies on behavior of H2Cursor that
differs to GridCursor:
# It is not "first before". So H2 invoke cursor.get() first, without
cursor.next().
# Then for empty cursor it doesn't expect exception for get. It checks the
return value for NULL.
Currently we can't do smth with that as this logic is implemented within H2.
But Calcite should handle that.
> H2Cursor doesn't match to contract of the GridCursor.
> -----------------------------------------------------
>
> Key: IGNITE-14303
> URL: https://issues.apache.org/jira/browse/IGNITE-14303
> Project: Ignite
> Issue Type: Bug
> Reporter: Maksim Timonin
> Assignee: Maksim Timonin
> Priority: Major
>
> Queries like "select max(col) from table" relies on behavior of H2Cursor that
> differs to GridCursor:
> # It is not "first before". So H2 invoke cursor.get() first, without
> cursor.next(). So SingleCursor handles both cases "before first" and "on
> first".
> # Empty cursor it doesn't expect exception for get. It checks the return
> value for NULL.
> Currently we can't do smth with that as this logic is implemented within H2.
> But Calcite should handle that.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)