>From Ali Alsuliman <[email protected]>: Ali Alsuliman has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19448 )
Change subject: [ASTERIXDB-3562][COMP] Do not place array slice in a subplan ...................................................................... [ASTERIXDB-3562][COMP] Do not place array slice in a subplan - user model changes: no - storage format changes: no - interface changes: no Details: Array slice expressions (e.g. array_f[1:5]) do not need to be nested in a subplan. Ext-ref: MB-65303 Change-Id: I352a0e249e31963e959815e10a9e7d25bed3206f Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19448 Tested-by: Jenkins <[email protected]> Reviewed-by: Ali Alsuliman <[email protected]> Reviewed-by: Peeyush Gupta <[email protected]> --- M asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-3562.plan M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java 2 files changed, 37 insertions(+), 30 deletions(-) Approvals: Ali Alsuliman: Looks good to me, but someone else must approve Peeyush Gupta: Looks good to me, approved Jenkins: Verified Objections: Anon. E. Moose #1000171: Violations found diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java index acbd13e..b1638d4 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java @@ -1847,6 +1847,7 @@ case IF_EXPRESSION: case CASE_EXPRESSION: case WINDOW_EXPRESSION: + case LIST_SLICE_EXPRESSION: return true; case QUANTIFIED_EXPRESSION: return ((QuantifiedExpression) expr).getQuantifier() == Quantifier.SOME_AND_EVERY; diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-3562.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-3562.plan index fc97335..2653643 100644 --- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-3562.plan +++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-3562.plan @@ -4,35 +4,19 @@ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| project ([$$17]) -- STREAM_PROJECT |PARTITIONED| - assign [$$17] <- [{"f_1": $$14, "f_2": $$16}] + assign [$$17] <- [{"f_1": array-slice($$18, 0, 1), "f_2": array-slice($$18, 0, 2)}] -- ASSIGN |PARTITIONED| - project ([$$14, $$16]) + project ([$$18]) -- STREAM_PROJECT |PARTITIONED| - subplan { - assign [$$16] <- [array-slice($$19, 0, 2)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |LOCAL| - nested tuple source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- NESTED_TUPLE_SOURCE |LOCAL| - } - -- SUBPLAN |PARTITIONED| - subplan { - assign [$$14] <- [array-slice($$19, 0, 1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |LOCAL| - nested tuple source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- NESTED_TUPLE_SOURCE |LOCAL| - } - -- SUBPLAN |PARTITIONED| - project ([$$19]) - -- STREAM_PROJECT |PARTITIONED| - assign [$$19] <- [$$collection1.getField("array1")] - -- ASSIGN |PARTITIONED| - project ([$$collection1]) - -- STREAM_PROJECT |PARTITIONED| - exchange - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - data-scan []<-[$$18, $$collection1] <- test.collection1 - -- DATASOURCE_SCAN |PARTITIONED| - exchange - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - empty-tuple-source - -- EMPTY_TUPLE_SOURCE |PARTITIONED| \ No newline at end of file + assign [$$18] <- [$$collection1.getField("array1")] + -- ASSIGN |PARTITIONED| + project ([$$collection1]) + -- STREAM_PROJECT |PARTITIONED| + exchange + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$19, $$collection1] <- test.collection1 + -- DATASOURCE_SCAN |PARTITIONED| + exchange + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source + -- EMPTY_TUPLE_SOURCE |PARTITIONED| \ No newline at end of file -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19448 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: neo Gerrit-Change-Id: I352a0e249e31963e959815e10a9e7d25bed3206f Gerrit-Change-Number: 19448 Gerrit-PatchSet: 3 Gerrit-Owner: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Peeyush Gupta <[email protected]> Gerrit-MessageType: merged
