Aleksey Plekhanov created IGNITE-23650:
------------------------------------------
Summary: Calcite engine. Refactor IndexScan/TableScan classes
hierarchy
Key: IGNITE-23650
URL: https://issues.apache.org/jira/browse/IGNITE-23650
Project: Ignite
Issue Type: Task
Reporter: Aleksey Plekhanov
Assignee: Aleksey Plekhanov
We have duplicated code related to partition reservation for
{{IndexScan}}/{{TableScan}} classes. It would be better to have common parent
class (for example, {{AbstractCacheScan}}) for both of these classes. But
{{IndexScan}} is inherited from {{AbstractIndexScan}}, and this class also used
by {{RuntimeSortedIndex}}, so {{AbstractIndexScan}} can be inherited from
{{AbstractCacheScan}}. {{RuntimeSortedIndex}} redefine most of the methods of
{{AbstractIndexScan}} as no-op, and it would be better to use some kind of tree
iterator in {{RuntimeSortedIndex}} instead of {{AbstractIndexScan}}.
This refactoring is also required for IGNITE-23562 (the new node
{{IndexCountScan}} can be a child of {{AbstractCacheScan}}).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)