>From Shahrzad Shirazi <shaji...@ucr.edu>:

Attention is currently required from: Shahrzad Shirazi.
Hello Jenkins, Anon. E. Moose #1000171,

I'd like you to reexamine a change. Please visit

    https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17729

to look at the new patch set (#15).

Change subject: [NO ISSUE][COMP] Simplify Index-only plan
......................................................................

[NO ISSUE][COMP] Simplify Index-only plan

If a secondary index contains all the fields needed by a query,
the query plan can be optimized into an index-only plan.
Simplify Index-only plan to handle potential duplicate keys,
since no locks are acquired during the secondary index scan,
a sort on the  PK is added after searching the secondary index,
followed by a DISTINCT operation to ensure result correctness.
In the case of an index nested loop join, a window function is
used to ensure that no duplicates are returned.


Change-Id: I516dc90b8da3a7086dc80b67946a5d4f6dde0972
---
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_03-index-only.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index/btree-sidx-idxonly-01.plan
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/simple-index-only-rtree/simple-index-only-rtree.2.plan
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only/simple-index-only.2.update.sqlpp
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroducePrimaryIndexForAggregationRule.java
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/cast-default-null/cast-default-null-24.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only/simple-index-only.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.4.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-rtree/simple-index-only-rtree.1.ddl.sqlpp
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/leftouterjoin/index-only-leftouterjoin/index-only-leftouterjoin.010.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.6.query.sqlpp
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/leftouterjoin/index-only-leftouterjoin/index-only-leftouterjoin.008.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.5.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.5.plan
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/leftouterjoin/index-only-leftouterjoin/index-only-leftouterjoin.010.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/btree-index-composite-key-04.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.1.ddl.sqlpp
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index/btree-sidx-idxonly-10.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.4.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/filter_on_meta_with_idx_0.plan
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/runningaggregates/std/WinMarkHalloweenRunningAggregateDescriptor.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-rtree/simple-index-only-rtree.2.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.6.plan
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index/btree-sidx-idxonly-01_ps.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.5.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.2.update.sqlpp
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/leftouterjoin/index-only-leftouterjoin/index-only-leftouterjoin.008.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ASTERIXDB-2402.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/index-only-testcases/simple-index-only/simple-index-only.4.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.3.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.2.update.sqlpp
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.6.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.5.adm
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/simple-index-only/simple-index-only.4.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.4.plan
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index/rtree-sidx-idxonly-01.plan
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.3.adm
M asterixdb/asterix-app/src/test/resources/runtimets/sqlpp_queries.xml
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.4.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.6.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.6.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.5.query.sqlpp
M 
asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.6.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only/simple-index-only.4.query.sqlpp
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.1.ddl.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index-only-testcases/simple-index-only-compund-keys/simple-index-only-compund-keys.3.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/index-only-testcases/heterogeneous-index-only-compund-keys/heterogeneous-index-only-compund-keys.4.adm
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/runningaggregates/std/WinMarkHalloweenRunningAggregateEvaluator.java
60 files changed, 2,032 insertions(+), 1,936 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/29/17729/15
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17729
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I516dc90b8da3a7086dc80b67946a5d4f6dde0972
Gerrit-Change-Number: 17729
Gerrit-PatchSet: 15
Gerrit-Owner: Shahrzad Shirazi <shaji...@ucr.edu>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Attention: Shahrzad Shirazi <shaji...@ucr.edu>
Gerrit-MessageType: newpatchset

Reply via email to