[
https://issues.apache.org/jira/browse/IGNITE-21131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yury Gerzhedovich updated IGNITE-21131:
---------------------------------------
Labels: calcite calcite3-required ise (was: calcite ise)
> Calcite engine. OR operator with dynamic parameters can't be used for index
> scans
> ---------------------------------------------------------------------------------
>
> Key: IGNITE-21131
> URL: https://issues.apache.org/jira/browse/IGNITE-21131
> Project: Ignite
> Issue Type: Improvement
> Reporter: Aleksey Plekhanov
> Assignee: Aleksey Plekhanov
> Priority: Major
> Labels: calcite, calcite3-required, ise
> Fix For: 2.17
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Calcite can compose OR operator with literals to SEARCH/SARG, and SEARCH/SARG
> can be used for index scans. But we can't do this for OR operator with
> dynamic parameters.
> For example expression {{a IN (1, 2, 3)}} can be converted to {{a = 1 OR a =
> 2 OR a = 3}} and after that can be converted to {{SEARCH(a, SARG(1, 2, 3))}},
> but expression {{a IN (?, ?, ?)}} can be converted only to {{a = ? OR a = ?
> OR a = ?}} and can't be used for index scan.
> To fix this issue we can create ranges from dynamic parameters during
> planning, sort and remove intersections from these ranges in runtime.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)