This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 71070e9becbcd5eb633f693a774cb1fcc9a36d3e Merge: 3b0a5b10a3 de0acbf578 Author: Michael Blow <[email protected]> AuthorDate: Fri Jan 17 08:37:53 2025 -0500 Merge branch 'gerrit/goldfish' into 'master' Change-Id: I65b6f845e9958fed620fffb78837ab07f1f03559 .../pushdown/schema/ExpectedSchemaBuilder.java | 75 ++++++++++++++++++++-- .../asterix-app/data/hdfs/parquet/friends.json | 1 + .../external_dataset/ExternalDatasetTestUtils.java | 1 + .../ASTERIXDB-3540/ASTERIXDB-3540.01.ddl.sqlpp | 41 ++++++++++++ .../ASTERIXDB-3540/ASTERIXDB-3540.02.query.sqlpp | 26 ++++++++ .../ASTERIXDB-3540/ASTERIXDB-3540.03.query.sqlpp | 25 ++++++++ .../query-ASTERIXDB-3538.1.ddl.sqlpp | 67 +++++++++++++++++++ .../query-ASTERIXDB-3538.2.update.sqlpp | 31 +++++++++ .../query-ASTERIXDB-3538.3.query.sqlpp | 25 ++++++++ .../query-ASTERIXDB-3538.4.query.sqlpp | 25 ++++++++ .../query-ASTERIXDB-3538.5.query.sqlpp | 25 ++++++++ .../query-ASTERIXDB-3538.6.query.sqlpp | 24 +++++++ .../parquet/ASTERIXDB-3540/ASTERIXDB-3540.02.plan | 1 + .../parquet/ASTERIXDB-3540/ASTERIXDB-3540.03.adm | 1 + .../query-ASTERIXDB-3538.3.plan | 20 ++++++ .../query-ASTERIXDB-3538.4.adm | 8 +++ .../query-ASTERIXDB-3538.5.plan | 35 ++++++++++ .../query-ASTERIXDB-3538.6.adm | 4 ++ .../query-ASTERIXDB-3538.3.plan | 20 ++++++ .../query-ASTERIXDB-3538.5.plan | 35 ++++++++++ .../query-ASTERIXDB-3538.3.plan | 20 ++++++ .../query-ASTERIXDB-3538.5.plan | 35 ++++++++++ .../src/test/resources/runtimets/sqlpp_queries.xml | 5 ++ .../runtimets/testsuite_external_dataset_s3.xml | 6 ++ .../rules/RemoveUnusedAssignAndAggregateRule.java | 4 ++ .../dataflow/common/utils/FrameDebugUtils.java | 2 +- 26 files changed, 556 insertions(+), 6 deletions(-) diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan index 0000000000,1f2126c5c8..9e9db49aca mode 000000,100644..100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan @@@ -1,0 -1,24 +1,20 @@@ + distribute result [$$311] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- DISTRIBUTE_RESULT |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - project ([$$311]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$311] <- [{"id": $$345}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |PARTITIONED| - select (not(is-null($$345))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_SELECT |PARTITIONED| - project ([$$345]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ assign [$$311] <- [{"id": $$345}] project: [$$311] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ select (not(is-null($$345))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_SELECT |PARTITIONED| ++ assign [$$345] <- [string-default-null($$s.getField("id"))] project: [$$345] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ project ([$$s]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- STREAM_PROJECT |PARTITIONED| - assign [$$345] <- [string-default-null($$s.getField("id"))] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |PARTITIONED| - project ([$$s]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$314, $$s] <- test.dat1 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- DATASOURCE_SCAN |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - data-scan []<-[$$314, $$s] <- test.dat1 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.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| ++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan index 0000000000,2f074b771b..6f838fa1f8 mode 000000,100644..100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan @@@ -1,0 -1,41 +1,35 @@@ + distribute result [$$317] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- DISTRIBUTE_RESULT |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - project ([$$317]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$317] <- [{"dat3": {"id": $$351, "a": string-default-null($$345), "d": int64-default-null($$318)}}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |PARTITIONED| - project ([$$351, $$345, $$318]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ assign [$$317] <- [{"dat3": {"id": $$351, "a": string-default-null($$345), "d": int64-default-null($$318)}}] project: [$$317] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ select (le($$318, get-item($$295, 0))) project: [$$351, $$345, $$318] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_SELECT |PARTITIONED| ++ project ([$$351, $$345, $$318, $$295]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- STREAM_PROJECT |PARTITIONED| - select (le($$318, get-item($$295, 0))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_SELECT |PARTITIONED| - project ([$$351, $$345, $$318, $$295]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - subplan { - aggregate [$$295] <- [listify($$330)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- AGGREGATE |LOCAL| - aggregate [$$330] <- [agg-sql-count(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- AGGREGATE |LOCAL| - unnest $$333 <- scan-collection($$343) [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: 0.0, op-cost: 0.0, total-cost: 0.0] - -- SUBPLAN |PARTITIONED| - select (not(is-null($$351))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_SELECT |PARTITIONED| - project ([$$351, $$345, $$318, $$343]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$351, $$345, $$318, $$343] <- [string-default-null($$s.getField("id")), $$s.getField("a"), $$s.getField("d"), $$s.getField("e")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |PARTITIONED| - project ([$$s]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - data-scan []<-[$$319, $$s] <- test.dat1 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.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| ++ subplan { ++ aggregate [$$295] <- [listify($$330)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- AGGREGATE |LOCAL| ++ aggregate [$$330] <- [agg-sql-count(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- AGGREGATE |LOCAL| ++ unnest $$333 <- scan-collection($$343) [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: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- SUBPLAN |PARTITIONED| ++ select (not(is-null($$351))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_SELECT |PARTITIONED| ++ assign [$$351, $$345, $$318, $$343] <- [string-default-null($$s.getField("id")), $$s.getField("a"), $$s.getField("d"), $$s.getField("e")] project: [$$351, $$345, $$318, $$343] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ project ([$$s]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_PROJECT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$319, $$s] <- test.dat1 [cardinality: 0.0, op-cost: 0.0, total-cost: 0.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 --cc asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan index 0000000000,dc43c42f98..8d2d305312 mode 000000,100644..100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan @@@ -1,0 -1,24 +1,20 @@@ + distribute result [$$311] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- DISTRIBUTE_RESULT |PARTITIONED| + exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - project ([$$311]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$311] <- [{"id": $$345}] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- ASSIGN |PARTITIONED| - select (not(is-null($$345))) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_SELECT |PARTITIONED| - project ([$$345]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ assign [$$311] <- [{"id": $$345}] project: [$$311] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ -- ASSIGN |PARTITIONED| ++ select (not(is-null($$345))) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ -- STREAM_SELECT |PARTITIONED| ++ assign [$$345] <- [string-default-null($$s.getField("id"))] project: [$$345] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ -- ASSIGN |PARTITIONED| ++ project ([$$s]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- STREAM_PROJECT |PARTITIONED| - assign [$$345] <- [string-default-null($$s.getField("id"))] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- ASSIGN |PARTITIONED| - project ([$$s]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_PROJECT |PARTITIONED| - exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$314, $$s] <- test.dat1 [cardinality: 8.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| - data-scan []<-[$$314, $$s] <- test.dat1 [cardinality: 8.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| ++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan index 0000000000,b9dda1938f..efa194b0c1 mode 000000,100644..100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan @@@ -1,0 -1,41 +1,35 @@@ + distribute result [$$317] [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] + -- DISTRIBUTE_RESULT |PARTITIONED| + exchange [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - project ([$$317]) [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$317] <- [{"dat3": {"id": $$351, "a": string-default-null($$345), "d": int64-default-null($$318)}}] [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] - -- ASSIGN |PARTITIONED| - project ([$$351, $$345, $$318]) [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] ++ assign [$$317] <- [{"dat3": {"id": $$351, "a": string-default-null($$345), "d": int64-default-null($$318)}}] project: [$$317] [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] ++ -- ASSIGN |PARTITIONED| ++ select (le($$318, get-item($$295, 0))) project: [$$351, $$345, $$318] [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] ++ -- STREAM_SELECT |PARTITIONED| ++ project ([$$351, $$345, $$318, $$295]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] + -- STREAM_PROJECT |PARTITIONED| - select (le($$318, get-item($$295, 0))) [cardinality: 4.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_SELECT |PARTITIONED| - project ([$$351, $$345, $$318, $$295]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_PROJECT |PARTITIONED| - subplan { - aggregate [$$295] <- [listify($$330)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- AGGREGATE |LOCAL| - aggregate [$$330] <- [agg-sql-count(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- AGGREGATE |LOCAL| - unnest $$333 <- scan-collection($$343) [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: 8.0] - -- SUBPLAN |PARTITIONED| - select (not(is-null($$351))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_SELECT |PARTITIONED| - project ([$$351, $$345, $$318, $$343]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$351, $$345, $$318, $$343] <- [string-default-null($$s.getField("id")), $$s.getField("a"), $$s.getField("d"), $$s.getField("e")] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- ASSIGN |PARTITIONED| - project ([$$s]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- STREAM_PROJECT |PARTITIONED| - exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - data-scan []<-[$$319, $$s] <- test.dat1 [cardinality: 8.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| ++ subplan { ++ aggregate [$$295] <- [listify($$330)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- AGGREGATE |LOCAL| ++ aggregate [$$330] <- [agg-sql-count(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- AGGREGATE |LOCAL| ++ unnest $$333 <- scan-collection($$343) [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: 8.0] ++ -- SUBPLAN |PARTITIONED| ++ select (not(is-null($$351))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_SELECT |PARTITIONED| ++ assign [$$351, $$345, $$318, $$343] <- [string-default-null($$s.getField("id")), $$s.getField("a"), $$s.getField("d"), $$s.getField("e")] project: [$$351, $$345, $$318, $$343] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ -- ASSIGN |PARTITIONED| ++ project ([$$s]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ -- STREAM_PROJECT |PARTITIONED| ++ exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$319, $$s] <- test.dat1 [cardinality: 8.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 --cc asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan index 0000000000,0000000000..34d76634f3 new file mode 100644 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.3.plan @@@ -1,0 -1,0 +1,20 @@@ ++distribute result [$$311] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++-- DISTRIBUTE_RESULT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ assign [$$311] <- [{"id": $$345}] project: [$$311] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ select (not(is-null($$345))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_SELECT |PARTITIONED| ++ assign [$$345] <- [string-default-null($$s.getField("id"))] project: [$$345] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ project ([$$s]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_PROJECT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$314, $$s] <- test.dat1 project ({id:any}) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.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 --cc asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan index 0000000000,0000000000..c94e333e9a new file mode 100644 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan @@@ -1,0 -1,0 +1,35 @@@ ++distribute result [$$317] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++-- DISTRIBUTE_RESULT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ assign [$$317] <- [{"dat3": {"id": $$351, "a": string-default-null($$345), "d": int64-default-null($$318)}}] project: [$$317] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ select (le($$318, get-item($$295, 0))) project: [$$351, $$345, $$318] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_SELECT |PARTITIONED| ++ project ([$$351, $$345, $$318, $$295]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_PROJECT |PARTITIONED| ++ subplan { ++ aggregate [$$295] <- [listify($$330)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- AGGREGATE |LOCAL| ++ aggregate [$$330] <- [agg-sql-count(1)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- AGGREGATE |LOCAL| ++ unnest $$333 <- scan-collection($$343) [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: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- SUBPLAN |PARTITIONED| ++ select (not(is-null($$351))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_SELECT |PARTITIONED| ++ assign [$$351, $$345, $$318, $$343] <- [string-default-null($$s.getField("id")), $$s.getField("a"), $$s.getField("d"), $$s.getField("e")] project: [$$351, $$345, $$318, $$343] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ project ([$$s]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_PROJECT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$319, $$s] <- test.dat1 project ({a:any,d:any,e:[any],id:any}) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.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|
