Change in asterixdb[master]: ASTERIXDB-1877: Tokenizer in FullText Search fix
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1668 Change subject: ASTERIXDB-1877: Tokenizer in FullText Search fix .. ASTERIXDB-1877: Tokenizer in FullText Search fix - Sets the starting offset of the string correctly. Change-Id: Ic949ccc0cc3e66c489f4c8435672a74c70b7c0e7 --- A asterixdb/asterix-app/data/fulltext/cloudberry_sample_tweet.adm A asterixdb/asterix-app/src/test/resources/runtimets/queries/fulltext/fulltext-08/fulltext-08.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fulltext/fulltext-08/fulltext-08.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fulltext/fulltext-08/fulltext-08.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fulltext/fulltext-08/fulltext-08.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fulltext/fulltext-08/fulltext-08.5.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-08/fulltext-08.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-08/fulltext-08.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-08/fulltext-08.5.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/common/FullTextContainsEvaluator.java 11 files changed, 308 insertions(+), 1 deletion(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/68/1668/1 diff --git a/asterixdb/asterix-app/data/fulltext/cloudberry_sample_tweet.adm b/asterixdb/asterix-app/data/fulltext/cloudberry_sample_tweet.adm new file mode 100644 index 000..9e501ba --- /dev/null +++ b/asterixdb/asterix-app/data/fulltext/cloudberry_sample_tweet.adm @@ -0,0 +1,100 @@ +{ "create_at": datetime("2015-11-23T16:14:03.000Z"), "id": 668945640186101761, "text": "Just posted a photo @ Campus Martius Park https://t.co/5Ax4E2CdWZ;, "in_reply_to_status": -1, "in_reply_to_user": -1, "favorite_count": 0, "coordinate": point("-83.04647491,42.33170228"), "retweet_count": 0, "lang": "en", "is_retweet": false, "user": { "id": 48121888, "name": "Kevin McKague", "screen_name": "KevinOfMI", "lang": "en", "location": "Davison, Michigan", "create_at": date("2009-06-17"), "description": "I need to ride my bike until my brain shuts up and my muscles are screaming. \nRight after these donuts. Dad of 3.\n Visit my blog 18 Wheels and a 12-Speed Bike.", "followers_count": 1178, "friends_count": 1780, "statues_count": 22263 }, "place": { "country": "United States", "country_code": "United States", "full_name": "Detroit, MI", "id": "b463d3bd6064861b", "name": "Detroit", "place_type": "city", "bounding_box": rectangle("-83.288056,42.255085 -82.91052,42.450488") }, "geo _tag": { "stateID": 26, "stateName": "Michigan", "countyID": 26163, "countyName": "Wayne", "cityID": 2622000, "cityName": "Detroit" } } +{ "create_at": datetime("2015-11-23T16:14:03.000Z"), "id": 668945640370606080, "text": "These niggas next to me do not know how to stfu", "in_reply_to_status": -1, "in_reply_to_user": -1, "favorite_count": 0, "retweet_count": 0, "lang": "en", "is_retweet": false, "user": { "id": 2401270118, "name": "sad goon", "screen_name": "Yung_Yadig", "lang": "en", "location": "null", "create_at": date("2014-03-21"), "description": "don't follow me", "followers_count": 112, "friends_count": 224, "statues_count": 7778 }, "place": { "country": "United States", "country_code": "United States", "full_name": "Downers Grove, IL", "id": "6af99a29bfae42a2", "name": "Downers Grove", "place_type": "city", "bounding_box": rectangle("-88.096689,41.744098 -87.983315,41.83907") }, "geo_tag": { "stateID": 17, "stateName": "Illinois", "countyID": 17043, "countyName": "DuPage", "cityID": 1720591, "cityName": "Downers Grove" } } +{ "create_at": datetime("2015-11-23T16:14:03.000Z"), "id": 668945640471195652, "text": "Who wants to got see @minnesotaBASS with me at Beta this weekend?!?!", "in_reply_to_status": -1, "in_reply_to_user": -1, "favorite_count": 0, "retweet_count": 0, "lang": "en", "is_retweet": false, "user_mentions": {{ 272486819 }}, "user": { "id": 333882909, "name": "Hannah Montana", "screen_name": "Oootentog", "lang": "en", "location": "Denver, CO", "create_at": date("2011-07-12"), "description": "GOD. Mile High City. ❤️ Miley Cyrus is my spirit animal. I really really really really really really like cats.", "followers_count": 1254, "friends_count": 474, "statues_count": 48340 }, "place": { "country": "United States", "country_code": "United States", "full_name": "Denver, CO", "id": "b49b3053b5c25bf5", "name": "Denver", "place_type": "city", "bounding_box": rectangle("-105.109815,39.614151 -104.734372,39.812975") }, "geo_tag": { "stateID": 8, "stateName": "Colorado", "countyID": 8031 , "countyName":
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#8). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties 18 files changed, 335 insertions(+), 232 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/80/1880/8 -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 8 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#7). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/ExternalBTreeSearchOperatorNodePushable.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/LoadableDataSource.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/FunctionDisplayUtil.java M asterixdb/asterix-om/src/test/java/org/apache/asterix/dataflow/data/common/TypeResolverUtilTest.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/CastTypeDescriptor.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeUpdateSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/dataflow/LSMBTreeDiskComponentScanOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/dataflow/LSMInvertedIndexSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/dataflow/RTreeSearchOperatorNodePushable.java 31 files changed, 384 insertions(+), 265 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/80/1880/7 -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 7 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer:
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#6). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/ExternalBTreeSearchOperatorNodePushable.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/LoadableDataSource.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/FunctionDisplayUtil.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java M asterixdb/asterix-om/src/test/java/org/apache/asterix/dataflow/data/common/TypeResolverUtilTest.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ClosedRecordConstructorDescriptor.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/CastTypeDescriptor.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/CastTypeEvaluator.java M hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/AssignRuntimeFactory.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeUpdateSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/dataflow/LSMBTreeDiskComponentScanOperatorNodePushable.java M
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#10). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-equi-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-equi-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-contains_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-contains_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance-inline.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance_04.aql M
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#9). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-equi-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-equi-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-contains_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-contains_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance-check_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance-check_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance-inline.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance_04.aql M
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#15). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_09.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#11). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.4.update.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#10). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.4.update.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#13). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-04.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#12). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-04.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1880 Change subject: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation .. [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/LoadableDataSource.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java M asterixdb/asterix-om/src/test/java/org/apache/asterix/dataflow/data/common/TypeResolverUtilTest.java 23 files changed, 507 insertions(+), 244 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/80/1880/1 diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java index bed5c7f..26bbf90 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java @@ -22,9 +22,11 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.asterix.common.config.DatasetConfig.IndexType; import org.apache.asterix.dataflow.data.common.ExpressionTypeComputer; @@ -62,6 +64,8 @@ import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.UnnestOperator; +import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities; +import org.apache.hyracks.algebricks.core.algebra.typing.ITypingContext; import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; import com.google.common.collect.ImmutableSet; @@ -109,16 +113,44 @@ } protected void fillSubTreeIndexExprs(OptimizableOperatorSubTree subTree, -MapanalyzedAMs, IOptimizationContext context) -throws AlgebricksException { +
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation
Taewoo Kim has uploaded a new patch set (#2). Change subject: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation .. [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/LoadableDataSource.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java M asterixdb/asterix-om/src/test/java/org/apache/asterix/dataflow/data/common/TypeResolverUtilTest.java 24 files changed, 505 insertions(+), 249 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/80/1880/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#5). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.3.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.3.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index/scan-delete-inverted-index-ngram-correlated-secondary-index.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index/scan-delete-inverted-index-ngram-correlated-secondary-index.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index/scan-delete-inverted-index-ngram-correlated-secondary-index.3.ddl.sqlpp A
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#4). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.3.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable/scan-delete-inverted-index-ngram-correlated-secondary-index-nullable.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.3.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index-open/scan-delete-inverted-index-ngram-correlated-secondary-index-open.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index/scan-delete-inverted-index-ngram-correlated-secondary-index.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index/scan-delete-inverted-index-ngram-correlated-secondary-index.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/scan-delete-inverted-index-ngram-correlated-secondary-index/scan-delete-inverted-index-ngram-correlated-secondary-index.3.ddl.sqlpp A
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#3). Change subject: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation .. [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - Field-type propagation on a field with an enforced-index happens properly for the probe-tree in a join. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataManager.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/LoadableDataSource.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java M asterixdb/asterix-om/src/test/java/org/apache/asterix/dataflow/data/common/TypeResolverUtilTest.java 24 files changed, 510 insertions(+), 259 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/80/1880/3 -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation
Taewoo Kim has posted comments on this change. Change subject: [WIP][ASTERIXDB-1984][COMP] proper fieldtype propagation .. Patch Set 2: (6 comments) https://asterix-gerrit.ics.uci.edu/#/c/1880/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java: Line 308: if (rightSubTree.hasDataSource()) { > MAJOR SonarQube violation: Done Line 319: if (matchInRightSubTree) { > MAJOR SonarQube violation: Done Line 319: if (matchInRightSubTree) { > BLOCKER SonarQube violation: Done Line 328: if (checkRightSubTreeMetadata) { > BLOCKER SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1880/2/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java File asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java: Line 123: searchNotNecessaryFromNow = true; > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1880/2/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java File asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java: Line 87: Set allPossibleAdditionalFieldNames) { > MAJOR SonarQube violation: Done -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: Yes
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. Patch Set 1: WIP... Please do not review this. -- To view, visit https://asterix-gerrit.ics.uci.edu/1866 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1866 Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: no Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeJobGenParams.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-to-secondary-indexonly-plan-equi-join_01/btree-primary-to-secondary-indexonly-plan-equi-join_01.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-to-secondary-indexonly-plan-equi-join_01/btree-primary-to-secondary-indexonly-plan-equi-join_01.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/index-join/btree-primary-to-secondary-indexonly-plan-equi-join_01/btree-primary-to-secondary-indexonly-plan-equi-join_01.3.query.aql A
Change in asterixdb[master]: ASTERIXDB-1791: Add a sanity check to hashjoin partition rea...
Taewoo Kim has abandoned this change. Change subject: ASTERIXDB-1791: Add a sanity check to hashjoin partition reading .. Abandoned -- To view, visit https://asterix-gerrit.ics.uci.edu/1505 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: abandon Gerrit-Change-Id: I034691f05e05207b478929d76b02013578eed5ed Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#3). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: no Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeJobGenParams.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#2). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: no Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeJobGenParams.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#5). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: no Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.4.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.5.query.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#9). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.4.update.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#8). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.4.update.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#7). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.4.update.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#6). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: no Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.4.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.5.query.aql A
Change in asterixdb[master]: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#4). Change subject: [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [WIP][ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: no Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeJobGenParams.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeJobGenParams.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-self-equi-join.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-composite-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/orders-index-search.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/issue730.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-intersect-point_05.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/spatial-self-intersect-point.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index-open.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-secondary-index.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/load-with-secondary-btree-index-only/load-with-secondary-btree-index-only.3.ddl.aql A
Change in asterixdb[master]: Hyracks Unit tests for LSM Filters
Taewoo Kim has posted comments on this change. Change subject: Hyracks Unit tests for LSM Filters .. Patch Set 3: (1 comment) General comment: if we keep the original function or class and if it calls the new function signature using "filtered=false", the required code change would be a lot smaller. https://asterix-gerrit.ics.uci.edu/#/c/1704/3/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/utils/TupleUtils.java File hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/utils/TupleUtils.java: Line 40: throws HyracksDataException { Might be better to keep the original function and it calls this function using filtered=false to not introduce many changes in the test cases? -- To view, visit https://asterix-gerrit.ics.uci.edu/1704 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie0e79c0a25d5d6be727b9ebad841801024c00e94 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ian MaxonGerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1702 Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by - Set a proper hash table cardinality during the merge phase of the external hash group-by operator. - Currently, the number of tuples in a spilled partition is used as the hash table cardinality. And this can cause an issue since compiler.groupmemory size is not considered. - So, like the initial group-by build phase, the hash table cardinality will be set properly based on the memory budget for the group-by operator. - Add a functionality that also compacts the header frames of the given hash table when compacting the content frames. Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 --- M hyracks-fullstack/algebricks/algebricks-core/pom.xml M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/pom.xml M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java R hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptorTest.java 7 files changed, 110 insertions(+), 79 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/02/1702/1 diff --git a/hyracks-fullstack/algebricks/algebricks-core/pom.xml b/hyracks-fullstack/algebricks/algebricks-core/pom.xml index 6fdaec5..3c2912e 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/pom.xml +++ b/hyracks-fullstack/algebricks/algebricks-core/pom.xml @@ -81,16 +81,5 @@ org.apache.commons commons-lang3 - - com.e-movimento.tinytools - privilegedaccessor - 1.2.2 - test - - - junit - junit - test - diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java index 8555ade..9e7daf0 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java @@ -65,7 +65,6 @@ import org.apache.hyracks.dataflow.std.group.HashSpillableTableFactory; import org.apache.hyracks.dataflow.std.group.IAggregatorDescriptorFactory; import org.apache.hyracks.dataflow.std.group.external.ExternalGroupOperatorDescriptor; -import org.apache.hyracks.dataflow.std.structures.SerializableHashTable; public class ExternalGroupByPOperator extends AbstractPhysicalOperator { @@ -259,8 +258,8 @@ // Calculates the hash table size (# of unique hash values) based on the budget and a tuple size. int memoryBudgetInBytes = context.getFrameSize() * frameLimit; int groupByColumnsCount = gby.getGroupByList().size() + numFds; -int hashTableSize = calculateGroupByTableCardinality(memoryBudgetInBytes, groupByColumnsCount, -context.getFrameSize()); +int hashTableSize = ExternalGroupOperatorDescriptor.calculateGroupByTableCardinality(memoryBudgetInBytes, +groupByColumnsCount, context.getFrameSize()); ExternalGroupOperatorDescriptor gbyOpDesc = new ExternalGroupOperatorDescriptor(spec, hashTableSize, inputSize, keyAndDecFields, frameLimit, comparatorFactories, normalizedKeyFactory, aggregatorFactory, mergeFactory, @@ -282,51 +281,4 @@ return true; } -/** - * Based on a rough estimation of a tuple (each field size: 4 bytes) size and the number of possible hash values - * for the given number of group-by columns, calculates the number of hash entries for the hash table in Group-by. - * The formula is min(# of possible hash values, # of possible tuples in the data table). - * This method assumes that the group-by table consists of hash table that stores hash value of tuple pointer - * and data table actually stores the aggregated tuple. - * For more details, refer to this JIRA issue:
Change in asterixdb[master]: Hyracks Unit tests for LSM Filters
Taewoo Kim has posted comments on this change. Change subject: Hyracks Unit tests for LSM Filters .. Patch Set 9: (7 comments) One Q: is there a test for "filtered = true" case? All I saw was "filtered = false". https://asterix-gerrit.ics.uci.edu/#/c/1704/9/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/StubIOOperationCallback.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/StubIOOperationCallback.java: PS9, Line 35: Can you move this to the line 28 and make it as a java doc style? https://asterix-gerrit.ics.uci.edu/#/c/1704/9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestDriver.java File hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestDriver.java: Line 43: BTreeLeafFrameType leafType, boolean filtered) throws Exception; > CRITICAL SonarQube violation: Can we handle this? Or, it doesn't have to be handled? https://asterix-gerrit.ics.uci.edu/#/c/1704/9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java File hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java: Line 302: if (filtered) { Please put a simple comment about this? What does this do? https://asterix-gerrit.ics.uci.edu/#/c/1704/9/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java File hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java: Line 187: boolean filtered, Random rnd) throws Exception { > CRITICAL SonarQube violation: Here, too: Exception Line 210: if (filtered) { I have a feeling that the same code is repeated. Can we integrate them and put them in one place? Just a thought. https://asterix-gerrit.ics.uci.edu/#/c/1704/9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeFilterMergeTest.java File hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeFilterMergeTest.java: Line 32: Can we put java-doc style comments here? What does this test do? https://asterix-gerrit.ics.uci.edu/#/c/1704/9/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeFilterMergeTestDriver.java File hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeFilterMergeTestDriver.java: Line 46: Also, can we put java-doc style comments here? -- To view, visit https://asterix-gerrit.ics.uci.edu/1704 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie0e79c0a25d5d6be727b9ebad841801024c00e94 Gerrit-PatchSet: 9 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ian MaxonGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Taewoo Kim has posted comments on this change. Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. Patch Set 3: (1 comment) https://asterix-gerrit.ics.uci.edu/#/c/1702/3/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java File hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java: PS3, Line 250: private > Are there many cases that you iterative over all bytes in the header and yo Maybe if compacting the content frames give me one or more frame, then this operation might not be necessary. But, for the future operations, this clearly affect spilling since the header frames will never shrink. The header size is smaller compared to that of the content frames. And once the content frames are compacted, I think the corresponding the header frame needs to be compacted (released), too. One idea might be: we can limit the number of header frames that needs to be checked: maybe MAX 100. During the content frame compaction, we mark the corresponding header frames and check those frames only. -- To view, visit https://asterix-gerrit.ics.uci.edu/1702 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Taewoo Kim has posted comments on this change. Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. Patch Set 3: (2 comments) Thanks Yingyi. Here is my reply. https://asterix-gerrit.ics.uci.edu/#/c/1702/3/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java File hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java: PS3, Line 250: private > This seems an expensive operation, you need to iterate over all header byte Proportional to the hash table cardinality if all header frames are used. I think this might be better than spilling a data partition to the disk. Any idea that I can improve this? PS3, Line 258: > Why j=j+2? getInt() is called and an integer is 4 bytes? Each pair contains (content frame #, offset in that frame#). So, it's OK to check the first part only. -- To view, visit https://asterix-gerrit.ics.uci.edu/1702 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: Yes
Change in asterixdb[master]: Index-Only Plan Patch Set 4: Index SearchCursor adjustment
Taewoo Kim has submitted this change and it was merged. Change subject: Index-Only Plan Patch Set 4: Index SearchCursor adjustment .. Index-Only Plan Patch Set 4: Index SearchCursor adjustment - Modify the search cursors to maintain the result of proceed() since the result will be required to check whether the given tuple is qualified to be part of an index-only plan result or not. More details will be followed in the next patch set. - Fix the search cursors to call cancel() correctly. Change-Id: I299b1858b7875ffc116f8f3115d319fe7b53a537 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1630 Tested-by: JenkinsBAD: Jenkins Integration-Tests: Jenkins Reviewed-by: Yingyi Bu --- M asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMIndexSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java 6 files changed, 175 insertions(+), 103 deletions(-) Approvals: Yingyi Bu: Looks good to me, approved Jenkins: Verified; No violations found; Verified Objections: Jenkins: Violations found diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java index 890823c..c319b64 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java @@ -60,9 +60,18 @@ } } +/** + * Cancels the reconcile() operation. Since reconcile() gets a lock, this lock + * needs to be unlocked to reverse the effect of reconcile(). + */ @Override public void cancel(ITupleReference tuple) throws HyracksDataException { -//no op +int pkHash = computePrimaryKeyHashValue(tuple, primaryKeyFields); +try { +lockManager.unlock(datasetId, pkHash, LockMode.S, txnCtx); +} catch (ACIDException e) { +throw new HyracksDataException(e); +} } @Override diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java index 77c3573..99c3e3f 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java @@ -73,11 +73,14 @@ btreeAccessors[i].search(rangeCursors[i], predicate); if (rangeCursors[i].hasNext()) { rangeCursors[i].next(); -// We use the predicate's to lock the key instead of the tuple that we get from cursor to avoid copying the tuple when we do the "unlatch dance" +// We use the predicate's to lock the key instead of the tuple that we get from cursor +// to avoid copying the tuple when we do the "unlatch dance". if (reconciled || searchCallback.proceed(predicate.getLowKey())) { // if proceed is successful, then there's no need for doing the "unlatch dance" if (((ILSMTreeTupleReference) rangeCursors[i].getTuple()).isAntimatter()) { -searchCallback.cancel(predicate.getLowKey()); +if (reconciled) { +searchCallback.cancel(predicate.getLowKey()); +} rangeCursors[i].close();
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1702 to look at the new patch set (#4). Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by - Set a proper hash table cardinality during the merge phase of the external hash group-by operator. - Currently, the number of tuples in a spilled partition is used as the hash table cardinality. And this can cause an issue since compiler.groupmemory size is not considered. - So, like the initial group-by build phase, the hash table cardinality will be set properly based on the memory budget for the group-by operator. - Add a functionality that also compacts the header frames of the given hash table when compacting the content frames. Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 --- M hyracks-fullstack/algebricks/algebricks-core/pom.xml M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/pom.xml M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SimpleSerializableHashTable.java R hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptorTest.java 8 files changed, 130 insertions(+), 79 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/02/1702/4 -- To view, visit https://asterix-gerrit.ics.uci.edu/1702 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 Gerrit-PatchSet: 4 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1702 to look at the new patch set (#5). Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by - Set a proper hash table cardinality during the merge phase of the external hash group-by operator. - Currently, the number of tuples in a spilled partition is used as the hash table cardinality. And this can cause an issue since compiler.groupmemory size is not considered. - So, like the initial group-by build phase, the hash table cardinality will be set properly based on the memory budget for the group-by operator. - Add a functionality that also compacts the header frames of the given hash table when compacting the content frames. Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 --- M hyracks-fullstack/algebricks/algebricks-core/pom.xml M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/pom.xml M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SimpleSerializableHashTable.java R hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptorTest.java 8 files changed, 130 insertions(+), 79 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/02/1702/5 -- To view, visit https://asterix-gerrit.ics.uci.edu/1702 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 Gerrit-PatchSet: 5 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Taewoo Kim has posted comments on this change. Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. Patch Set 10: (4 comments) For the test cases, I will also keep the original cases so that we will be able to see those test cases turn into the hash-join. https://asterix-gerrit.ics.uci.edu/#/c/1880/10/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java: PS10, Line 117: boolean updateEntireExprInfo) > What does this parameter mean and why it is needed? This parameter is needed not to fill out all information (access method type, variable, and indexes for the given expression) for the given optimizable function expression. For the probe-tree, we only need to set the field-type for the given expression, though. https://asterix-gerrit.ics.uci.edu/#/c/1880/10/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java: PS10, Line 323: fillSubTreeIndexExprs(leftSubTree, analyzedAMs, context, false); > Why do we need to map variables for the left sub tree? This only sets the field-type for the probe-subtree. PS10, Line 351: isNullFuncExpr > isNullFuncExpr -> isMissingFuncExpr ? Done PS10, Line 400: boolean leftSubTreeInitialized = leftSubTree.initFromSubTree(joinOp.getInputs().get(0), false); > Still need to init the left sub tree? Yes. We need to at least create a new blank subtree class and set the root operator for that. -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: Yes
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Taewoo Kim has posted comments on this change. Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. Patch Set 10: (1 comment) https://asterix-gerrit.ics.uci.edu/#/c/1880/10/asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance_04.aql File asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/inverted-index-join/ngram-edit-distance_04.aql: PS10, Line 22: nested > update the description. Done -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: Yes
Change in asterixdb[master]: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#11). Change subject: [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required .. [WIP][ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_09.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#14). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-04.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. Patch Set 13: (104 comments) https://asterix-gerrit.ics.uci.edu/#/c/1866/1/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java: Line 883: return getFieldNameFromSubTree(optFuncExpr, subTree, assignOrUnnestIndex, varIndex, recordType, > MAJOR SonarQube violation: Done Line 1047: } > BLOCKER SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/1/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java: Line 425: return Collections.emptyList(); > MAJOR SonarQube violation: Done Line 483: IOptimizableFuncExpr optFuncExpr, IAType indexedFieldType, OptimizableOperatorSubTree probeSubTree) > MAJOR SonarQube violation: Done Line 578: break; > MAJOR SonarQube violation: Done Line 984: varAlreadyAdded = findVarInTripleVarList(unionVarMap, tVar, true); > MAJOR SonarQube violation: Done Line 1859: > MAJOR SonarQube violation: Done Line 2313: // First, check whether the given old variable can be deleted. If it is used somewhere else > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/4/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java: Line 1606: > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/13/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java: Line 582: default: > MAJOR SonarQube violation: Done Line 582: default: > MAJOR SonarQube violation: Done Line 595: } catch (HyracksDataException e) { > CRITICAL SonarQube violation: Done Line 595: } catch (HyracksDataException e) { > CRITICAL SonarQube violation: Done Line 595: } catch (HyracksDataException e) { > fix this? Done Line 608: } catch (HyracksDataException e) { > CRITICAL SonarQube violation: Done Line 608: } catch (HyracksDataException e) { > Fix this? Done Line 608: } catch (HyracksDataException e) { > CRITICAL SonarQube violation: Done PS13, Line 750: // Are we transforming a join plan? > considering keeping the old method and create a new one for index only? Done PS13, Line 752: topOpRef.getValue().getOperatorTag() != LogicalOperatorTag.SELECT > is there any chance to make the code agnostic to SELECT? Done. Line 857: case RECTANGLE: > MAJOR SonarQube violation: Done Line 857: case RECTANGLE: > MAJOR SonarQube violation: Done PS13, Line 939: // If there are ASSIGN operators before the given SELECT or JOIN operator, we need to propagate : // these variables to the UNIONALL operator, too. > update the comment to be based on variable usage/liveness. Done Line 947: for (int j = 0; j < usedVarsInAssignUnnestBeforeTopOpTmp.size(); j++) { > MAJOR SonarQube violation: Done Line 947: for (int j = 0; j < usedVarsInAssignUnnestBeforeTopOpTmp.size(); j++) { > MAJOR SonarQube violation: Done Line 967: if (!usedVarsAfterTopOp.contains(tmpVar)) { > MAJOR SonarQube violation: Done Line 967: if (!usedVarsAfterTopOp.contains(tmpVar)) { > MAJOR SonarQube violation: Done PS13, Line 962: if (afterTopOpRefs != null) { : for (Mutable afterTopOpRef : afterTopOpRefs) { : tmpVars.clear(); : VariableUtilities.getUsedVariables((ILogicalOperator) afterTopOpRef.getValue(), tmpVars); : for (LogicalVariable tmpVar : tmpVars) { : if (!usedVarsAfterTopOp.contains(tmpVar)) { : usedVarsAfterTopOp.add(tmpVar); : } : } : } : } > OperatorPropertiesUtils.getFreeVaraibles() Done PS13, Line 977: : // Is the used
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#12). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_09.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#15). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-04.aql A
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#14). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_09.aql A
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Taewoo Kim has submitted this change and it was merged. Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by - Set a proper hash table cardinality during the merge phase of the external hash group-by operator. - Currently, the number of tuples in a spilled partition is used as the hash table cardinality. And this can cause an issue since compiler.groupmemory size is not considered. - So, like the initial group-by build phase, the hash table cardinality will be set properly based on the memory budget for the group-by operator. Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1702 Sonar-Qube: JenkinsTested-by: Jenkins BAD: Jenkins Integration-Tests: Jenkins Reviewed-by: Yingyi Bu --- M hyracks-fullstack/algebricks/algebricks-core/pom.xml M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/pom.xml M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java R hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptorTest.java 6 files changed, 71 insertions(+), 79 deletions(-) Approvals: Yingyi Bu: Looks good to me, approved Jenkins: Verified; No violations found; No violations found; Verified diff --git a/hyracks-fullstack/algebricks/algebricks-core/pom.xml b/hyracks-fullstack/algebricks/algebricks-core/pom.xml index 6fdaec5..3c2912e 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/pom.xml +++ b/hyracks-fullstack/algebricks/algebricks-core/pom.xml @@ -81,16 +81,5 @@ org.apache.commons commons-lang3 - - com.e-movimento.tinytools - privilegedaccessor - 1.2.2 - test - - - junit - junit - test - diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java index 8555ade..9e7daf0 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java @@ -65,7 +65,6 @@ import org.apache.hyracks.dataflow.std.group.HashSpillableTableFactory; import org.apache.hyracks.dataflow.std.group.IAggregatorDescriptorFactory; import org.apache.hyracks.dataflow.std.group.external.ExternalGroupOperatorDescriptor; -import org.apache.hyracks.dataflow.std.structures.SerializableHashTable; public class ExternalGroupByPOperator extends AbstractPhysicalOperator { @@ -259,8 +258,8 @@ // Calculates the hash table size (# of unique hash values) based on the budget and a tuple size. int memoryBudgetInBytes = context.getFrameSize() * frameLimit; int groupByColumnsCount = gby.getGroupByList().size() + numFds; -int hashTableSize = calculateGroupByTableCardinality(memoryBudgetInBytes, groupByColumnsCount, -context.getFrameSize()); +int hashTableSize = ExternalGroupOperatorDescriptor.calculateGroupByTableCardinality(memoryBudgetInBytes, +groupByColumnsCount, context.getFrameSize()); ExternalGroupOperatorDescriptor gbyOpDesc = new ExternalGroupOperatorDescriptor(spec, hashTableSize, inputSize, keyAndDecFields, frameLimit, comparatorFactories, normalizedKeyFactory, aggregatorFactory, mergeFactory, @@ -282,51 +281,4 @@ return true; } -/** - * Based on a rough estimation of a tuple (each field size: 4 bytes) size and the number of possible hash values - * for the given number of group-by columns, calculates the number of hash entries for the hash table in Group-by. - * The formula is min(# of possible hash values, # of possible tuples in the data table). - * This method assumes that the group-by table consists of hash table that stores hash value of tuple pointer - * and data table actually stores the aggregated
Change in asterixdb[master]: Expected Hash Table footprint size calculation fix
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1738 Change subject: Expected Hash Table footprint size calculation fix .. Expected Hash Table footprint size calculation fix - Fix the expected hash table footprint size calculation based on the cardinality. An operand was missing. Change-Id: I9eb658a189fcf3d68978f627959c67d0c2641a29 --- M asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp A asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7_variant.sqlpp M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SimpleSerializableHashTable.java 4 files changed, 60 insertions(+), 5 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/38/1738/1 diff --git a/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp b/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp index bc6a7a6..9a96ea4 100644 --- a/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp +++ b/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp @@ -17,8 +17,6 @@ * under the License. */ -// Error: sporadically dead node. - USE tpch; WITH q7_volume_shipping_tmp AS diff --git a/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7_variant.sqlpp b/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7_variant.sqlpp new file mode 100644 index 000..5e71471 --- /dev/null +++ b/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7_variant.sqlpp @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +USE tpch; + +WITH q7_volume_shipping_tmp AS +( +SELECT n1.n_name AS supp_nation, + n2.n_name AS cust_nation, + n1.n_nationkey AS s_nationkey, + n2.n_nationkey AS c_nationkey +FROM Nation as n1, + Nation as n2 +WHERE (n1.n_name='FRANCE' AND n2.n_name='GERMANY') OR (n1.n_name='GERMANY' AND n2.n_name='FRANCE') +) + +SELECT supp_nation, cust_nation, l_year, sum(volume) AS revenue +FROM + ( +SELECT t.supp_nation, t.cust_nation, GET_YEAR(l3.l_shipdate) AS l_year, + l3.l_extendedprice * (1 - l3.l_discount) AS volume +FROM q7_volume_shipping_tmp t JOIN +( + SELECT l2.l_shipdate, l2.l_extendedprice, l2.l_discount, l2.c_nationkey, s.s_nationkey + FROM Supplier s JOIN + ( + SELECT l1.l_shipdate, l1.l_extendedprice, l1.l_discount, l1.l_suppkey, c.c_nationkey + FROM Customer c JOIN + ( + SELECT l.l_shipdate, l.l_extendedprice, l.l_discount, l.l_suppkey, o.o_custkey + FROM Orders o + JOIN LineItem l ON o.o_orderkey = l.l_orderkey AND l.l_shipdate >= '1995-01-01' +AND l.l_shipdate <= '1996-12-31' + ) l1 ON c.c_custkey = l1.o_custkey + +) l2 ON s.s_suppkey = l2.l_suppkey + ) l3 ON t.c_nationkey = l3.c_nationkey AND t.s_nationkey = l3.s_nationkey + ) shipping +GROUP BY supp_nation, cust_nation, l_year +ORDER BY supp_nation, cust_nation, l_year; + diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java index d5e3568..ebaffd5 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java @@ -480,8 +480,8 @@
Change in asterixdb[master]: Expected Hash Table footprint size calculation fix
Hello Yingyi Bu, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1738 to look at the new patch set (#3). Change subject: Expected Hash Table footprint size calculation fix .. Expected Hash Table footprint size calculation fix - Fix the expected hash table footprint size calculation based on the cardinality. An operand was missing. Change-Id: I9eb658a189fcf3d68978f627959c67d0c2641a29 --- M asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp A asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7_variant.sqlpp M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SimpleSerializableHashTable.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptorTest.java 5 files changed, 70 insertions(+), 15 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/38/1738/3 -- To view, visit https://asterix-gerrit.ics.uci.edu/1738 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9eb658a189fcf3d68978f627959c67d0c2641a29 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: ASTERIXDB-1789: fix an accessor that is used by Hash Table
Taewoo Kim has posted comments on this change. Change subject: ASTERIXDB-1789: fix an accessor that is used by Hash Table .. Patch Set 1: As you can see, what this class is doing is fetching frameTupleAccessor for a tuple's frame index. And we already have the frameTupleAccessor related test. Execution Test covers the compaction case. However, this issue only happens in a rare situation (e.g., large volume of data) case. -- To view, visit https://asterix-gerrit.ics.uci.edu/1734 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I74b6de8f189e841c16735dbd63f13892bbd61c20 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1789: fix an accessor that is used by Hash Table
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1734 to look at the new patch set (#2). Change subject: ASTERIXDB-1789: fix an accessor that is used by Hash Table .. ASTERIXDB-1789: fix an accessor that is used by Hash Table - Fix an accesor that is used by SerializableHashTable class. This accessor class is required to calculate the original hash value of a tuple when compacting the hash table. Change-Id: I74b6de8f189e841c16735dbd63f13892bbd61c20 --- R asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java 2 files changed, 3 insertions(+), 4 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/34/1734/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/1734 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I74b6de8f189e841c16735dbd63f13892bbd61c20 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: ASTERIXDB-1789: fix an accessor that is used by Hash Table
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1734 Change subject: ASTERIXDB-1789: fix an accessor that is used by Hash Table .. ASTERIXDB-1789: fix an accessor that is used by Hash Table - Fix an accesor that is used by SerializableHashTable class. This accessor class is required to calculate the original hash value of a tuple when compacting the hash table. Change-Id: I74b6de8f189e841c16735dbd63f13892bbd61c20 --- M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/34/1734/1 diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java index 2c9d24a..aadcb26 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java @@ -24,8 +24,7 @@ import org.apache.hyracks.api.comm.IFrameTupleAccessor; import org.apache.hyracks.api.dataflow.value.RecordDescriptor; -import org.apache.hyracks.dataflow.std.sort.util.DeletableFrameTupleAppender; -import org.apache.hyracks.dataflow.std.sort.util.IAppendDeletableFrameTupleAccessor; +import org.apache.hyracks.dataflow.common.comm.io.FrameTupleAccessor; import org.apache.hyracks.dataflow.std.structures.TuplePointer; /** @@ -33,11 +32,11 @@ */ public class TupleInFrameListAccessor extends AbstractTuplePointerAccessor { -private IAppendDeletableFrameTupleAccessor bufferAccessor; +private IFrameTupleAccessor bufferAccessor; private List bufferFrames; public TupleInFrameListAccessor(RecordDescriptor rd, List bufferFrames) { -bufferAccessor = new DeletableFrameTupleAppender(rd); +bufferAccessor = new FrameTupleAccessor(rd); this.bufferFrames = bufferFrames; } -- To view, visit https://asterix-gerrit.ics.uci.edu/1734 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I74b6de8f189e841c16735dbd63f13892bbd61c20 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo Kim
Change in asterixdb[master]: ASTERIXDB-1789: fix an accessor that is used by Hash Table
Taewoo Kim has submitted this change and it was merged. Change subject: ASTERIXDB-1789: fix an accessor that is used by Hash Table .. ASTERIXDB-1789: fix an accessor that is used by Hash Table - Fix an accesor that is used by SerializableHashTable class. This accessor class is required to calculate the original hash value of a tuple when compacting the hash table. Change-Id: I74b6de8f189e841c16735dbd63f13892bbd61c20 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1734 Reviewed-by: Yingyi BuSonar-Qube: Jenkins Tested-by: Jenkins BAD: Jenkins Integration-Tests: Jenkins --- R asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java 2 files changed, 3 insertions(+), 4 deletions(-) Approvals: Yingyi Bu: Looks good to me, approved Jenkins: Verified; No violations found; No violations found; Verified diff --git a/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp.dis b/asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp similarity index 100% rename from asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp.dis rename to asterixdb/asterix-benchmark/src/main/resources/benchmarks/tpch/queries/q7.sqlpp diff --git a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java index 2c9d24a..aadcb26 100644 --- a/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java +++ b/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/buffermanager/TupleInFrameListAccessor.java @@ -24,8 +24,7 @@ import org.apache.hyracks.api.comm.IFrameTupleAccessor; import org.apache.hyracks.api.dataflow.value.RecordDescriptor; -import org.apache.hyracks.dataflow.std.sort.util.DeletableFrameTupleAppender; -import org.apache.hyracks.dataflow.std.sort.util.IAppendDeletableFrameTupleAccessor; +import org.apache.hyracks.dataflow.common.comm.io.FrameTupleAccessor; import org.apache.hyracks.dataflow.std.structures.TuplePointer; /** @@ -33,11 +32,11 @@ */ public class TupleInFrameListAccessor extends AbstractTuplePointerAccessor { -private IAppendDeletableFrameTupleAccessor bufferAccessor; +private IFrameTupleAccessor bufferAccessor; private List bufferFrames; public TupleInFrameListAccessor(RecordDescriptor rd, List bufferFrames) { -bufferAccessor = new DeletableFrameTupleAppender(rd); +bufferAccessor = new FrameTupleAccessor(rd); this.bufferFrames = bufferFrames; } -- To view, visit https://asterix-gerrit.ics.uci.edu/1734 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I74b6de8f189e841c16735dbd63f13892bbd61c20 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo Kim Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: Implemented LSM disk components alignment
Taewoo Kim has posted comments on this change. Change subject: Implemented LSM disk components alignment .. Patch Set 18: I think we need to consider a situation where a secondary index is built at a later time. For example, I can create a dataset with a secondary index A, after one day, I can create an another secondary index B. -- To view, visit https://asterix-gerrit.ics.uci.edu/1725 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I64bf34e255def72adc73b9f87cfa628a172ea694 Gerrit-PatchSet: 18 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Luo ChenGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Luo Chen Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: Yingyi Bu Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Metadata Count Temp Fix
Taewoo Kim has posted comments on this change. Change subject: Metadata Count Temp Fix .. Patch Set 6: Code-Review+2 Thanks! Well done. -- To view, visit https://asterix-gerrit.ics.uci.edu/1729 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I3587e30e049a06a1536fe4e8ba131cd87fe832fe Gerrit-PatchSet: 6 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ian MaxonGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: Change logical plan to apply filter from 2ndary index
Taewoo Kim has posted comments on this change. Change subject: Change logical plan to apply filter from 2ndary index .. Patch Set 7: (7 comments) General comments for each test: can you put a description on each test? What the given test is intended for? And it might be a good idea to print filter information in the physical operator, too since the optimizer Test result doesn't tell us much. https://asterix-gerrit.ics.uci.edu/#/c/1727/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java: Line 355: // TODO look at here about the variables Can you be more specific about this comment? https://asterix-gerrit.ics.uci.edu/#/c/1727/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java: PS7, Line 262: Can these two switch() be combined? Line 291: private void propagateFilterInSecondaryUnnest(UnnestMapOperator secondaryUnnest, IAType filterType, propagateFilterInSecondaryUnnsetMap? Line 305: private void setFilterValueFromSecondaryUnnest(UnnestMapOperator primaryOp, setFilterValueFromSecondaryUnnestMap? https://asterix-gerrit.ics.uci.edu/#/c/1727/7/asterixdb/asterix-app/data/twitter/real.2.adm File asterixdb/asterix-app/data/twitter/real.2.adm: Line 1: { "create_at": datetime("2016-01-02T10:00:00.000Z"), "id": 683347019176501248, "text": "@e_tomkiewicz o I know", "in_reply_to_status": 683306019192176642, "in_reply_to_user": 379427210, "favorite_count": 0, "retweet_count": 0, "lang": "en", "is_retweet": false, "user_mentions": {{ 379427210 }}, "user": { "id": 51597840, "name": "Sydney Isroff", "screen_name": "SydneyIsroff", "lang": "en", "location": "null", "create_at": date("2009-06-27"), "description": "Kids are allowed but not welcomed", "followers_count": 408, "friends_count": 78, "statues_count": 13278 }, "place": { "country": "United States", "country_code": "United States", "full_name": "Milwaukee, WI", "id": "2a93711775303f90", "name": "Milwaukee", "place_type": "city", "bounding_box": rectangle("-88.070827,42.920822 -87.863758,43.192623") }, "geo_tag": { "stateID": 55, "stateName": "Wisconsin", "countyID": 55079, "countyName": "Milwaukee", "cityID": 5553000, "cityName": "Milwaukee" } } Do we need 10,000 tuples in a test case? https://asterix-gerrit.ics.uci.edu/#/c/1727/7/asterixdb/asterix-app/data/twitter/real.adm File asterixdb/asterix-app/data/twitter/real.adm: Line 1: { "create_at": datetime("2015-11-23T16:14:03.000Z"), "id": 668945640186101761, "text": "Just posted a photo @ Campus Martius Park https://t.co/5Ax4E2CdWZ;, "in_reply_to_status": -1, "in_reply_to_user": -1, "favorite_count": 0, "coordinate": point("-83.04647491,42.33170228"), "retweet_count": 0, "lang": "en", "is_retweet": false, "user": { "id": 48121888, "name": "Kevin McKague", "screen_name": "KevinOfMI", "lang": "en", "location": "Davison, Michigan", "create_at": date("2009-06-17"), "description": "I need to ride my bike until my brain shuts up and my muscles are screaming. \nRight after these donuts. Dad of 3.\n Visit my blog 18 Wheels and a 12-Speed Bike.", "followers_count": 1178, "friends_count": 1780, "statues_count": 22263 }, "place": { "country": "United States", "country_code": "United States", "full_name": "Detroit, MI", "id": "b463d3bd6064861b", "name": "Detroit", "place_type": "city", "bounding_box": rectangle("-83.288056,42.255085 -82.91052,42.450488") }, "geo_tag": { "stateID": 26, "stateName": "Michigan", "countyID": 26163, "countyName": "Wayne", "cityID": 2622000, "cityName": "Detroit" } } Do we need 20,000 tuples in a test case? https://asterix-gerrit.ics.uci.edu/#/c/1727/7/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java File hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java: Line 26: import org.apache.hyracks.api.dataflow.value.*; Our principle is not doing *? Isn't it? Maybe Till needs to check this. -- To view, visit https://asterix-gerrit.ics.uci.edu/1727 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0e2fe0208662e5dcd49d1a22bfb58f96533e9497 Gerrit-PatchSet: 7 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Jianfeng JiaGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Luo Chen Gerrit-Reviewer: Taewoo Kim
Change in asterixdb[master]: Add query/aql endpoint.
Taewoo Kim has posted comments on this change. Change subject: Add query/aql endpoint. .. Patch Set 8: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/1653 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib17f8d33adf49d75403c1cbdabebea2e0f3aeb4a Gerrit-PatchSet: 8 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Till WestmannGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: Log filter values for redo during recovery
Taewoo Kim has posted comments on this change. Change subject: Log filter values for redo during recovery .. Patch Set 5: (7 comments) Thanks! A few thoughts https://asterix-gerrit.ics.uci.edu/#/c/1798/5/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTree.java File hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTree.java: Line 1249: } Which would be the most frequent case? non-filter case? If so, can we change the order of this if? https://asterix-gerrit.ics.uci.edu/#/c/1798/5/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeOpContext.java File hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeOpContext.java: Line 59: private PermutingTupleReference logTuple; Can we put some comments on this for the future references? https://asterix-gerrit.ics.uci.edu/#/c/1798/5/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeOpContext.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeOpContext.java: Line 85: if (allFields != null) { What does this if do? (allFields != null) https://asterix-gerrit.ics.uci.edu/#/c/1798/5/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexOperationContext.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexOperationContext.java: Line 63: allFields = new int[treeFields.length + filterFields.length]; Can we put some comments on this? What does this do? https://asterix-gerrit.ics.uci.edu/#/c/1798/5/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java: Line 60: if (allFields != null) { Maybe the same question here: what does this if do? (allFields != null) https://asterix-gerrit.ics.uci.edu/#/c/1798/5/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java: Line 178: public IIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, > MAJOR SonarQube violation: Can we take care of this? https://asterix-gerrit.ics.uci.edu/#/c/1798/5/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java: Line 64: if (allFields != null) { The same question here about allFields != null -- To view, visit https://asterix-gerrit.ics.uci.edu/1798 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I9268fe0b60145545c5933bab698d651c324397d7 Gerrit-PatchSet: 5 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ian MaxonGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Luo Chen Gerrit-Reviewer: Michael Blow Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1371 - Define new datatype 'geometry' user model c...
Taewoo Kim has posted comments on this change. Change subject: ASTERIXDB-1371 - Define new datatype 'geometry' user model changes: Add new builtin type 'geometry' storage format changes: no interface changes: no .. Patch Set 1: (5 comments) I think it looks like a good start. Comments: A test should have an output. Does this have a separate test-suite? If there will not many test cases for geoJSON, I think we don't create a separate test suite. https://asterix-gerrit.ics.uci.edu/#/c/1838/1/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/datatype/datatype_definition.1.ddl.sqlpp File asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/geojson/datatype/datatype_definition.1.ddl.sqlpp: PS1, Line 27: geometry Should this be allowed? I think the type name should be a reserved word. It's like declaring an "int : int". https://asterix-gerrit.ics.uci.edu/#/c/1838/1/asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/datatype/datatype.1.adm File asterixdb/asterix-app/src/test/resources/runtimets/results/geojson/datatype/datatype.1.adm: Line 1 Empty file? https://asterix-gerrit.ics.uci.edu/#/c/1838/1/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml File asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml: Line 22: Not sure why this should be a separate test suite? PS1, Line 8788: Should be removed? https://asterix-gerrit.ics.uci.edu/#/c/1838/1/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java File asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java: PS1, Line 708: type All other types are using their typetag here (captial). For example, check the line number 736. -- To view, visit https://asterix-gerrit.ics.uci.edu/1838 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: If32dbfcc11350a81e6a64f6abeec0595aa7872d2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Riyafa Abdul HameedGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1371 - Define new datatype 'geometry' user model c...
Taewoo Kim has posted comments on this change. Change subject: ASTERIXDB-1371 - Define new datatype 'geometry' user model changes: Add new builtin type 'geometry' storage format changes: no interface changes: no .. Patch Set 1: Also, it would be nice if Till can provide some comments, too. -- To view, visit https://asterix-gerrit.ics.uci.edu/1838 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: If32dbfcc11350a81e6a64f6abeec0595aa7872d2 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Riyafa Abdul HameedGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-HasComments: No
Change in asterixdb[master]: Hyracks Unit tests for LSM Filters
Taewoo Kim has posted comments on this change. Change subject: Hyracks Unit tests for LSM Filters .. Patch Set 10: (2 comments) Almost there. Just two comments. :-) https://asterix-gerrit.ics.uci.edu/#/c/1704/10/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java File hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java: PS10, Line 91: If it's filtered, why do we deduct 1? https://asterix-gerrit.ics.uci.edu/#/c/1704/10/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeFilterMergeTest.java File hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeFilterMergeTest.java: Line 32: Can you put a comment here in Java-doc style? What does this do? -- To view, visit https://asterix-gerrit.ics.uci.edu/1704 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie0e79c0a25d5d6be727b9ebad841801024c00e94 Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ian MaxonGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: Hyracks Unit tests for LSM Filters
Taewoo Kim has posted comments on this change. Change subject: Hyracks Unit tests for LSM Filters .. Patch Set 10: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/1704 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie0e79c0a25d5d6be727b9ebad841801024c00e94 Gerrit-PatchSet: 10 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ian MaxonGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Jianfeng Jia Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1702 to look at the new patch set (#8). Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by - Set a proper hash table cardinality during the merge phase of the external hash group-by operator. - Currently, the number of tuples in a spilled partition is used as the hash table cardinality. And this can cause an issue since compiler.groupmemory size is not considered. - So, like the initial group-by build phase, the hash table cardinality will be set properly based on the memory budget for the group-by operator. Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 --- M hyracks-fullstack/algebricks/algebricks-core/pom.xml M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ExternalGroupByPOperator.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/pom.xml M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptor.java M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupWriteOperatorNodePushable.java R hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/group/external/ExternalGroupOperatorDescriptorTest.java 6 files changed, 71 insertions(+), 79 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/02/1702/8 -- To view, visit https://asterix-gerrit.ics.uci.edu/1702 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 Gerrit-PatchSet: 8 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: ASTERIXDB-1892: Sets a proper hash table cardinality during ...
Taewoo Kim has posted comments on this change. Change subject: ASTERIXDB-1892: Sets a proper hash table cardinality during hash-group by .. Patch Set 7: (1 comment) Removed the header frame compaction. https://asterix-gerrit.ics.uci.edu/#/c/1702/7/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java File hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SerializableHashTable.java: PS7, Line 86: markHeaderFrameDirty > markHeaderFrameDirty -> markHeaderFrameReclaimable OK. -- To view, visit https://asterix-gerrit.ics.uci.edu/1702 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I651139b2b559ad4d2f6137a5c844814606516a90 Gerrit-PatchSet: 7 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: Yes
Change in asterixdb[master]: Fix: Cursor can release entity lock twice in case of reconsile
Taewoo Kim has posted comments on this change. Change subject: Fix: Cursor can release entity lock twice in case of reconsile .. Patch Set 2: Abdullah, can you present a scenario? -- To view, visit https://asterix-gerrit.ics.uci.edu/1804 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ia7f831147f6df6a712e592e029a28a1e9b8ef5a5 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudiGerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#17). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_09.aql A
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. Patch Set 17: (6 comments) Thanks Dmitry for the initial comments. https://asterix-gerrit.ics.uci.edu/#/c/1880/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java: Line 328: e.printStackTrace(); > Same. Why exception is caught and swallowed here? Yingyi suggested that a lambda expression is more understandable for this place. I modified the function. However, for the exception, other than choosing this, "throw an exception" didn't help. Could you give me some hint to modify this? Line 335: e.printStackTrace(); > Same. Why exception is caught and swallowed here? Yingyi suggested that a lambda expression is more understandable for this place. I modified the function. However, for the exception, other than choosing this, "throw an exception" didn't help. Could you give me some hint to modify this? Line 413: boolean leftSubTreeInitialized = leftSubTree.initFromSubTree(joinOp.getInputs().get(0), false); > leftSubTreeInitialized is not needed and should probably be removed because At least we need to set the root operator of the subtree. So, that initialization is required. Line 421: if (leftSubTree.hasDataSourceScan() || rightSubTree.hasDataSourceScan()) { > Can we remove leftSubTree.hasDataSourceScan() , because The left subtree wa That's correct. Modified. https://asterix-gerrit.ics.uci.edu/#/c/1880/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java: Line 343: } catch (Exception e) { > What kind of exception is caught here and why is it swallowed? It didn't do Same for the join case. I tried to change it to a lambda expression and "throw an exception" didn't work here. Could you give me some hint? https://asterix-gerrit.ics.uci.edu/#/c/1880/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java: Line 103: return true; > Should this return 'false' because the subtree was not fully initialized? R Makes sense. Modified. -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 17 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: Yes
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1880 to look at the new patch set (#18). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-lojoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/meta/secondary_index-nljoin_with_meta-1.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_3.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-join_06.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_03.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_04.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_05.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/nested-open-index/btree-index-join/secondary-composite-key-prefix-join_09.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#16). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index/rtree-secondary-index-indexonly-plan-04.aql A
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. Patch Set 3: @Dmitry: OK. Let's do that. Thanks! -- To view, visit https://asterix-gerrit.ics.uci.edu/2030 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2030 to look at the new patch set (#4). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_05.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_06.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_04.ast A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_05.ast A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_06.ast 10 files changed, 381 insertions(+), 12 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/30/2030/4 -- To view, visit https://asterix-gerrit.ics.uci.edu/2030 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 Gerrit-PatchSet: 4 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Taewoo Kim has submitted this change and it was merged. Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2030 Sonar-Qube: JenkinsTested-by: Jenkins Contrib: Jenkins Integration-Tests: Jenkins Reviewed-by: Dmitry Lychagin --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_05.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_06.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_04.ast A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_05.ast A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_06.ast 10 files changed, 381 insertions(+), 12 deletions(-) Approvals: Jenkins: Verified; No violations found; ; Verified Dmitry Lychagin: Looks good to me, approved diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java index 7fc7902..1a7ccbd 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java @@ -320,25 +320,21 @@ // This will be used to find an applicable index on the dataset. boolean checkLeftSubTreeMetadata = false; boolean checkRightSubTreeMetadata = false; -if (continueCheck && (matchInLeftSubTree || matchInRightSubTree)) { +if (continueCheck && matchInRightSubTree) { // Set dataset and type metadata. if (matchInLeftSubTree) { checkLeftSubTreeMetadata = leftSubTree.setDatasetAndTypeMetadata(metadataProvider); } -if (matchInRightSubTree) { -checkRightSubTreeMetadata = rightSubTree.setDatasetAndTypeMetadata(metadataProvider); -} +checkRightSubTreeMetadata = rightSubTree.setDatasetAndTypeMetadata(metadataProvider); } -if (continueCheck && (checkLeftSubTreeMetadata || checkRightSubTreeMetadata)) { +if (continueCheck && checkRightSubTreeMetadata) { // Map variables to the applicable indexes and find the field name and type. // Then find the applicable indexes for the variables used in the JOIN condition. if (checkLeftSubTreeMetadata) { fillSubTreeIndexExprs(leftSubTree, analyzedAMs, context); } -if (checkRightSubTreeMetadata) { -fillSubTreeIndexExprs(rightSubTree, analyzedAMs, context); -} +fillSubTreeIndexExprs(rightSubTree, analyzedAMs, context); // Prune the access methods based on the function expression and access methods. pruneIndexCandidates(analyzedAMs, context, typeEnvironment); @@ -414,15 +410,18 @@ } joinCond = (AbstractFunctionCallExpression) condExpr; -boolean leftSubTreeInitialized = leftSubTree.initFromSubTree(joinOp.getInputs().get(0)); +// The result of the left subtree initialization does not need to be checked since only the field type +// of the field that is being joined is important. However, if we do not initialize the left sub tree, +// we lose a chance to get the field type of a field if there is an enforced index on it. +
Change in asterixdb[master]: [ASTERIXDB-2119][COMP] Fix variable ordering of projects
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-2119][COMP] Fix variable ordering of projects .. Patch Set 2: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2043 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id96a5fe048dd11b7f2e97f4d4a802736ba5ba003 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Luo ChenGerrit-Reviewer: Jenkins Gerrit-Reviewer: Luo Chen Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2030 to look at the new patch set (#2). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_05.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_06.plan 8 files changed, 269 insertions(+), 40 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/30/2030/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2030 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2030 to look at the new patch set (#3). Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_05.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_06.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_04.ast A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_05.ast A asterixdb/asterix-app/src/test/resources/optimizerts/results_parser_sqlpp/btree-index-join/secondary-equi-join_06.ast 11 files changed, 421 insertions(+), 40 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/30/2030/3 -- To view, visit https://asterix-gerrit.ics.uci.edu/2030 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Jenkins
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/2030 Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. [ASTERIXDB-1984][COMP] probe-subtree init not required - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. - As a result, an open-type field with an enforced-index on the probe side will not be considered for the index-nested-loop join. An explicit conversion function should be used in such case. - The surrogate-join in the InvertedIndexAccessMethod now does not need a fixed form of sub-tree. Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a26 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries_sqlpp/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_04.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_05.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/secondary-equi-join_06.plan 8 files changed, 269 insertions(+), 40 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/30/2030/1 diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java index 7fc7902..1a7ccbd 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java @@ -320,25 +320,21 @@ // This will be used to find an applicable index on the dataset. boolean checkLeftSubTreeMetadata = false; boolean checkRightSubTreeMetadata = false; -if (continueCheck && (matchInLeftSubTree || matchInRightSubTree)) { +if (continueCheck && matchInRightSubTree) { // Set dataset and type metadata. if (matchInLeftSubTree) { checkLeftSubTreeMetadata = leftSubTree.setDatasetAndTypeMetadata(metadataProvider); } -if (matchInRightSubTree) { -checkRightSubTreeMetadata = rightSubTree.setDatasetAndTypeMetadata(metadataProvider); -} +checkRightSubTreeMetadata = rightSubTree.setDatasetAndTypeMetadata(metadataProvider); } -if (continueCheck && (checkLeftSubTreeMetadata || checkRightSubTreeMetadata)) { +if (continueCheck && checkRightSubTreeMetadata) { // Map variables to the applicable indexes and find the field name and type. // Then find the applicable indexes for the variables used in the JOIN condition. if (checkLeftSubTreeMetadata) { fillSubTreeIndexExprs(leftSubTree, analyzedAMs, context); } -if (checkRightSubTreeMetadata) { -fillSubTreeIndexExprs(rightSubTree, analyzedAMs, context); -} +fillSubTreeIndexExprs(rightSubTree, analyzedAMs, context); // Prune the access methods based on the function expression and access methods. pruneIndexCandidates(analyzedAMs, context, typeEnvironment); @@ -414,15 +410,18 @@ } joinCond = (AbstractFunctionCallExpression) condExpr; -boolean leftSubTreeInitialized = leftSubTree.initFromSubTree(joinOp.getInputs().get(0)); +// The result of the left subtree initialization does not need to be checked since only the field type +// of the field that is being joined is important. However, if we do not initialize the left sub tree, +// we lose a chance to get the field type of a field if there is an enforced index on it. +leftSubTree.initFromSubTree(joinOp.getInputs().get(0)); boolean rightSubTreeInitialized = rightSubTree.initFromSubTree(joinOp.getInputs().get(1)); -if (!leftSubTreeInitialized || !rightSubTreeInitialized) { +if (!rightSubTreeInitialized) { return false; } -//
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required
Taewoo Kim has abandoned this change. Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required .. Abandoned Submitted a new patch set. -- To view, visit https://asterix-gerrit.ics.uci.edu/1880 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: abandon Gerrit-Change-Id: Ib353c85bf627d8dd65dba0ea307dee428edb4a25 Gerrit-PatchSet: 18 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Yingyi Bu
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#17). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroducePrimaryIndexForAggregationRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2
Taewoo Kim has submitted this change and it was merged. Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2 .. [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2 - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. Change-Id: Ibdf0baa060efa35a173d00e15f0a348937f2e7f6 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2175 Sonar-Qube: JenkinsTested-by: Jenkins Integration-Tests: Jenkins Contrib: Jenkins Reviewed-by: Taewoo Kim --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan 6 files changed, 197 insertions(+), 162 deletions(-) Approvals: Taewoo Kim: Looks good to me, approved Jenkins: Verified; No violations found; No violations found; Verified diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java index bed5c7f..e0c6249 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java @@ -22,9 +22,11 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.asterix.common.config.DatasetConfig.IndexType; import org.apache.asterix.dataflow.data.common.ExpressionTypeComputer; @@ -62,6 +64,8 @@ import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.UnnestOperator; +import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities; +import org.apache.hyracks.algebricks.core.algebra.typing.ITypingContext; import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; import com.google.common.collect.ImmutableSet; @@ -111,6 +115,25 @@ protected void fillSubTreeIndexExprs(OptimizableOperatorSubTree subTree, Map analyzedAMs, IOptimizationContext context) throws AlgebricksException { +fillSubTreeIndexExprs(subTree, analyzedAMs, context, false); +} + +/** + * Fills the information about the given optimizable function expressions using the subtree. + * + * @param subTree + * @param analyzedAMs + * @param context + * @param isArbitraryFormOfSubtree + *if the given subtree is in an arbitrary form that OptimizableSubTree class can't initialize, we try + *to fill the field type of each variable that is used in the optimizable function expressions. + *This way, an index-nested-loop-join transformation can be conducted properly since the transformation + *process skips an optimzable function expression if the field type of one of its variable is unknown. + * @throws AlgebricksException + */ +protected void fillSubTreeIndexExprs(OptimizableOperatorSubTree subTree, +Map analyzedAMs, IOptimizationContext context, +boolean isArbitraryFormOfSubtree) throws AlgebricksException { Iterator > amIt = analyzedAMs.entrySet().iterator(); // Check applicability of indexes by access method type. while (amIt.hasNext()) { @@ -118,7 +141,36 @@ AccessMethodAnalysisContext amCtx = entry.getValue(); // For the current access method type, map variables to applicable // indexes. -fillAllIndexExprs(subTree, amCtx, context); +if (!isArbitraryFormOfSubtree) { +
Change in asterixdb[master]: [ASTERIXDB-2176] Fix deletion on LSMRTree
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-2176] Fix deletion on LSMRTree .. Patch Set 2: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2188 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I3d9417e56f06044f585e019089004efd2b2af3b7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Luo ChenGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Luo Chen Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. Patch Set 17: (16 comments) https://asterix-gerrit.ics.uci.edu/#/c/1866/14/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java: Line 705: isIndexOnlyPlan = false; > MAJOR SonarQube violation: Done Line 754: } > BLOCKER SonarQube violation: Done Line 930: // Variables and types for the primary-index search. > MAJOR SonarQube violation: Done Line 1243: LogicalVariable replacedVar = context.newVar(); > MAJOR SonarQube violation: Done Line 1315: > MAJOR SonarQube violation: Done Line 2217: .create(ErrorCode.CANNOT_GET_FIELD_TYPE_FOR_FIELD_NAME, e, fieldName); > CRITICAL SonarQube violation: Done Line 2374: > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java: Line 737: indexSearchOp = AccessMethodUtils.resetVariableMappingInUnionOpInIndexOnlyPlan(lojMissingVarExist, > MAJOR SonarQube violation: Done Line 961: SelectOperator selectOp = null; > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java: Line 178: requireVerificationAfterSIdxSearch = indexOnlyPlanInfo.getThird(); > MAJOR SonarQube violation: Done Line 179: doesSIdxSearchCoverAllPredicates = indexOnlyPlanInfo.getFourth(); > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/17/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java: Line 174: // Gathers the variable to field-name mapping information for (unnest-map)? > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/14/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java File asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java: Line 1643 > CRITICAL SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/17/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java File hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java: Line 244: //System.out.println("searchPred " + searchPred + " count " + count); > MAJOR SonarQube violation: Done https://asterix-gerrit.ics.uci.edu/#/c/1866/17/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ComponentReplacementContext.java File hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ComponentReplacementContext.java: Line 233: return null; > MAJOR SonarQube violation: Done Line 243: return null; > MAJOR SonarQube violation: Done -- To view, visit https://asterix-gerrit.ics.uci.edu/1866 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 Gerrit-PatchSet: 17 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: Yingyi Bu Gerrit-HasComments: Yes
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#18). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroducePrimaryIndexForAggregationRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#19). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroducePrimaryIndexForAggregationRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_05.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#20). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroducePrimaryIndexForAggregationRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-09.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2 .. Patch Set 2: Code-Review+2 Forwarding Dmitry's +2 from patch set 1 (just rebased) -- To view, visit https://asterix-gerrit.ics.uci.edu/2175 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ibdf0baa060efa35a173d00e15f0a348937f2e7f6 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Dmitry Lychagin Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2176] Fix deletion on LSMRTree
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-2176] Fix deletion on LSMRTree .. Patch Set 1: Code-Review+2 (1 comment) LGTM. Only one minor comment https://asterix-gerrit.ics.uci.edu/#/c/2188/1/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeDeleteTest.java File hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeDeleteTest.java: Line 60: (int) Math.ceil((float) ctx.getCheckTuples().size() / (float) numDeleteRounds); Does this format change necessary? -- To view, visit https://asterix-gerrit.ics.uci.edu/2188 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I3d9417e56f06044f585e019089004efd2b2af3b7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Luo ChenGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#28). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroducePrimaryIndexForAggregationRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-09.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A
Change in asterixdb[master]: [ASTERIXDB-1972][COMP][RT][TX] index-only plan
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1866 to look at the new patch set (#29). Change subject: [ASTERIXDB-1972][COMP][RT][TX] index-only plan .. [ASTERIXDB-1972][COMP][RT][TX] index-only plan - user model changes: no - storage format changes: no - interface changes: IAccessMethod, ILSMIndexOperationContext, IIndexAccessor Details: - Implement an index-only plan Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51 --- 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/RTreeSearchPOperator.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodAnalysisContext.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/BTreeAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroducePrimaryIndexForAggregationRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/InvertedIndexAccessMethod.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/OptimizableOperatorSubTree.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/RTreeAccessMethod.java A asterixdb/asterix-app/data/nontagged/customerData2.json M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/primary-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_04.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_05.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-equi-join_06.sqlpp A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-primary-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-non-indexonly-plan-to-secondary-indexonly-plan-equi-join_01.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index-join/secondary-self-equi-join.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-composite-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-01.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-02.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-04.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-05.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-06.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-07.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-08.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/btree-index/btree-secondary-index-indexonly-plan-09.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_02.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_03.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/rtree-index-join/spatial-intersect-point_04.aql A
Change in asterixdb[master]: [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2
Taewoo Kim has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/2175 Change subject: [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2 .. [ASTERIXDB-1984][COMP] probe-subtree init not required - fix #2 - user model changes: no - storage format changes: no - interface changes: no Details: - Let the IntroduceJoinAccessMethod accept arbitrary forms of sub-tree for the probe-tree. Change-Id: Ibdf0baa060efa35a173d00e15f0a348937f2e7f6 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceJoinAccessMethodRule.java M asterixdb/asterix-app/src/test/resources/optimizerts/results/nonpure/keep-datetime-local.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1019.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/udfs/query-ASTERIXDB-1029_2.plan 6 files changed, 197 insertions(+), 162 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/75/2175/1 diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java index bed5c7f..e0c6249 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java @@ -22,9 +22,11 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.asterix.common.config.DatasetConfig.IndexType; import org.apache.asterix.dataflow.data.common.ExpressionTypeComputer; @@ -62,6 +64,8 @@ import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.AssignOperator; import org.apache.hyracks.algebricks.core.algebra.operators.logical.UnnestOperator; +import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities; +import org.apache.hyracks.algebricks.core.algebra.typing.ITypingContext; import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule; import com.google.common.collect.ImmutableSet; @@ -111,6 +115,25 @@ protected void fillSubTreeIndexExprs(OptimizableOperatorSubTree subTree, MapanalyzedAMs, IOptimizationContext context) throws AlgebricksException { +fillSubTreeIndexExprs(subTree, analyzedAMs, context, false); +} + +/** + * Fills the information about the given optimizable function expressions using the subtree. + * + * @param subTree + * @param analyzedAMs + * @param context + * @param isArbitraryFormOfSubtree + *if the given subtree is in an arbitrary form that OptimizableSubTree class can't initialize, we try + *to fill the field type of each variable that is used in the optimizable function expressions. + *This way, an index-nested-loop-join transformation can be conducted properly since the transformation + *process skips an optimzable function expression if the field type of one of its variable is unknown. + * @throws AlgebricksException + */ +protected void fillSubTreeIndexExprs(OptimizableOperatorSubTree subTree, +Map analyzedAMs, IOptimizationContext context, +boolean isArbitraryFormOfSubtree) throws AlgebricksException { Iterator > amIt = analyzedAMs.entrySet().iterator(); // Check applicability of indexes by access method type. while (amIt.hasNext()) { @@ -118,7 +141,36 @@ AccessMethodAnalysisContext amCtx = entry.getValue(); // For the current access method type, map variables to applicable // indexes. -fillAllIndexExprs(subTree, amCtx, context); +if (!isArbitraryFormOfSubtree) { +fillAllIndexExprs(subTree, amCtx, context); +} else { +fillVarFieldTypeForOptFuncExprs(subTree, amCtx, context); +} +} +} + +/** + * Sets the subtree and the field type for the variables in the given function expression. + * This method is only used for an arbitrary form of
Change in asterixdb[master]: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option...
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2116 to look at the new patch set (#6). Change subject: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option is properly handled .. [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option is properly handled - user model changes: no - storage format changes: no - interface changes: no details: When a fulltext search operation is combined with multiple other predicates, the fulltext search option was not handled properly. This patch set ensures that the fulltext search option is correctly handled. Change-Id: I240fbe08891d29532c6fcd60638a3b6bbe8da771 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/FullTextContainsParameterCheckRule.java 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/fulltext/fulltext-09/fulltext-09.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.6.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.7.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.6.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.7.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.7.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-02.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.7.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/common/FullTextContainsEvaluator.java 34 files changed, 973 insertions(+), 205 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/16/2116/6 -- To view, visit https://asterix-gerrit.ics.uci.edu/2116 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I240fbe08891d29532c6fcd60638a3b6bbe8da771 Gerrit-PatchSet: 6 Gerrit-Project: asterixdb
Change in asterixdb[master]: [NO ISSUE][RT][IDX] Simplify index.createAccessor()
Taewoo Kim has posted comments on this change. Change subject: [NO ISSUE][RT][IDX] Simplify index.createAccessor() .. Patch Set 6: (2 comments) @Mike.B: thanks! https://asterix-gerrit.ics.uci.edu/#/c/2120/6/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java File hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java: PS6, Line 42: Map > I would rename getParametersMap -> getParameters Sure. PS6, Line 42: MapgetParametersMap(); > Not exposing as a map could be painful if you need to process all of the pa This also makes sense. Then, I think we can keep the original method. How's your thought? @Till and @Abdullah? -- To view, visit https://asterix-gerrit.ics.uci.edu/2120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Iae015c342e830c81d666428447b595280139740e Gerrit-PatchSet: 6 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo Kim Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: [NO ISSUE][RT][IDX] Simplify index.createAccessor()
Taewoo Kim has posted comments on this change. Change subject: [NO ISSUE][RT][IDX] Simplify index.createAccessor() .. Patch Set 6: (1 comment) @Abdullah: thanks for the comment. @Till: how's your thought on his comment? https://asterix-gerrit.ics.uci.edu/#/c/2120/6/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java File hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java: PS6, Line 42: MapgetParametersMap(); > why don't we make the interface have: What you mean is the following? I think put and get implies that we use a map or list. :-) I am fine with this approach, too. How's your thought? @Till? void put(String name, Object value) Object get(String name) -- To view, visit https://asterix-gerrit.ics.uci.edu/2120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Iae015c342e830c81d666428447b595280139740e Gerrit-PatchSet: 6 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo Kim Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: [NO ISSUE][RT][IDX] Simplify index.createAccessor()
Hello Anon. E. Moose #1000171, abdullah alamoudi, Till Westmann, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2120 to look at the new patch set (#7). Change subject: [NO ISSUE][RT][IDX] Simplify index.createAccessor() .. [NO ISSUE][RT][IDX] Simplify index.createAccessor() - user model changes: no - storage format changes: no - interface change: yes (changed) IIndex, ILSMIndex (new) IIndexAccessParameters details: - Refactor index.createAccessor() method to accept an instance of IIndexAccessParameters as its parameter since currently only ModificationCallBack and SearchOperationCallback can be passed. If an accessor needs to have additional parameters, there was no way to pass them. Change-Id: Iae015c342e830c81d666428447b595280139740e --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ComponentRollbackTest.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicy.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/context/CorrelatedPrefixMergePolicyTest.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/AbstractTreeIndex.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/IndexAccessParameters.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/NoOpIndexAccessParameters.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBuddyBTreeMergeCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/dataflow/LSMIndexCompactOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ConstantMergePolicy.java M
Change in asterixdb[master]: [NO ISSUE][RT][IDX] Simplify index.createAccessor()
Taewoo Kim has posted comments on this change. Change subject: [NO ISSUE][RT][IDX] Simplify index.createAccessor() .. Patch Set 7: @Till and @Abdullah: thanks for the point. :-) @Abdullah: I have fixed the method name based on @Mike's comment. I will let you know again once the new build process is done. -- To view, visit https://asterix-gerrit.ics.uci.edu/2120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Iae015c342e830c81d666428447b595280139740e Gerrit-PatchSet: 7 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][RT][IDX] Simplify index.createAccessor()
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2120 to look at the new patch set (#2). Change subject: [NO ISSUE][RT][IDX] Simplify index.createAccessor() .. [NO ISSUE][RT][IDX] Simplify index.createAccessor() - user model changes: no - storage format changes: no - interface change: yes (changed) IIndex, ILSMIndex (new) IIndexAccessParameters details: - Refactor index.createAccessor() method to accept an instance of IIndexAccessParameters as its parameter since currently only ModificationCallBack and SearchOperationCallback can be passed. If an accessor needs to have additional parameters, there was no way to pass them. Change-Id: Iae015c342e830c81d666428447b595280139740e --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ComponentRollbackTest.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicy.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/context/CorrelatedPrefixMergePolicyTest.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/AbstractTreeIndex.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/IndexAccessParameters.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/NoOpIndexAccessParameters.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBuddyBTreeMergeCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/dataflow/LSMIndexCompactOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ConstantMergePolicy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java M
Change in asterixdb[master]: [NO ISSUE][RT][IDX] Simplify index.createAccessor()
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2120 to look at the new patch set (#3). Change subject: [NO ISSUE][RT][IDX] Simplify index.createAccessor() .. [NO ISSUE][RT][IDX] Simplify index.createAccessor() - user model changes: no - storage format changes: no - interface change: yes (changed) IIndex, ILSMIndex (new) IIndexAccessParameters details: - Refactor index.createAccessor() method to accept an instance of IIndexAccessParameters as its parameter since currently only ModificationCallBack and SearchOperationCallback can be passed. If an accessor needs to have additional parameters, there was no way to pass them. Change-Id: Iae015c342e830c81d666428447b595280139740e --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ComponentRollbackTest.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicy.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/context/CorrelatedPrefixMergePolicyTest.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/AbstractTreeIndex.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/IndexAccessParameters.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/NoOpIndexAccessParameters.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBuddyBTreeMergeCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/dataflow/LSMIndexCompactOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ConstantMergePolicy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java M
Change in asterixdb[master]: [NO ISSUE][RT][IDX] Simplify index.createAccessor()
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2120 to look at the new patch set (#4). Change subject: [NO ISSUE][RT][IDX] Simplify index.createAccessor() .. [NO ISSUE][RT][IDX] Simplify index.createAccessor() - user model changes: no - storage format changes: no - interface change: yes (changed) IIndex, ILSMIndex (new) IIndexAccessParameters details: - Refactor index.createAccessor() method to accept an instance of IIndexAccessParameters as its parameter since currently only ModificationCallBack and SearchOperationCallback can be passed. If an accessor needs to have additional parameters, there was no way to pass them. Change-Id: Iae015c342e830c81d666428447b595280139740e --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ComponentRollbackTest.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicy.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/context/CorrelatedPrefixMergePolicyTest.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/AbstractTreeIndex.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/IndexAccessParameters.java A hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/NoOpIndexAccessParameters.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeOpContext.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBuddyBTreeMergeCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/dataflow/LSMIndexCompactOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ConstantMergePolicy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java M
Change in asterixdb[master]: [NO ISSUE][RT][IDX] simplify createAccessor()
Taewoo Kim has posted comments on this change. Change subject: [NO ISSUE][RT][IDX] simplify createAccessor() .. Patch Set 1: (1 comment) Thanks Till! https://asterix-gerrit.ics.uci.edu/#/c/2120/1/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessContext.java File hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessContext.java: PS1, Line 27: IIndexAccessContext > I'd prefer to call this IIndexAccessorParameters as this seems to describe Thanks Till. I totally agree. I am going to apply the changes that you proposed and upload a new patch set. -- To view, visit https://asterix-gerrit.ics.uci.edu/2120 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Iae015c342e830c81d666428447b595280139740e Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option...
Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2116 to look at the new patch set (#4). Change subject: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option is properly handled .. [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option is properly handled - user model changes: no - storage format changes: no - interface changes: no details: When a fulltext search operation is combined with multiple other predicates, the fulltext search option was not handled properly. This patch set ensures that the fulltext search option is correctly handled. Change-Id: I240fbe08891d29532c6fcd60638a3b6bbe8da771 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/FullTextContainsParameterCheckRule.java 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/fulltext/fulltext-09/fulltext-09.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.6.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.7.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.6.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.7.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.7.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-02.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.7.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/common/FullTextContainsEvaluator.java 34 files changed, 972 insertions(+), 205 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/16/2116/4 -- To view, visit https://asterix-gerrit.ics.uci.edu/2116 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I240fbe08891d29532c6fcd60638a3b6bbe8da771 Gerrit-PatchSet: 4 Gerrit-Project: asterixdb
Change in asterixdb[master]: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option...
Taewoo Kim has posted comments on this change. Change subject: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option is properly handled .. Patch Set 9: Code-Review+2 Forwarding Dmitry's +2 from the previous patch set since this patch only is the result of a rebase (no code change from my side) -- To view, visit https://asterix-gerrit.ics.uci.edu/2116 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I240fbe08891d29532c6fcd60638a3b6bbe8da771 Gerrit-PatchSet: 9 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Taewoo KimGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Dmitry Lychagin Gerrit-Reviewer: Ian2 Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option...
Taewoo Kim has submitted this change and it was merged. Change subject: [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option is properly handled .. [ASTERIXDB-2153][COMP][RT] Ensure the fulltext search option is properly handled - user model changes: no - storage format changes: no - interface changes: no details: When a fulltext search operation is combined with multiple other predicates, the fulltext search option was not handled properly. This patch set ensures that the fulltext search option is correctly handled. Change-Id: I240fbe08891d29532c6fcd60638a3b6bbe8da771 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2116 Sonar-Qube: JenkinsTested-by: Jenkins Contrib: Jenkins Reviewed-by: Taewoo Kim Integration-Tests: Jenkins --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/FullTextContainsParameterCheckRule.java 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/fulltext/fulltext-09/fulltext-09.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.6.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.7.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-09/fulltext-09.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.4.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.5.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.6.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.7.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/fulltext/fulltext-index-08/fulltext-index-08.8.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.7.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-09/fulltext-09.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-02.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fulltext/fulltext-index-08/fulltext-index-08.7.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/common/FullTextContainsEvaluator.java 34 files changed, 961 insertions(+), 205 deletions(-) Approvals: Taewoo Kim: Looks good to me, approved Jenkins: Verified; No violations found; ; Verified diff --git
Change in asterixdb[master]: [NO ISSUE][COMP] Function references cleanup
Taewoo Kim has posted comments on this change. Change subject: [NO ISSUE][COMP] Function references cleanup .. Patch Set 2: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2130 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ibad290182ed0f248f65987df97e6c61aac95b232 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Dmitry LychaginGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Ian2 Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Taewoo Kim Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No