>From Wail Alkowaileet <[email protected]>: Wail Alkowaileet has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17526 )
Change subject: [ASTERIXDB-3181][RT] Add missing CBO results ...................................................................... [ASTERIXDB-3181][RT] Add missing CBO results Change-Id: I4a6fcc707d8ddecc7c7bff592dc608a9c67310ff Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17526 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Hussain Towaileb <[email protected]> --- A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.011.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.025.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.105.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.113.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.008.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.102.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/006/006.010.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.108.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.006.plan A asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/007/007.010.plan 10 files changed, 379 insertions(+), 0 deletions(-) Approvals: Hussain Towaileb: Looks good to me, approved Jenkins: Verified; Verified Objections: Anon. E. Moose #1000171: Violations found diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.025.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.025.plan new file mode 100644 index 0000000..f249625 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.025.plan @@ -0,0 +1,36 @@ +distribute result [$$31] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] +-- DISTRIBUTE_RESULT |PARTITIONED| + exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + project ([$$31]) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$31] <- [{"a": $$34, "item": $$item}] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- ASSIGN |PARTITIONED| + project ([$$34, $$item]) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- SORT_MERGE_EXCHANGE [$$35(ASC), $$34(ASC), $$item(ASC) ] |PARTITIONED| + order (ASC, $$35) (ASC, $$34) (ASC, $$item) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- STABLE_SORT [$$35(ASC), $$34(ASC), $$item(ASC)] |PARTITIONED| + exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + select (gt($$item, 10)) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$35, $$34, $$item]) [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |PARTITIONED| + unnest $$item <- scan-collection($$36) [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0] + -- UNNEST |PARTITIONED| + select (eq($$34, "1")) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$35, $$34, $$36]) [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$34, $$36] <- [$$d.getField("a"), $$d.getField("array")] [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0] + -- ASSIGN |PARTITIONED| + exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$35, $$d] <- test.ColumnDataset project ({a:any,array:[any]}) filter on (or(eq($$34, "1"), gt($$item, 10))) [cardinality: 6.0, op-cost: 2.0, total-cost: 2.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.006.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.006.plan new file mode 100644 index 0000000..a0f80bd --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.006.plan @@ -0,0 +1,34 @@ +distribute result [$$47] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$47]) [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$47] <- [{"$1": $$49}] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$49] <- [agg-sql-sum($$51)] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$51] <- [agg-sql-count(1)] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] + -- AGGREGATE |PARTITIONED| + select (gt($$D, " ")) [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0] + -- STREAM_PROJECT |PARTITIONED| + unnest $$D <- scan-collection($$50) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0] + -- UNNEST |PARTITIONED| + project ([$$50]) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$50] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0] + -- ASSIGN |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$48, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (gt($$D, " ")) [cardinality: 30.0, op-cost: 99.0, total-cost: 99.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.102.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.102.plan new file mode 100644 index 0000000..0a26cc8 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.102.plan @@ -0,0 +1,34 @@ +distribute result [$$48] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$48]) [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$48] <- [{"$1": $$50}] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$50] <- [agg-sql-sum($$52)] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$52] <- [agg-sql-count(1)] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] + -- AGGREGATE |PARTITIONED| + select (eq(substring($$D, 0, 4), "2011")) [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0] + -- STREAM_PROJECT |PARTITIONED| + unnest $$D <- scan-collection($$51) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0] + -- UNNEST |PARTITIONED| + project ([$$51]) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$51] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0] + -- ASSIGN |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$49, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (eq(substring($$D, 0, 4), "2011")) [cardinality: 30.0, op-cost: 6.0, total-cost: 6.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.105.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.105.plan new file mode 100644 index 0000000..1c5ee50 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.105.plan @@ -0,0 +1,38 @@ +distribute result [$$51] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$51]) [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$51] <- [{"$1": $$54}] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$54] <- [agg-sql-sum($$57)] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$57] <- [agg-sql-count(1)] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] + -- AGGREGATE |PARTITIONED| + select (or(eq($$58, "2011"), eq($$58, "2016"))) [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$58]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$58] <- [substring($$D, 0, 4)] [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- ASSIGN |PARTITIONED| + project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- STREAM_PROJECT |PARTITIONED| + unnest $$D <- scan-collection($$55) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- UNNEST |PARTITIONED| + project ([$$55]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$55] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- ASSIGN |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$53, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (or(eq(substring($$D, 0, 4), "2011"), eq(substring($$D, 0, 4), "2016"))) [cardinality: 30.0, op-cost: 20.0, total-cost: 20.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.108.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.108.plan new file mode 100644 index 0000000..6c282bb --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.108.plan @@ -0,0 +1,45 @@ +distribute result [$$52] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$52]) [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$52] <- [{"$1": $$55}] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$55] <- [agg-sql-sum($$58)] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$58] <- [agg-sql-count(1)] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] + -- AGGREGATE |PARTITIONED| + select ($$45) [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$45]) [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0] + -- STREAM_PROJECT |PARTITIONED| + subplan { + aggregate [$$45] <- [non-empty-stream()] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- AGGREGATE |LOCAL| + select (or(eq($$59, "2011"), eq($$59, "2016"))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- STREAM_SELECT |LOCAL| + assign [$$59] <- [substring($$D, 0, 4)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ASSIGN |LOCAL| + unnest $$D <- scan-collection($$56) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- UNNEST |LOCAL| + nested tuple source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- NESTED_TUPLE_SOURCE |LOCAL| + } [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0] + -- SUBPLAN |PARTITIONED| + project ([$$56]) [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$56] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0] + -- ASSIGN |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$54, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (or(eq(substring($$D, 0, 4), "2011"), eq(substring($$D, 0, 4), "2016"))) [cardinality: 30.0, op-cost: 11.0, total-cost: 11.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.113.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.113.plan new file mode 100644 index 0000000..5c3412b --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.113.plan @@ -0,0 +1,40 @@ +distribute result [$$54] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$54]) [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$54] <- [{"$1": $$57}] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$57] <- [agg-sql-sum($$61)] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$61] <- [agg-sql-count(1)] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] + -- AGGREGATE |PARTITIONED| + select (or(eq($$62, "2011"), eq($$62, "2016"))) [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$62]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$62] <- [substring($$D, 0, 4)] [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- ASSIGN |PARTITIONED| + project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- STREAM_PROJECT |PARTITIONED| + unnest $$D <- scan-collection($$59) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- UNNEST |PARTITIONED| + project ([$$59]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- STREAM_PROJECT |PARTITIONED| + select (starts-with($$C.getField("business_id"), "-0")) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- STREAM_SELECT |PARTITIONED| + assign [$$59] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- ASSIGN |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$56, $$C] <- TestYelp.YelpCheckin project ({dates:[any],business_id:any}) filter on (or(starts-with($$C.getField("business_id"), "-0"), or(eq(substring($$D, 0, 4), "2011"), eq(substring($$D, 0, 4), "2016")))) [cardinality: 30.0, op-cost: 7.0, total-cost: 7.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.008.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.008.plan new file mode 100644 index 0000000..5d7d75c --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.008.plan @@ -0,0 +1,34 @@ +distribute result [$$48] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$48]) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$48] <- [{"$1": $$50}] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$50] <- [agg-sql-sum($$52)] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$52] <- [agg-sql-count(1)] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- AGGREGATE |PARTITIONED| + select (gt(numeric-add($$D, 1), 2018)) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |PARTITIONED| + unnest $$D <- scan-collection($$51) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0] + -- UNNEST |PARTITIONED| + project ([$$51]) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$51] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0] + -- ASSIGN |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$49, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (gt(numeric-add($$D, 1), 2018)) [cardinality: 30.0, op-cost: 2.0, total-cost: 2.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.011.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.011.plan new file mode 100644 index 0000000..f989fe0 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.011.plan @@ -0,0 +1,34 @@ +distribute result [$$51] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$51]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$51] <- [{"$1": $$53}] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$53] <- [agg-sql-sum($$55)] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$55] <- [agg-sql-count(1)] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- AGGREGATE |PARTITIONED| + select (or(gt(numeric-add($$D, 1), 2018), eq(substring($$D, 0, 4), "2011"))) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0] + -- STREAM_PROJECT |PARTITIONED| + unnest $$D <- scan-collection($$54) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0] + -- UNNEST |PARTITIONED| + project ([$$54]) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$54] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0] + -- ASSIGN |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$52, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (or(gt(numeric-add($$D, 1), 2018), eq(substring($$D, 0, 4), "2011"))) [cardinality: 30.0, op-cost: 8.0, total-cost: 8.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/006/006.010.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/006/006.010.plan new file mode 100644 index 0000000..b217e0e --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/006/006.010.plan @@ -0,0 +1,45 @@ +distribute result [$$51] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$51]) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$51] <- [{"$1": $$53}] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$53] <- [agg-sql-sum($$57)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$57] <- [agg-sql-count(1)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- AGGREGATE |PARTITIONED| + select ($$44) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$44]) [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_PROJECT |PARTITIONED| + subplan { + aggregate [$$44] <- [non-empty-stream()] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- AGGREGATE |LOCAL| + select (eq($$55, array: [ 5.1 ])) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- STREAM_SELECT |LOCAL| + assign [$$55] <- [$$point.getField("lon")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ASSIGN |LOCAL| + unnest $$point <- scan-collection($$54) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- UNNEST |LOCAL| + nested tuple source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- NESTED_TUPLE_SOURCE |LOCAL| + } [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0] + -- SUBPLAN |PARTITIONED| + project ([$$54]) [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_PROJECT |PARTITIONED| + assign [$$54] <- [$$c.getField("geo").getField("coordinates")] [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0] + -- ASSIGN |PARTITIONED| + project ([$$c]) [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$52, $$c] <- test.ColumnDataset project ({geo:{coordinates:[{lon:any}]}}) [cardinality: 8.0, op-cost: 1.0, total-cost: 1.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/007/007.010.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/007/007.010.plan new file mode 100644 index 0000000..a5f30b3 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/007/007.010.plan @@ -0,0 +1,26 @@ +distribute result [$$37] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] +-- DISTRIBUTE_RESULT |UNPARTITIONED| + exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| + project ([$$37]) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_PROJECT |UNPARTITIONED| + assign [$$37] <- [{"$1": $$39}] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- ASSIGN |UNPARTITIONED| + aggregate [$$39] <- [agg-sql-sum($$42)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- AGGREGATE |UNPARTITIONED| + exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- RANDOM_MERGE_EXCHANGE |PARTITIONED| + aggregate [$$42] <- [agg-sql-count(1)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- AGGREGATE |PARTITIONED| + select (array-contains($$C.getField("checkin_times").getField("dates"), "2018-05-25")) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_SELECT |PARTITIONED| + project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 1.0] + -- STREAM_PROJECT |PARTITIONED| + exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 1.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + data-scan []<-[$$38, $$C] <- TestYelp.YelpCheckin project ({checkin_times:{dates:any}}) [cardinality: 30.0, op-cost: 1.0, total-cost: 1.0] + -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| + empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- EMPTY_TUPLE_SOURCE |PARTITIONED| -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17526 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I4a6fcc707d8ddecc7c7bff592dc608a9c67310ff Gerrit-Change-Number: 17526 Gerrit-PatchSet: 4 Gerrit-Owner: Wail Alkowaileet <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Hussain Towaileb <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Wail Alkowaileet <[email protected]> Gerrit-MessageType: merged
