[
https://issues.apache.org/jira/browse/IGNITE-18635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yury Gerzhedovich updated IGNITE-18635:
---------------------------------------
Epic Link: IGNITE-19479
> Sql. Extra comparison in case of index scan and simple predicate.
> -----------------------------------------------------------------
>
> Key: IGNITE-18635
> URL: https://issues.apache.org/jira/browse/IGNITE-18635
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Affects Versions: 3.0.0-beta1
> Reporter: Evgeny Stanilovsky
> Priority: Major
> Labels: calcite3-required, ignite-3
>
> IndexScanNode contains :
> {noformat}
> IgniteIndex schemaIndex
> RangeIterable<RowT> rangeConditions
> Predicate<RowT> filters
> {noformat}
> Seems that for some simple predicates no additional filters comparison is
> needed.
> For example :
> {noformat}
> create table t (a int);
> create index a_idx on t (a);
> select a from t where a = 1;
> {noformat}
> If correct index scan is used here, no need in additional comparisons:
> {noformat}
> if (filters != null && !filters.test(row)) {
> continue;
> }
> {noformat}
> Seems for more complex cases: sort indexes and range this optimization still
> applicable:
> {noformat}
> create table t (a int);
> create index a_idx on t (a);
> select a from t where a > 5 and a < 10;
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)