Jianfeng Jia has submitted this change and it was merged. Change subject: Change logical plan to apply filter from 2ndary index ......................................................................
Change logical plan to apply filter from 2ndary index - Changes the IntroduceLSMComponentFilterRule to replace the constant filter value from the query to the value carried from 2ndary index search. - Can use 2ndary index filter even the query doens't contain any filter related condition. Change-Id: I0e2fe0208662e5dcd49d1a22bfb58f96533e9497 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1727 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> BAD: Jenkins <[email protected]> Reviewed-by: Yingyi Bu <[email protected]> --- M .gitignore M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/BTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IndexSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java A asterixdb/asterix-app/data/twitter/real.2.adm A asterixdb/asterix-app/data/twitter/real.adm A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/btree-btree-search-wo-query-filter.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/btree-btree-search.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/inverted-btree-search-wo-query-filter.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/inverted-btree-search.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/multi-index-btree-search-wo-query-filter.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/multi-index-btree-search.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/rtree-btree-search-wo-query-filter.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/rtree-btree-search.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/btree-btree-search-wo-query-filter.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/btree-btree-search.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/inverted-btree-search-wo-query-filter.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/inverted-btree-search.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/multi-index-btree-search-wo-query-filter.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/multi-index-btree-search.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/rtree-btree-search-wo-query-filter.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/rtree-btree-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/multi-indexes/btree-rtree-ngram-intersect-with-filter.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.10.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.3.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.4.sleep.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.5.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.6.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.7.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.8.sleep.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.9.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.10.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.11.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.3.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.4.sleep.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.5.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.6.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.7.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.8.sleep.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/upsert/upsert.9.server.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/intersection-with-filter/tinysocial-intersect.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/intersection-with-filter/tinysocial-intersect.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/index-selection/intersection-with-filter/tinysocial-intersect.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.10.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.11.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.3.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.4.sleep.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.5.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.6.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.7.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.8.sleep.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/delete/delete.9.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.10.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.11.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.3.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.4.sleep.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.5.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.6.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.7.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.8.sleep.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/filters/upsert/upsert.9.server.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/filters/delete/delete.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/filters/upsert/upsert.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/index-selection/intersection-with-filter/intersection.1.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DatasetDataSource.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractScanOperator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractUnnestMapOperator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/UnnestMapOperator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/IntersectPOperator.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/intersect/IntersectOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/unit/IntersectOperatorDescriptorTest.java 85 files changed, 12,367 insertions(+), 124 deletions(-) Approvals: Yingyi Bu: Looks good to me, approved Jenkins: Verified; No violations found; Verified Objections: Jenkins: Violations found -- To view, visit https://asterix-gerrit.ics.uci.edu/1727 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0e2fe0208662e5dcd49d1a22bfb58f96533e9497 Gerrit-PatchSet: 18 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Jianfeng Jia <[email protected]> Gerrit-Reviewer: Ian Maxon <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Jianfeng Jia <[email protected]> Gerrit-Reviewer: Luo Chen <[email protected]> Gerrit-Reviewer: Taewoo Kim <[email protected]> Gerrit-Reviewer: Yingyi Bu <[email protected]> Gerrit-Reviewer: abdullah alamoudi <[email protected]>
