[ASTERIXDB-3550][COMP] Allow project operators inside subplan
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
Queries containing subplan are slow without the projects. Useless variables inside subplan are projected out.
Ext-ref: MB-49756
Change-Id: I236a52923c181395cf7501926010ca9899cae9e8
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19321
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan
index 1dff738..1c327d2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan
@@ -18,23 +18,29 @@
-- MICRO_PRE_CLUSTERED_GROUP_BY[$$230] |LOCAL|
order (ASC, $$230)
-- MICRO_STABLE_SORT [$$230(ASC)] |LOCAL|
- assign [$$230] <- [$$sub.getField("BrokerEndpoint")]
+ assign [$$230] <- [$$sub.getField("BrokerEndpoint")] project: [$$260, $$259, $$230]
-- ASSIGN |LOCAL|
- unnest $$sub <- scan-collection($$219)
+ unnest $$sub <- scan-collection($$219) project: [$$260, $$259, $$sub]
-- UNNEST |LOCAL|
- subplan {
- aggregate [$$219] <- [listify($$218)]
- -- AGGREGATE |LOCAL|
- assign [$$218] <- [{"sub": $$sub}]
- -- ASSIGN |LOCAL|
- unnest $$sub <- scan-collection($$256)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$260, $$259, $$219])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$219] <- [listify($$218)]
+ -- AGGREGATE |LOCAL|
+ assign [$$218] <- [{"sub": $$sub}]
+ -- ASSIGN |LOCAL|
+ unnest $$sub <- scan-collection($$256) project: [$$sub]
+ -- UNNEST |LOCAL|
+ project ([$$256])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ project ([$$260, $$259, $$256])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
project ([$$260, $$259, $$256])
@@ -64,8 +70,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$268)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$253, $$238, $$268])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$267] |PARTITIONED|
exchange
@@ -96,8 +104,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$236)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$232, $$236])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- MICRO_PRE_CLUSTERED_GROUP_BY[$$324, $$325] |LOCAL|
select (and(not(is-missing($$321)), not(is-missing($$323))))
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan
index aeb19d0..515e40a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$72)
-- MICRO_STABLE_SORT [$$72(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan
index 548b0cd..5423304 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$72)
-- MICRO_STABLE_SORT [$$72(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$83] <- [agg-sql-sum($$77)]
@@ -23,8 +25,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$77)
-- MICRO_STABLE_SORT [$$77(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$77])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan
index 78a3a5d..725fd90 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan
@@ -19,8 +19,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$76)
-- MICRO_STABLE_SORT [$$76(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$76])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan
index 9eb6774..7344fe4 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$88)
-- MICRO_STABLE_SORT [$$88(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$88])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$105] <- [agg-sql-sum($$93)]
@@ -29,8 +31,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$98)
-- MICRO_STABLE_SORT [$$98(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$98])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan
index 1052301..7cd1833 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$112)
-- MICRO_STABLE_SORT [$$112(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$112])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$159, $$163, $$165] <- [agg-sql-sum($$117), agg-sql-count($$112), agg-sql-avg($$122)]
@@ -29,8 +31,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$122)
-- MICRO_STABLE_SORT [$$122(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$122])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$162, $$164] <- [agg-sql-avg($$117), agg-sql-count($$117)]
@@ -39,8 +43,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$117)
-- MICRO_STABLE_SORT [$$117(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$117])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.16.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.16.plan
index 9b628cf..9e7a0b3 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.16.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.16.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$x)
-- MICRO_STABLE_SORT [$$x(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$x])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$147, $$151, $$153] <- [agg-global-sql-sum($$182), agg-sql-sum($$183), agg-global-sql-avg($$184)]
@@ -31,8 +33,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$z)
-- MICRO_STABLE_SORT [$$z(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$z])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$150, $$152] <- [agg-sql-avg($$y), agg-sql-count($$y)]
@@ -41,8 +45,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$y)
-- MICRO_STABLE_SORT [$$y(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$y])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |LOCAL|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.17.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.17.plan
index b8fa1cf..16a48c6 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.17.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.17.plan
@@ -19,8 +19,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$124)
-- MICRO_STABLE_SORT [$$124(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$124])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$293] <- [agg-sql-sum($$129)]
@@ -29,8 +31,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$129)
-- MICRO_STABLE_SORT [$$129(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$129])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$156] |PARTITIONED|
exchange
@@ -100,8 +104,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$142)
-- MICRO_STABLE_SORT [$$142(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$142])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$295] <- [agg-sql-sum($$147)]
@@ -110,8 +116,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$147)
-- MICRO_STABLE_SORT [$$147(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$147])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$157] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan
index c7ec943..7ddb43e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$68)
-- MICRO_STABLE_SORT [$$68(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.10.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.10.plan
index 0b3845b..465c8f7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.10.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.10.plan
@@ -20,8 +20,10 @@
-- AGGREGATE |LOCAL|
select (gt($$93, 0))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$66, $$82, $$93])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$85] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.4.plan
index 548cfe0..a001339 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.4.plan
@@ -20,8 +20,10 @@
-- AGGREGATE |LOCAL|
select (gt($$62, 0))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$61] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.5.plan
index 4cfa640..17012b7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.5.plan
@@ -32,8 +32,10 @@
-- AGGREGATE |LOCAL|
select (gt($$120, 0))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$120])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$118] |PARTITIONED|
exchange
@@ -84,8 +86,10 @@
-- AGGREGATE |LOCAL|
select (gt($$121, 0))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$121])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$119] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.6.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.6.plan
index f0a897c..01d4ad4 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.6.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.6.plan
@@ -9,8 +9,10 @@
-- AGGREGATE |UNPARTITIONED|
select (eq($$125, 0))
-- STREAM_SELECT |UNPARTITIONED|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |UNPARTITIONED|
+ project ([$$125, $$tenk.tenthous])
+ -- STREAM_PROJECT |UNPARTITIONED|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |UNPARTITIONED|
}
-- WINDOW |UNPARTITIONED|
window-aggregate [] <- [] order (ASC, $$tenk.tenthous) frame on (ASC, $$tenk.tenthous) start unbounded end [$$tenk.tenthous] {
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.7.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.7.plan
index 20cd7fa..f3032e7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.7.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.7.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |UNPARTITIONED|
select (lt($$187, 3000))
-- STREAM_SELECT |UNPARTITIONED|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |UNPARTITIONED|
+ project ([$$188, $$187])
+ -- STREAM_PROJECT |UNPARTITIONED|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |UNPARTITIONED|
}
-- WINDOW |UNPARTITIONED|
project ([$$twenty, $$189, $$193, $$194, $$188, $$187])
@@ -22,8 +24,10 @@
-- AGGREGATE |UNPARTITIONED|
select (lt($$twenty, 10))
-- STREAM_SELECT |UNPARTITIONED|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |UNPARTITIONED|
+ project ([$$twenty, $$186])
+ -- STREAM_PROJECT |UNPARTITIONED|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |UNPARTITIONED|
}
-- WINDOW |UNPARTITIONED|
project ([$$twenty, $$189, $$193, $$188, $$187, $$186])
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.8.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.8.plan
index d7aca6d..8d53c40 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.8.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/aggregate-subclause/agg_filter_01/agg_filter_01.8.plan
@@ -16,14 +16,18 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(gt($$x, 0), false)))
-- STREAM_SELECT |LOCAL|
- unnest $$x <- scan-collection(ordered-list-constructor($$74, numeric-add($$74, $$74)))
+ unnest $$x <- scan-collection(ordered-list-constructor($$74, numeric-add($$74, $$74))) project: [$$x]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$74])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$74])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$70] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-1.plan
index 6ab4db5..31a066b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-1.plan
@@ -13,8 +13,10 @@
-- AGGREGATE |LOCAL|
unnest $$I <- scan-collection($$32)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$32])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$32] <- [$$D.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-2.plan
index 981d916..435e26a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-2.plan
@@ -16,16 +16,20 @@
-- AGGREGATE |LOCAL|
unnest $$J <- scan-collection($$48)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$48])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$48] <- [$$I.getField("items")]
+ assign [$$48] <- [$$I.getField("items")] project: [$$48]
-- ASSIGN |LOCAL|
- unnest $$I <- scan-collection($$47)
+ unnest $$I <- scan-collection($$47) project: [$$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$47])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$47] <- [$$D.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-3.plan
index 3c577a8..abc621b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/any-and-every-3.plan
@@ -13,10 +13,12 @@
-- AGGREGATE |LOCAL|
unnest $$J <- scan-collection($$47)
-- UNNEST |LOCAL|
- unnest $$I <- scan-collection($$46)
+ unnest $$I <- scan-collection($$46) project: [$$47, $$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$47, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$47, $$46] <- [$$D.getField("other_items"), $$D.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query4.plan
index e794791..2c8a32a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query4.plan
@@ -13,12 +13,14 @@
-- AGGREGATE |LOCAL|
select (and(eq($$43, 2), eq($$42, 3)))
-- STREAM_SELECT |LOCAL|
- assign [$$43, $$42] <- [$$DI.getField("field2"), $$DI.getField("field3")]
+ assign [$$43, $$42] <- [$$DI.getField("field2"), $$DI.getField("field3")] project: [$$43, $$42]
-- ASSIGN |LOCAL|
- unnest $$DI <- scan-collection($$41)
+ unnest $$DI <- scan-collection($$41) project: [$$DI]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$41])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (and(eq($$D.getField("field1"), 1), eq($$D.getField("field4"), 4)))
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query5.plan
index 310f454..10b488c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query5.plan
@@ -13,27 +13,33 @@
-- AGGREGATE |LOCAL|
select ($$48)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$48] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (and(eq($$64, 2), eq($$63, 3), eq($$62, 3)))
- -- STREAM_SELECT |LOCAL|
- assign [$$64, $$63, $$62] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DII <- scan-collection($$61)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- select (eq($$60, 2))
- -- STREAM_SELECT |LOCAL|
- assign [$$61, $$60] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DOI <- scan-collection($$59)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$48])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$48] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (and(eq($$64, 2), eq($$63, 3), eq($$62, 3)))
+ -- STREAM_SELECT |LOCAL|
+ assign [$$64, $$63, $$62] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")] project: [$$64, $$63, $$62]
+ -- ASSIGN |LOCAL|
+ unnest $$DII <- scan-collection($$61) project: [$$DII]
+ -- UNNEST |LOCAL|
+ project ([$$61])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ select (eq($$60, 2)) project: [$$61]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$61, $$60] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")] project: [$$61, $$60]
+ -- ASSIGN |LOCAL|
+ unnest $$DOI <- scan-collection($$59) project: [$$DOI]
+ -- UNNEST |LOCAL|
+ project ([$$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (and(eq($$D.getField("field1"), 1), eq($$D.getField("field4"), 4)))
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
index 4b4bbc4..431b4f7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query8.plan
@@ -13,12 +13,14 @@
-- AGGREGATE |LOCAL|
select (and(eq($$69, to-bigint($$70)), eq($$67, to-bigint($$68))))
-- STREAM_SELECT |LOCAL|
- assign [$$69, $$67] <- [$$D1I.getField("field2"), $$D1I.getField("field3")]
+ assign [$$69, $$67] <- [$$D1I.getField("field2"), $$D1I.getField("field3")] project: [$$70, $$68, $$69, $$67]
-- ASSIGN |LOCAL|
- unnest $$D1I <- scan-collection($$66)
+ unnest $$D1I <- scan-collection($$66) project: [$$70, $$68, $$D1I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$66] <- [$$D1.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
index a95a723..12d38cc 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/atomic-and-array-queries/query9.plan
@@ -13,27 +13,33 @@
-- AGGREGATE |LOCAL|
select ($$70)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$70] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (and(eq($$96, to-bigint($$97)), eq($$94, to-bigint($$95)), eq($$92, to-bigint($$93))))
- -- STREAM_SELECT |LOCAL|
- assign [$$96, $$94, $$92] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DII <- scan-collection($$91)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- select (eq($$89, to-bigint($$90)))
- -- STREAM_SELECT |LOCAL|
- assign [$$91, $$89] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DOI <- scan-collection($$88)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$70] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (and(eq($$96, to-bigint($$97)), eq($$94, to-bigint($$95)), eq($$92, to-bigint($$93))))
+ -- STREAM_SELECT |LOCAL|
+ assign [$$96, $$94, $$92] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")] project: [$$97, $$95, $$93, $$96, $$94, $$92]
+ -- ASSIGN |LOCAL|
+ unnest $$DII <- scan-collection($$91) project: [$$97, $$95, $$93, $$DII]
+ -- UNNEST |LOCAL|
+ project ([$$97, $$95, $$93, $$91])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ select (eq($$89, to-bigint($$90))) project: [$$97, $$95, $$93, $$91]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$91, $$89] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")] project: [$$97, $$95, $$93, $$90, $$91, $$89]
+ -- ASSIGN |LOCAL|
+ unnest $$DOI <- scan-collection($$88) project: [$$97, $$95, $$93, $$90, $$DOI]
+ -- UNNEST |LOCAL|
+ project ([$$97, $$95, $$93, $$90, $$88])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$88] <- [$$D1.getField("outer_items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query1.plan
index 5e1aacb..a73743e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query1.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$61, $#4))
-- STREAM_SELECT |LOCAL|
- unnest $#4 <- scan-collection($$60)
+ unnest $#4 <- scan-collection($$60) project: [$$61, $#4]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61, $$60])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg")) project: [$$61, $$60]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query2.plan
index bb28529..b939b1c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query2.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$70, $$D))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$69)
+ unnest $$D <- scan-collection($$69) project: [$$70, $$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70, $$69])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg")) project: [$$70, $$69]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query3.plan
index bcd2bd8..01ed8e1 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query3.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(eq($$74, $$D), false)))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$72)
+ unnest $$D <- scan-collection($$72) project: [$$74, $$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$74, $$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (and(gt(len($$72), 0), eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg"))) project: [$$74, $$72]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query4.plan
index 9a50d42..e75b900 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query4.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$77, $#5))
-- STREAM_SELECT |LOCAL|
- unnest $#5 <- scan-collection($$78)
+ unnest $#5 <- scan-collection($$78) project: [$$77, $#5]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$77, $$78])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$78] <- [$$B.getField(2)] project: [$$77, $$78]
@@ -66,10 +68,12 @@
-- AGGREGATE |LOCAL|
select (eq($$77, $#4))
-- STREAM_SELECT |LOCAL|
- unnest $#4 <- scan-collection($$76)
+ unnest $#4 <- scan-collection($$76) project: [$$77, $#4]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$77, $$76])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$76] <- [$$A.getField(2)] project: [$$77, $$76]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query5.plan
index af39183..e941135 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-1/query5.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$71)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$72, $$71])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg")) project: [$$72, $$71]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query1.plan
index bcdf9fd..c96188a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query1.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$62, $#4))
-- STREAM_SELECT |LOCAL|
- unnest $#4 <- scan-collection($$61)
+ unnest $#4 <- scan-collection($$61) project: [$$62, $#4]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62, $$61])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$61] <- [$$C.getField(2).getField(0)] project: [$$62, $$61]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query2.plan
index 9878797..3b15f0e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query2.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$72)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$73, $$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$72] <- [$$C.getField(2).getField(0)] project: [$$73, $$72]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query3.plan
index 0734e88..543cfa8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-2/query3.plan
@@ -19,7 +19,7 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(eq($$71, $$D), false)))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$70)
+ unnest $$D <- scan-collection($$70) project: [$$71, $$D]
-- UNNEST |LOCAL|
nested tuple source
-- NESTED_TUPLE_SOURCE |LOCAL|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query1.plan
index cff7aa5..4b4c346 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query1.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$71, $$72))
-- STREAM_SELECT |LOCAL|
- assign [$$71] <- [$$D.getField(0)]
+ assign [$$71] <- [$$D.getField(0)] project: [$$72, $$71]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$70)
+ unnest $$D <- scan-collection($$70) project: [$$72, $$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$72, $$70])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg")) project: [$$72, $$70]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query2.plan
index 7a8a0ad..f1b88e8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-3/query2.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
assign [$$73] <- [$$D.getField(0)]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$72)
+ unnest $$D <- scan-collection($$72) project: [$$74, $$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$74, $$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg")) project: [$$74, $$72]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query1.plan
index b9e7921..de0b132 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query1.plan
@@ -19,23 +19,29 @@
-- AGGREGATE |LOCAL|
select ($$66)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$66] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq($$D, $$84))
- -- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$83)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- assign [$$83] <- [$$CT.getField(1)]
- -- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$82)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$66])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$66] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq($$D, $$84))
+ -- STREAM_SELECT |LOCAL|
+ unnest $$D <- scan-collection($$83) project: [$$84, $$D]
+ -- UNNEST |LOCAL|
+ project ([$$84, $$83])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ assign [$$83] <- [$$CT.getField(1)] project: [$$84, $$83]
+ -- ASSIGN |LOCAL|
+ unnest $$CT <- scan-collection($$82) project: [$$84, $$CT]
+ -- UNNEST |LOCAL|
+ project ([$$84, $$82])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg")) project: [$$84, $$82]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query2.plan
index 8328a4a..0fbb1b8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query2.plan
@@ -19,23 +19,29 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null($$66, false)))
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$66] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq($$D, $$88))
- -- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$87)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- assign [$$87] <- [$$CT.getField(1)]
- -- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$84)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$66])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$66] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq($$D, $$88))
+ -- STREAM_SELECT |LOCAL|
+ unnest $$D <- scan-collection($$87) project: [$$88, $$D]
+ -- UNNEST |LOCAL|
+ project ([$$88, $$87])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ assign [$$87] <- [$$CT.getField(1)] project: [$$88, $$87]
+ -- ASSIGN |LOCAL|
+ unnest $$CT <- scan-collection($$84) project: [$$88, $$CT]
+ -- UNNEST |LOCAL|
+ project ([$$88, $$84])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (and(eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg"), gt(len($$84), 0))) project: [$$88, $$84]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query3.plan
index da4ecf8..eaf9850 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query3.plan
@@ -22,16 +22,20 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$87)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$88, $$87])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$87] <- [$$CT.getField(1)]
+ assign [$$87] <- [$$CT.getField(1)] project: [$$88, $$87]
-- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$86)
+ unnest $$CT <- scan-collection($$86) project: [$$88, $$CT]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$88, $$86])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (eq($$C.getField(1), "--Ni3oJ4VOqfOEu7Sj2Vzg")) project: [$$88, $$86]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query4.plan
index 10e665d..97ec283 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/join-quantified-queries/use-case-4/query4.plan
@@ -22,16 +22,20 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$132)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$130, $$132])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$132] <- [$$CT.getField(1)]
+ assign [$$132] <- [$$CT.getField(1)] project: [$$130, $$132]
-- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$131)
+ unnest $$CT <- scan-collection($$131) project: [$$130, $$CT]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$130, $$131])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$131] <- [$$B.getField(2)] project: [$$130, $$131]
@@ -78,16 +82,20 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$129)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$130, $$129])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$129] <- [$$CT.getField(1)]
+ assign [$$129] <- [$$CT.getField(1)] project: [$$130, $$129]
-- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$128)
+ unnest $$CT <- scan-collection($$128) project: [$$130, $$CT]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$130, $$128])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$128] <- [$$A.getField(2)] project: [$$130, $$128]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query1.plan
index b930afb..8ef888f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query1.plan
@@ -13,12 +13,14 @@
-- AGGREGATE |LOCAL|
select (and(eq($$36, 284), eq($$35, 263)))
-- STREAM_SELECT |LOCAL|
- assign [$$36, $$35] <- [$$v.getField("a"), $$v.getField("b")]
+ assign [$$36, $$35] <- [$$v.getField("a"), $$v.getField("b")] project: [$$36, $$35]
-- ASSIGN |LOCAL|
- unnest $$v <- scan-collection($$34)
+ unnest $$v <- scan-collection($$34) project: [$$v]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$34])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$34] <- [$$k.getField("uarr_i")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query2.plan
index a8e9cac..c1080e9 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-indexes/query2.plan
@@ -13,12 +13,14 @@
-- AGGREGATE |LOCAL|
select (and(eq($$39, 284), eq($$38, 263), eq($$37, 123)))
-- STREAM_SELECT |LOCAL|
- assign [$$39, $$38, $$37] <- [$$v.getField("a"), $$v.getField("b"), $$v.getField("c")]
+ assign [$$39, $$38, $$37] <- [$$v.getField("a"), $$v.getField("b"), $$v.getField("c")] project: [$$39, $$38, $$37]
-- ASSIGN |LOCAL|
- unnest $$v <- scan-collection($$36)
+ unnest $$v <- scan-collection($$36) project: [$$v]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$36])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$36] <- [$$k.getField("uarr_i")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query1.plan
index 6298ffb..94d9ee2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query1.plan
@@ -13,14 +13,16 @@
-- AGGREGATE |LOCAL|
select (eq($$J, 2))
-- STREAM_SELECT |LOCAL|
- unnest $$J <- scan-collection($$45)
+ unnest $$J <- scan-collection($$45) project: [$$J]
-- UNNEST |LOCAL|
- select (eq($$I, 1))
+ select (eq($$I, 1)) project: [$$45]
-- STREAM_SELECT |LOCAL|
- unnest $$I <- scan-collection($$44)
+ unnest $$I <- scan-collection($$44) project: [$$45, $$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$44])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$45, $$44] <- [$$D1.getField("other_items"), $$D1.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query10.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query10.plan
index 588f524..1b47b23 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query10.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query10.plan
@@ -13,21 +13,27 @@
-- AGGREGATE |LOCAL|
select (eq(true, $#2))
-- STREAM_SELECT |LOCAL|
- unnest $#2 <- scan-collection(ordered-list-constructor(eq($$29, "a"), $$22))
+ unnest $#2 <- scan-collection(ordered-list-constructor(eq($$29, "a"), $$22)) project: [$#2]
-- UNNEST |LOCAL|
- subplan {
- aggregate [$$22] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq("b", $#1))
- -- STREAM_SELECT |LOCAL|
- unnest $#1 <- scan-collection($$28)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29, $$22])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$22] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq("b", $#1))
+ -- STREAM_SELECT |LOCAL|
+ unnest $#1 <- scan-collection($$28) project: [$#1]
+ -- UNNEST |LOCAL|
+ project ([$$28])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ project ([$$29, $$28])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$29, $$28] <- [$$D1.getField("val"), $$D1.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query11.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query11.plan
index 5581b76..e3cc936 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query11.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query11.plan
@@ -13,32 +13,42 @@
-- AGGREGATE |LOCAL|
select (eq(true, $#3))
-- STREAM_SELECT |LOCAL|
- unnest $#3 <- scan-collection(ordered-list-constructor(eq($$37, "a"), $$29))
+ unnest $#3 <- scan-collection(ordered-list-constructor(eq($$37, "a"), $$29)) project: [$#3]
-- UNNEST |LOCAL|
- subplan {
- aggregate [$$29] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq(true, $#2))
- -- STREAM_SELECT |LOCAL|
- unnest $#2 <- scan-collection(ordered-list-constructor(eq($$36, "c"), $$27))
- -- UNNEST |LOCAL|
- subplan {
- aggregate [$$27] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq("b", $#1))
- -- STREAM_SELECT |LOCAL|
- unnest $#1 <- scan-collection($$35)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$37, $$29])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$29] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq(true, $#2))
+ -- STREAM_SELECT |LOCAL|
+ unnest $#2 <- scan-collection(ordered-list-constructor(eq($$36, "c"), $$27)) project: [$#2]
+ -- UNNEST |LOCAL|
+ project ([$$36, $$27])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$27] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq("b", $#1))
+ -- STREAM_SELECT |LOCAL|
+ unnest $#1 <- scan-collection($$35) project: [$#1]
+ -- UNNEST |LOCAL|
+ project ([$$35])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ project ([$$36, $$35])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ project ([$$37, $$36, $$35])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$37, $$36, $$35] <- [$$D1.getField("val"), $$D1.getField("val2"), $$D1.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query2.plan
index baede90..144c9f4 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query2.plan
@@ -13,14 +13,16 @@
-- AGGREGATE |LOCAL|
select (eq($$J, 2))
-- STREAM_SELECT |LOCAL|
- unnest $$J <- scan-collection($$45)
+ unnest $$J <- scan-collection($$45) project: [$$J]
-- UNNEST |LOCAL|
- select (eq($$I, 1))
+ select (eq($$I, 1)) project: [$$45]
-- STREAM_SELECT |LOCAL|
- unnest $$I <- scan-collection($$44)
+ unnest $$I <- scan-collection($$44) project: [$$45, $$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$44])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$45, $$44] <- [$$D1.getField("other_items"), $$D1.getField(1)]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query3.plan
index 40eba97..8382620 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query3.plan
@@ -13,18 +13,20 @@
-- AGGREGATE |LOCAL|
select (eq($$49, 2))
-- STREAM_SELECT |LOCAL|
- assign [$$49] <- [$$J.getField("item")]
+ assign [$$49] <- [$$J.getField("item")] project: [$$49]
-- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$48)
+ unnest $$J <- scan-collection($$48) project: [$$J]
-- UNNEST |LOCAL|
- select (eq($$47, 1))
+ select (eq($$47, 1)) project: [$$48]
-- STREAM_SELECT |LOCAL|
- assign [$$47] <- [$$I.getField("item")]
+ assign [$$47] <- [$$I.getField("item")] project: [$$48, $$47]
-- ASSIGN |LOCAL|
- unnest $$I <- scan-collection($$46)
+ unnest $$I <- scan-collection($$46) project: [$$48, $$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$48, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$48, $$46] <- [$$D1.getField("other_items"), $$D1.getField("items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query4.plan
index 6fd232a..a23f87d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query4.plan
@@ -13,18 +13,20 @@
-- AGGREGATE |LOCAL|
select (eq($$49, 2))
-- STREAM_SELECT |LOCAL|
- assign [$$49] <- [$$J.getField("item")]
+ assign [$$49] <- [$$J.getField("item")] project: [$$49]
-- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$48)
+ unnest $$J <- scan-collection($$48) project: [$$J]
-- UNNEST |LOCAL|
- select (eq($$47, 1))
+ select (eq($$47, 1)) project: [$$48]
-- STREAM_SELECT |LOCAL|
- assign [$$47] <- [$$I.getField(0)]
+ assign [$$47] <- [$$I.getField(0)] project: [$$48, $$47]
-- ASSIGN |LOCAL|
- unnest $$I <- scan-collection($$46)
+ unnest $$I <- scan-collection($$46) project: [$$48, $$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$48, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$48, $$46] <- [$$D1.getField("other_items"), $$D1.getField(1)]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query5.plan
index feabc78..b20c8e4 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query5.plan
@@ -13,37 +13,43 @@
-- AGGREGATE |LOCAL|
select ($$68)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$68] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq($$80, 2))
- -- STREAM_SELECT |LOCAL|
- assign [$$80] <- [$$J2.getField("item")]
- -- ASSIGN |LOCAL|
- unnest $$J2 <- scan-collection($$79)
- -- UNNEST |LOCAL|
- select (eq($$78, 1))
- -- STREAM_SELECT |LOCAL|
- assign [$$78] <- [$$I2.getField("item")]
- -- ASSIGN |LOCAL|
- unnest $$I2 <- scan-collection($$77)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- select (eq($$76, 2))
- -- STREAM_SELECT |LOCAL|
- assign [$$76] <- [$$J.getField("item")]
- -- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$75)
- -- UNNEST |LOCAL|
- assign [$$79, $$77] <- [$$I1.getField("other_inner_items"), $$I1.getField("inner_items")]
- -- ASSIGN |LOCAL|
- unnest $$I1 <- scan-collection($$74)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$68] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq($$80, 2))
+ -- STREAM_SELECT |LOCAL|
+ assign [$$80] <- [$$J2.getField("item")] project: [$$80]
+ -- ASSIGN |LOCAL|
+ unnest $$J2 <- scan-collection($$79) project: [$$J2]
+ -- UNNEST |LOCAL|
+ select (eq($$78, 1)) project: [$$79]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$78] <- [$$I2.getField("item")] project: [$$79, $$78]
+ -- ASSIGN |LOCAL|
+ unnest $$I2 <- scan-collection($$77) project: [$$79, $$I2]
+ -- UNNEST |LOCAL|
+ project ([$$79, $$77])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ select (eq($$76, 2)) project: [$$79, $$77]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$76] <- [$$J.getField("item")] project: [$$79, $$77, $$76]
+ -- ASSIGN |LOCAL|
+ unnest $$J <- scan-collection($$75) project: [$$79, $$77, $$J]
+ -- UNNEST |LOCAL|
+ assign [$$79, $$77] <- [$$I1.getField("other_inner_items"), $$I1.getField("inner_items")] project: [$$75, $$79, $$77]
+ -- ASSIGN |LOCAL|
+ unnest $$I1 <- scan-collection($$74) project: [$$75, $$I1]
+ -- UNNEST |LOCAL|
+ project ([$$75, $$74])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$75, $$74] <- [$$D1.getField("other_items"), $$D1.getField("outer_items")]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query6.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query6.plan
index ebe4342..a52a3f6 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query6.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query6.plan
@@ -13,37 +13,43 @@
-- AGGREGATE |LOCAL|
select ($$68)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$68] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq($$80, 2))
- -- STREAM_SELECT |LOCAL|
- assign [$$80] <- [$$J2.getField("item")]
- -- ASSIGN |LOCAL|
- unnest $$J2 <- scan-collection($$79)
- -- UNNEST |LOCAL|
- select (eq($$78, 1))
- -- STREAM_SELECT |LOCAL|
- assign [$$78] <- [$$I2.getField(0)]
- -- ASSIGN |LOCAL|
- unnest $$I2 <- scan-collection($$77)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- select (eq($$76, 2))
- -- STREAM_SELECT |LOCAL|
- assign [$$76] <- [$$J.getField("item")]
- -- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$75)
- -- UNNEST |LOCAL|
- assign [$$79, $$77] <- [$$I1.getField("other_inner_items"), $$I1.getField(0)]
- -- ASSIGN |LOCAL|
- unnest $$I1 <- scan-collection($$74)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$68] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq($$80, 2))
+ -- STREAM_SELECT |LOCAL|
+ assign [$$80] <- [$$J2.getField("item")] project: [$$80]
+ -- ASSIGN |LOCAL|
+ unnest $$J2 <- scan-collection($$79) project: [$$J2]
+ -- UNNEST |LOCAL|
+ select (eq($$78, 1)) project: [$$79]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$78] <- [$$I2.getField(0)] project: [$$79, $$78]
+ -- ASSIGN |LOCAL|
+ unnest $$I2 <- scan-collection($$77) project: [$$79, $$I2]
+ -- UNNEST |LOCAL|
+ project ([$$79, $$77])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ select (eq($$76, 2)) project: [$$79, $$77]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$76] <- [$$J.getField("item")] project: [$$79, $$77, $$76]
+ -- ASSIGN |LOCAL|
+ unnest $$J <- scan-collection($$75) project: [$$79, $$77, $$J]
+ -- UNNEST |LOCAL|
+ assign [$$79, $$77] <- [$$I1.getField("other_inner_items"), $$I1.getField(0)] project: [$$75, $$79, $$77]
+ -- ASSIGN |LOCAL|
+ unnest $$I1 <- scan-collection($$74) project: [$$75, $$I1]
+ -- UNNEST |LOCAL|
+ project ([$$75, $$74])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$75, $$74] <- [$$D1.getField("other_items"), $$D1.getField(1)]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query7.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query7.plan
index 6f45c65..8b6891d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query7.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query7.plan
@@ -13,14 +13,16 @@
-- AGGREGATE |LOCAL|
assign [$$51] <- [$$J.getField("item")]
-- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$49)
+ unnest $$J <- scan-collection($$49) project: [$$50, $$J]
-- UNNEST |LOCAL|
- assign [$$50] <- [$$I.getField(0)]
+ assign [$$50] <- [$$I.getField(0)] project: [$$49, $$50]
-- ASSIGN |LOCAL|
- unnest $$I <- scan-collection($$48)
+ unnest $$I <- scan-collection($$48) project: [$$49, $$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$48])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$49, $$48] <- [$$D1.getField("other_items"), $$D1.getField(1)]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query8.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query8.plan
index 9563f8f..8612501 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query8.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query8.plan
@@ -16,26 +16,30 @@
-- AGGREGATE |LOCAL|
assign [$$83] <- [$$J2.getField("item")]
-- ASSIGN |LOCAL|
- unnest $$J2 <- scan-collection($$81)
+ unnest $$J2 <- scan-collection($$81) project: [$$82, $$J2]
-- UNNEST |LOCAL|
- assign [$$82] <- [$$I2.getField(0)]
+ assign [$$82] <- [$$I2.getField(0)] project: [$$81, $$82]
-- ASSIGN |LOCAL|
- unnest $$I2 <- scan-collection($$80)
+ unnest $$I2 <- scan-collection($$80) project: [$$81, $$I2]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$81, $$80])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$84] <- [$$J.getField("item")]
+ assign [$$84] <- [$$J.getField("item")] project: [$$81, $$80, $$84]
-- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$79)
+ unnest $$J <- scan-collection($$79) project: [$$81, $$80, $$J]
-- UNNEST |LOCAL|
- assign [$$81, $$80] <- [$$I1.getField("other_inner_items"), $$I1.getField(0)]
+ assign [$$81, $$80] <- [$$I1.getField("other_inner_items"), $$I1.getField(0)] project: [$$79, $$81, $$80]
-- ASSIGN |LOCAL|
- unnest $$I1 <- scan-collection($$78)
+ unnest $$I1 <- scan-collection($$78) project: [$$79, $$I1]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$78])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$79, $$78] <- [$$D1.getField("other_items"), $$D1.getField(1)]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query9.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query9.plan
index 628fa95..1834bcd 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query9.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/multiple-quantifiers/query9.plan
@@ -16,26 +16,30 @@
-- AGGREGATE |LOCAL|
assign [$$85] <- [$$J2.getField("item")]
-- ASSIGN |LOCAL|
- unnest $$J2 <- scan-collection($$83)
+ unnest $$J2 <- scan-collection($$83) project: [$$84, $$J2]
-- UNNEST |LOCAL|
- assign [$$84] <- [$$I2.getField(0)]
+ assign [$$84] <- [$$I2.getField(0)] project: [$$83, $$84]
-- ASSIGN |LOCAL|
- unnest $$I2 <- scan-collection($$82)
+ unnest $$I2 <- scan-collection($$82) project: [$$83, $$I2]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$83, $$82])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$86] <- [$$J.getField("item")]
+ assign [$$86] <- [$$J.getField("item")] project: [$$87, $$83, $$82, $$86]
-- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$81)
+ unnest $$J <- scan-collection($$81) project: [$$87, $$83, $$82, $$J]
-- UNNEST |LOCAL|
- assign [$$87, $$83, $$82] <- [$$I1.getField(0), $$I1.getField("other_inner_items"), $$I1.getField(1)]
+ assign [$$87, $$83, $$82] <- [$$I1.getField(0), $$I1.getField("other_inner_items"), $$I1.getField(1)] project: [$$81, $$87, $$83, $$82]
-- ASSIGN |LOCAL|
- unnest $$I1 <- scan-collection($$80)
+ unnest $$I1 <- scan-collection($$80) project: [$$81, $$I1]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$81, $$80])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$81, $$80] <- [$$D1.getField("other_items"), $$D1.getField(1)]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query1.plan
index 8b34dc9..afad331 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query1.plan
@@ -13,10 +13,12 @@
-- AGGREGATE |LOCAL|
select (eq("2016-04-26 19:49:16", $#1))
-- STREAM_SELECT |LOCAL|
- unnest $#1 <- scan-collection($$22)
+ unnest $#1 <- scan-collection($$22) project: [$#1]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$22])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$23, $$22] <- [$$C.getField(1), $$C.getField(2)] project: [$$23, $$22]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query2.plan
index 9e6bfe1..29641fe 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query2.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (and(gt($$D, "2016"), lt($$D, "2017")))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$53)
+ unnest $$D <- scan-collection($$53) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$53])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$53] <- [$$C.getField(2)] project: [$$53]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query3.plan
index c867b71..a61c2fb 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query3.plan
@@ -19,7 +19,7 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(and(gt($$D, "2016"), lt($$D, "2017")), false)))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$57)
+ unnest $$D <- scan-collection($$57) project: [$$D]
-- UNNEST |LOCAL|
nested tuple source
-- NESTED_TUPLE_SOURCE |LOCAL|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query4.plan
index 47421df..a2a2a43 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query4.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$55)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$55] <- [$$C.getField(2)] project: [$$55]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query5.plan
index 5c67893..b531199 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-1/query5.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(and(gt($$D, "2016"), lt($$D, "2017")), false)))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$62)
+ unnest $$D <- scan-collection($$62) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (and(lt(0, len($$C.getField("dates_notindexed"))), lt(0, len($$C.getField("dates_notindexed_2"))))) project: [$$62]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query1.plan
index 83042d4..b7f8a6c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query1.plan
@@ -13,10 +13,12 @@
-- AGGREGATE |LOCAL|
select (eq("2016-04-26", $#1))
-- STREAM_SELECT |LOCAL|
- unnest $#1 <- scan-collection($$23)
+ unnest $#1 <- scan-collection($$23) project: [$#1]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$23])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$23, $$24] <- [$$C.getField(2).getField(0), $$C.getField(1)] project: [$$24, $$23]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query2.plan
index 6186d80..afe9620 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query2.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (and(gt($$D, "2016"), lt($$D, "2017")))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$54)
+ unnest $$D <- scan-collection($$54) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$54])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$54] <- [$$C.getField(2).getField(0)] project: [$$54]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query3.plan
index ebc473b..9b04e01 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query3.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$56)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$56])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$56] <- [$$C.getField(2).getField(0)] project: [$$56]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query4.plan
index 8ea231a..000440c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query4.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$56)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$56])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$56] <- [$$C.getField(2).getField("dates_notindexed")] project: [$$56]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query5.plan
index 9baec23..6bf553c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-2/query5.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$55)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$55] <- [$$C.getField(2).getField(0)] project: [$$55]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query1.plan
index 42318aa..0a9b8c8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query1.plan
@@ -13,12 +13,14 @@
-- AGGREGATE |LOCAL|
select (eq("2016-04-26", $$33))
-- STREAM_SELECT |LOCAL|
- assign [$$33] <- [$$D.getField(0)]
+ assign [$$33] <- [$$D.getField(0)] project: [$$33]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$32)
+ unnest $$D <- scan-collection($$32) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$32])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$34, $$32] <- [$$C.getField(1), $$C.getField(2)] project: [$$34, $$32]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query2.plan
index b18026c..d9f24ac 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query2.plan
@@ -13,12 +13,14 @@
-- AGGREGATE |LOCAL|
select (and(eq($$37, "2016-04-26"), eq($$36, "19:49:16")))
-- STREAM_SELECT |LOCAL|
- assign [$$37, $$36] <- [$$D.getField(0), $$D.getField(1)]
+ assign [$$37, $$36] <- [$$D.getField(0), $$D.getField(1)] project: [$$37, $$36]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$35)
+ unnest $$D <- scan-collection($$35) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$35])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$38, $$35] <- [$$C.getField(1), $$C.getField(2)] project: [$$38, $$35]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query3.plan
index a0d16c7..f62d1b3 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query3.plan
@@ -13,10 +13,12 @@
-- AGGREGATE |LOCAL|
assign [$$38] <- [$$D.getField(0)]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$37)
+ unnest $$D <- scan-collection($$37) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$37])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$40, $$37] <- [$$C.getField(1), $$C.getField(2)] project: [$$40, $$37]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query4.plan
index 08f5c1d..7f00c32 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-3/query4.plan
@@ -13,10 +13,12 @@
-- AGGREGATE |LOCAL|
assign [$$38] <- [$$D.getField("date_notindexed")]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$37)
+ unnest $$D <- scan-collection($$37) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$37])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$40, $$37] <- [$$C.getField(1), $$C.getField(2)] project: [$$40, $$37]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query1.plan
index 5984a7f..287548d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query1.plan
@@ -13,23 +13,29 @@
-- AGGREGATE |LOCAL|
select ($$29)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$29] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq("2016-04-26", $#1))
- -- STREAM_SELECT |LOCAL|
- unnest $#1 <- scan-collection($$36)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- assign [$$36] <- [$$D.getField(0)]
- -- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$35)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$29] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq("2016-04-26", $#1))
+ -- STREAM_SELECT |LOCAL|
+ unnest $#1 <- scan-collection($$36) project: [$#1]
+ -- UNNEST |LOCAL|
+ project ([$$36])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ assign [$$36] <- [$$D.getField(0)] project: [$$36]
+ -- ASSIGN |LOCAL|
+ unnest $$D <- scan-collection($$35) project: [$$D]
+ -- UNNEST |LOCAL|
+ project ([$$35])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$37, $$35] <- [$$C.getField(1), $$C.getField(2)] project: [$$37, $$35]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query2.plan
index 0be5838..1e8374f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query2.plan
@@ -13,23 +13,29 @@
-- AGGREGATE |LOCAL|
select ($$38)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$38] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (eq($$D, "2016-04-26"))
- -- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$45)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- assign [$$45] <- [$$CT.getField(0)]
- -- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$44)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$38])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$38] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (eq($$D, "2016-04-26"))
+ -- STREAM_SELECT |LOCAL|
+ unnest $$D <- scan-collection($$45) project: [$$D]
+ -- UNNEST |LOCAL|
+ project ([$$45])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ assign [$$45] <- [$$CT.getField(0)] project: [$$45]
+ -- ASSIGN |LOCAL|
+ unnest $$CT <- scan-collection($$44) project: [$$CT]
+ -- UNNEST |LOCAL|
+ project ([$$44])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$46, $$44] <- [$$C.getField(1), $$C.getField(2)] project: [$$46, $$44]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query3.plan
index 8fab13b..ec7620b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query3.plan
@@ -16,18 +16,22 @@
-- AGGREGATE |LOCAL|
select (eq("2019-06-07", $$D))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$47)
+ unnest $$D <- scan-collection($$47) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$47])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$47] <- [$$CT.getField(0)]
+ assign [$$47] <- [$$CT.getField(0)] project: [$$47]
-- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$46)
+ unnest $$CT <- scan-collection($$46) project: [$$CT]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$48, $$46] <- [$$C.getField(1), $$C.getField(2)] project: [$$48, $$46]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query4.plan
index f623f98..2d13646 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query4.plan
@@ -13,21 +13,27 @@
-- AGGREGATE |LOCAL|
select (and($$38, eq($$39, 0)))
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$38, $$39] <- [non-empty-stream(), agg-sql-count(switch-case(gt($$D, "2019-06-07"), true, null, true))]
- -- AGGREGATE |LOCAL|
- unnest $$D <- scan-collection($$47)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- assign [$$47] <- [$$CT.getField(0)]
- -- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$46)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$38, $$39])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$38, $$39] <- [non-empty-stream(), agg-sql-count(switch-case(gt($$D, "2019-06-07"), true, null, true))]
+ -- AGGREGATE |LOCAL|
+ unnest $$D <- scan-collection($$47)
+ -- UNNEST |LOCAL|
+ project ([$$47])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ assign [$$47] <- [$$CT.getField(0)] project: [$$47]
+ -- ASSIGN |LOCAL|
+ unnest $$CT <- scan-collection($$46) project: [$$CT]
+ -- UNNEST |LOCAL|
+ project ([$$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$48, $$46] <- [$$C.getField(1), $$C.getField(2)] project: [$$48, $$46]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query5.plan
index b8831e0..49bcc0a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query5.plan
@@ -16,16 +16,20 @@
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$49)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$49] <- [$$CT.getField(0)]
+ assign [$$49] <- [$$CT.getField(0)] project: [$$49]
-- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$48)
+ unnest $$CT <- scan-collection($$48) project: [$$CT]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$48])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$50, $$48] <- [$$C.getField(1), $$C.getField(2)] project: [$$50, $$48]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query6.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query6.plan
index e3a147f..ad65aba 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query6.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query6.plan
@@ -18,18 +18,22 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(gt($$D, "2019-06-07"), false)))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$49)
+ unnest $$D <- scan-collection($$49) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$49] <- [$$CT.getField(0)]
+ assign [$$49] <- [$$CT.getField(0)] project: [$$49]
-- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$48)
+ unnest $$CT <- scan-collection($$48) project: [$$CT]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$48])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
assign [$$51, $$48] <- [$$C.getField(1), $$C.getField(2)] project: [$$51, $$48]
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query7.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query7.plan
index cebca6e..d3445b7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query7.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/array-index/select-quantified-queries/use-case-4/query7.plan
@@ -18,18 +18,22 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(gt($$D, "2019-06-07"), false)))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$57)
+ unnest $$D <- scan-collection($$57) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- assign [$$58, $$57] <- [$$CT.getField("num"), $$CT.getField(0)]
+ assign [$$58, $$57] <- [$$CT.getField("num"), $$CT.getField(0)] project: [$$58, $$57]
-- ASSIGN |LOCAL|
- unnest $$CT <- scan-collection($$55)
+ unnest $$CT <- scan-collection($$55) project: [$$CT]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (lt(0, len($$55)))
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
index 49a942e..803308d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$45)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$70] |PARTITIONED|
exchange
@@ -120,8 +122,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$45)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$70] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.plan
index 6e61876..edb048a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$49)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$51])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan
index cb4a6c9..f6b4f0d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$49)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$51])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
@@ -90,8 +92,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$49)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$51])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-01.plan
index 68dcc74..f243c19 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-01.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-01.plan
@@ -41,8 +41,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$148)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$148])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
exchange
@@ -134,8 +136,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$150)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$150])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$133] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-02.plan
index 05f1a9e..4c27807 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-02.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-02.plan
@@ -41,8 +41,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$148)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$148])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
exchange
@@ -134,8 +136,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$150)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$150])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$133] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-03.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-03.plan
index 45cb450..007150d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-03.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-03.plan
@@ -41,8 +41,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$148)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$148])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
exchange
@@ -130,8 +132,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$150)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$150])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$133] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-04.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-04.plan
index a2a803d..9fc45a0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-04.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/btree-index-selection/intersection-misc/intersection-misc-04.plan
@@ -41,8 +41,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$148)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$148])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
exchange
@@ -126,8 +128,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$150)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$150])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$133] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q16.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q16.plan
index 9899664..cf8178d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q16.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q16.plan
@@ -17,10 +17,12 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$150)
-- MICRO_STABLE_SORT [$$150(ASC)] |LOCAL|
- assign [$$150] <- [numeric-mod(numeric-multiply($$143, $$144), 10000)]
+ assign [$$150] <- [numeric-mod(numeric-multiply($$143, $$144), 10000)] project: [$$150]
-- ASSIGN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$143, $$144])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$129, $$130, $$131] |PARTITIONED|
exchange
@@ -42,8 +44,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$145)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$145])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$133, $$134] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q20.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q20.plan
index 3eba9df..9da618d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q20.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q20.plan
@@ -29,8 +29,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$197)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$197])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$177] |PARTITIONED|
exchange
@@ -102,8 +104,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$195)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$195])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$179] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q22.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q22.plan
index c340af1..3fa0f66 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q22.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q22.plan
@@ -46,8 +46,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$167)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$167])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$166] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q4.plan
index 352f6c4..53c773f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/ch2/ch2_q4.plan
@@ -33,12 +33,14 @@
-- AGGREGATE |LOCAL|
select (ge($$79, string(numeric-add(date($$80), duration: {P7D }))))
-- STREAM_SELECT |LOCAL|
- assign [$$79] <- [$$ol.getField("ol_delivery_d")]
+ assign [$$79] <- [$$ol.getField("ol_delivery_d")] project: [$$80, $$79]
-- ASSIGN |LOCAL|
- unnest $$ol <- scan-collection($$78)
+ unnest $$ol <- scan-collection($$78) project: [$$80, $$ol]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$80, $$78])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
select (and(lt($$80, "2015-10-01 00:00:00.000000"), ge($$80, "2015-07-01 00:00:00.000000")))
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/common-expr-01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/common-expr-01.plan
index 9ea6aaf..3948bcd 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/common-expr-01.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/common-expr-01.plan
@@ -45,8 +45,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$190)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$190])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$181] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/group-by/sugar-06-distinct.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/group-by/sugar-06-distinct.plan
index 23c3e27..1fc740a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/group-by/sugar-06-distinct.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/group-by/sugar-06-distinct.plan
@@ -23,8 +23,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$53)
-- MICRO_STABLE_SORT [$$53(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$53])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$57] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/issue741.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/issue741.plan
index 36a6df9..1ce0780 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/issue741.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/issue741.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$61)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$60] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
index 5952503..22906db 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
index 045a498..de65ee7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
@@ -170,8 +172,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
index 825a5f8..628ef5b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan
index 980f630..4392ad6 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
@@ -116,8 +118,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan
index db55da3..2057829 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/inner_right_corr.plan
@@ -15,8 +15,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$93)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$93])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$76] |PARTITIONED|
exchange
@@ -58,10 +60,12 @@
-- STREAM_SELECT |LOCAL|
assign [$$88] <- [$$85.getField("b")]
-- ASSIGN |LOCAL|
- unnest $$85 <- scan-collection($$90)
+ unnest $$85 <- scan-collection($$90) project: [$$87, $$85]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$90, $$87])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/nested_query_with_bcast.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/nested_query_with_bcast.plan
index 896daea..ab51db7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/nested_query_with_bcast.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/joins/nested_query_with_bcast.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$44)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$33, $$44])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$40] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_01.plan
index 5446096..86afbf7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_01.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_01.plan
@@ -13,8 +13,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$59)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$ps, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$49, $$50] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_02.plan
index 13d0338..b279aaa 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_02.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/loj-super-key_02.plan
@@ -13,8 +13,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$59)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$li, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$49, $$50] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/micro_external_sort/micro_external_sort.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/micro_external_sort/micro_external_sort.plan
index cf93f82..c1f5aef 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/micro_external_sort/micro_external_sort.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/micro_external_sort/micro_external_sort.plan
@@ -22,10 +22,12 @@
-- MICRO_PRE_CLUSTERED_GROUP_BY[$$164] |LOCAL|
order (ASC, $$164)
-- MICRO_STABLE_SORT [$$164(ASC)] |LOCAL|
- assign [$$157] <- [$$143.getField(3)]
+ assign [$$157] <- [$$143.getField(3)] project: [$$164, $$157]
-- ASSIGN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$164, $$143])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$163] |LOCAL|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
index 6312b51..32776e4 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$55)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55, $$61, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$54] |PARTITIONED|
exchange
@@ -96,8 +98,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$55)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55, $$61, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$54] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan
index 3e0aecd..0bc6a8d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$61)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$60] |PARTITIONED|
exchange
@@ -96,8 +98,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$61)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$60] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
index 50b646a..85921bf 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$75)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$82, $$75])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$74] |PARTITIONED|
exchange
@@ -186,8 +188,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$75)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$82, $$75])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$74] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan
index d57acf2..ad9d7e8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$75)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$82, $$75])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$74] |PARTITIONED|
exchange
@@ -124,8 +126,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$75)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$82, $$75])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$74] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
index 19ab548..732c1f6 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$65)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$71, $$67, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$64] |PARTITIONED|
exchange
@@ -100,8 +102,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$65)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$71, $$67, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$64] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
index b2eb0ab..c675be2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$72)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$76, $$74, $$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$71] |PARTITIONED|
exchange
@@ -100,8 +102,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$72)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$76, $$74, $$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$71] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan
index 77b58c2..5b7e383 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$55)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55, $$61, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$54] |PARTITIONED|
exchange
@@ -96,8 +98,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$55)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55, $$61, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$54] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan
index a9fa16e..dff5585 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$55)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55, $$61, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$54] |PARTITIONED|
exchange
@@ -96,8 +98,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$55)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$55, $$61, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$54] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan
index 2965279..c7348ea 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$61)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$60] |PARTITIONED|
exchange
@@ -96,8 +98,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$61)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$60] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan
index 4abfab0..5f5035d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$61)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$60] |PARTITIONED|
exchange
@@ -96,8 +98,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$61)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$61, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$60] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
index 16819c3..59fd32a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$75)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$82, $$75])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$74] |PARTITIONED|
exchange
@@ -186,8 +188,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$75)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$82, $$75])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$74] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
index 6f10b5d..67d3b48 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$65)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$71, $$67, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$64] |PARTITIONED|
exchange
@@ -100,8 +102,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$65)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$71, $$67, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$64] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
index c0220b5..e3d15ba 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
@@ -25,8 +25,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$72)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$76, $$74, $$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$71] |PARTITIONED|
exchange
@@ -100,8 +102,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$72)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$76, $$74, $$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$71] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested_loj2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested_loj2.plan
index bebe54d..699b501 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested_loj2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/nested_loj2.plan
@@ -16,8 +16,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$79)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$79])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- MICRO_PRE_CLUSTERED_GROUP_BY[$$72] |LOCAL|
select (not(is-missing($$81)))
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan
index 2889a3f..2624bca 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_1_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$45)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$44] |PARTITIONED|
exchange
@@ -90,8 +92,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$45)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$44] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan
index e3b654f..aa8f645 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_01_2_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$45)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$44] |PARTITIONED|
exchange
@@ -90,8 +92,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$45)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$45, $$46])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$44] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan
index 5ce84a7..af1f87b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_1_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$49)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$51])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
@@ -90,8 +92,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$49)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$51])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan
index e8e8bf4..40f0c80 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/btree-index-join/leftouterjoin-probe-pidx-with-join-btree-sidx_02_2_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$49)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$51])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
@@ -90,8 +92,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$49)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$49, $$51])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
index 52654f2..1504f20 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/leftouterjoin-probe-pidx-with-join-edit-distance-check-idx_01_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
@@ -170,8 +172,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$63)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$63, $$65])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$62] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
index 0a28910..fddb751 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$58)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$58, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$57] |PARTITIONED|
exchange
@@ -94,8 +96,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$58)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$58, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$57] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
index 6c9a0c3..6811625 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$62)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62, $$64])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$61] |PARTITIONED|
exchange
@@ -94,8 +96,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$62)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62, $$64])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$61] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/push-project-through-group.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/push-project-through-group.plan
index c9b45e9..4ba34eb 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/push-project-through-group.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/push-project-through-group.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$50)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$40, $$50])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$45] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/quantifiers/query-ASTERIXDB-2696.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/quantifiers/query-ASTERIXDB-2696.plan
index 1cba9ea..705c8c4 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/quantifiers/query-ASTERIXDB-2696.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/quantifiers/query-ASTERIXDB-2696.plan
@@ -16,14 +16,18 @@
-- AGGREGATE |LOCAL|
select (ge($$x, 50))
-- STREAM_SELECT |LOCAL|
- unnest $$x <- scan-collection($$78)
+ unnest $$x <- scan-collection($$78) project: [$$x]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$78])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$78])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$75] |LOCAL|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408.plan
index f56c182..a97c504 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$52)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$47, $$52])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$46] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408_ps.plan
index c7267f0..880ea76 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-2408_ps.plan
@@ -29,8 +29,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$52)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$47, $$52])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$46] |PARTITIONED|
exchange
@@ -94,8 +96,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$52)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$47, $$52])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$46] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2.plan
index bab4b0d..af2d3dc 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2.plan
@@ -30,16 +30,20 @@
-- AGGREGATE |LOCAL|
select (gt($$124, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$124])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$127] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$124, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$124])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$114, $$115] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2_ps.plan
index 24eb512..072fdfd 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-2_ps.plan
@@ -42,16 +42,20 @@
-- AGGREGATE |LOCAL|
select (gt($$124, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$124])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$127] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$124, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$124])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$114, $$115] |PARTITIONED|
exchange
@@ -112,16 +116,20 @@
-- AGGREGATE |LOCAL|
select (gt($$124, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$124])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$127] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$124, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$124])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$114, $$115] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3.plan
index b98f872..db7858c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3.plan
@@ -30,16 +30,20 @@
-- AGGREGATE |LOCAL|
select (gt($$135, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$135])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$138] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$135, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$135])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$126, $$127] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3_ps.plan
index 4d3af5c..886d0a2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810-3_ps.plan
@@ -42,16 +42,20 @@
-- AGGREGATE |LOCAL|
select (gt($$135, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$135])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$138] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$135, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$135])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$126, $$127] |PARTITIONED|
exchange
@@ -112,16 +116,20 @@
-- AGGREGATE |LOCAL|
select (gt($$135, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$135])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$138] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$135, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$135])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$126, $$127] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810.plan
index b925f4a..07dbf5a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810.plan
@@ -30,16 +30,20 @@
-- AGGREGATE |LOCAL|
select (gt($$146, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$146])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$149] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$146, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$146])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$138, $$139] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810_ps.plan
index 510903c..c3ed25f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-810_ps.plan
@@ -42,16 +42,20 @@
-- AGGREGATE |LOCAL|
select (gt($$146, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$146])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$149] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$146, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$146])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$138, $$139] |PARTITIONED|
exchange
@@ -112,16 +116,20 @@
-- AGGREGATE |LOCAL|
select (gt($$146, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$146])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$149] <- [agg-count($$l)]
-- AGGREGATE |LOCAL|
select (le($$146, 0.05))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$146])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$138, $$139] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562_ps.plan
index 4f32889..4840561 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-issue562_ps.plan
@@ -58,8 +58,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$170)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$170])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$169] |PARTITIONED|
exchange
@@ -174,8 +176,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$170)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$170])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$169] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query_issue3316.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query_issue3316.plan
index b869d74..acd74b2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query_issue3316.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query_issue3316.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$317)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$190, $$317])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$227] |PARTITIONED|
exchange
@@ -40,8 +42,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$226)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$155, $$226])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$193] |PARTITIONED|
exchange
@@ -91,8 +95,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$239)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$239])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$225, $$194] |PARTITIONED|
exchange
@@ -180,8 +186,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$253)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$145, $$253])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$238, $$235] |PARTITIONED|
exchange
@@ -425,8 +433,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$387)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$387])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$256, $$196] |PARTITIONED|
exchange
@@ -456,8 +466,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$262)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$262])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$257] |PARTITIONED|
exchange
@@ -519,8 +531,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$280)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$280])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$268, $$270] |PARTITIONED|
exchange
@@ -610,8 +624,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$296)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$297, $$296])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$284, $$285] |PARTITIONED|
exchange
@@ -865,8 +881,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$458)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$180, $$458])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$327, $$326] |PARTITIONED|
exchange
@@ -896,8 +914,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$332)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$332])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$328] |PARTITIONED|
exchange
@@ -959,8 +979,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$350)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$350])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$338, $$340] |PARTITIONED|
exchange
@@ -1050,8 +1072,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$366)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$367, $$366])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$354, $$355] |PARTITIONED|
exchange
@@ -1329,8 +1353,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$403)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$403])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$399] |PARTITIONED|
exchange
@@ -1388,8 +1414,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$421)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$421])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$409, $$411] |PARTITIONED|
exchange
@@ -1475,8 +1503,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$437)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$438, $$437])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$425, $$426] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/remove_listify.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/remove_listify.plan
index 56a855c..136f622 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/remove_listify.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/remove_listify.plan
@@ -15,10 +15,12 @@
-- AGGREGATE |LOCAL|
select (and(ge($$139, numeric-subtract($$147, 5)), le($$139, $$147), not(is-missing($$152))))
-- STREAM_SELECT |LOCAL|
- assign [$$139] <- [$$113.getField("f2")]
+ assign [$$139] <- [$$113.getField("f2")] project: [$$147, $$152, $$139]
-- ASSIGN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$147, $$152, $$113])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$141] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
index 93871a6..d988ae1 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_01_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$58)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$58, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$97] |PARTITIONED|
exchange
@@ -138,8 +140,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$58)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$58, $$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$97] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.plan
index 3d86c89..eb7df10 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$62)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62, $$64])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$61] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
index 676fd67..687d8ef 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/rtree-index-join/leftouterjoin-probe-pidx-with-join-rtree-sidx_02_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$62)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62, $$64])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$61] |PARTITIONED|
exchange
@@ -94,8 +96,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$62)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$62, $$64])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$61] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan
index 26805a8..6b8aab7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists.plan
@@ -46,8 +46,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$188)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$188])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$187] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists_ps.plan
index 16bd503..3b1ce8a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/exists_ps.plan
@@ -58,8 +58,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$188)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$188])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$187] |PARTITIONED|
exchange
@@ -190,8 +192,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$188)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$188])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$187] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan
index b9e0186..8e4b5d9 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in.plan
@@ -15,8 +15,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$52)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$52])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2.plan
index 7869a45..fddb1fa 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2_ps.plan
index 22cc503..ca7311c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_2_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
@@ -82,8 +84,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4.plan
index a4e3699..aa852ea 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$24)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$24])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$21] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4_ps.plan
index 6c20d83..b97aa3e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_4_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$24)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$24])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$21] |PARTITIONED|
exchange
@@ -82,8 +84,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$24)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$24])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$21] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6.plan
index 7869a45..fddb1fa 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6_ps.plan
index 22cc503..ca7311c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_as_or_6_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
@@ -82,8 +84,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_3.plan
index 3663e21..429c3c8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_3.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$111)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$111])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$110] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_4.plan
index a684e10..3273732 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_4.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$131)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$131])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_5.plan
index 5cb2dce..5d07d54 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_5.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$131)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$131])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_6.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_6.plan
index 44f61a1..a561711 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_6.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_6.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$117, $#3))
-- STREAM_SELECT |LOCAL|
- unnest $#3 <- scan-collection($$96)
+ unnest $#3 <- scan-collection($$96) project: [$$117, $#3]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$117, $$96])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_7.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_7.plan
index 44f61a1..a561711 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_7.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_7.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$117, $#3))
-- STREAM_SELECT |LOCAL|
- unnest $#3 <- scan-collection($$96)
+ unnest $#3 <- scan-collection($$96) project: [$$117, $#3]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$117, $$96])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_8.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_8.plan
index 61c6bfd..37cf2f0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_8.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_let_8.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$111)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$111])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$100, $$i1, $$103, $$99, $$110] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_ps.plan
index a09a030..34e22c0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/in_ps.plan
@@ -27,8 +27,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$52)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$52])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
@@ -92,8 +94,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$52)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$52])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$48] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan
index f7d776c..f8335d2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists.plan
@@ -46,8 +46,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$189)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$189])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$188] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists_ps.plan
index 46692e4..f6b762b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/not_exists_ps.plan
@@ -58,8 +58,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$189)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$189])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$188] |PARTITIONED|
exchange
@@ -190,8 +192,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$189)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$o, $$189])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$188] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan
index 0826577..ab0bce1 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-1572.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (eq($$57, 2))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
subplan {
@@ -20,8 +22,10 @@
-- AGGREGATE |LOCAL|
select (eq($$57, 1))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
subplan {
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-2.plan
index d0edd9f..ed1b247 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-2.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$95)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$74, $$95])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$83] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-3.plan
index 0ce602e..e186cf5 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815-3.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$101)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$79, $$101])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$89] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815.plan
index edd692d..62cc9d8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-2815.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$88)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$67, $$88])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$75] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan
index f4c8eb0..4680a16 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/subquery/query-ASTERIXDB-3006.plan
@@ -24,8 +24,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$57)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$49] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated-2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated-2.plan
index 32968f9..fe8e731 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated-2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated-2.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$235)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$235])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$234] |PARTITIONED|
exchange
@@ -44,8 +46,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$233)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$122, $$233])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$196] |PARTITIONED|
exchange
@@ -65,8 +69,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$195)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$137, $$195])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$144] |PARTITIONED|
exchange
@@ -125,8 +131,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$189)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$135, $$189])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$188, $$193] |PARTITIONED|
exchange
@@ -168,8 +176,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$217)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$217])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$215] |PARTITIONED|
exchange
@@ -274,8 +284,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$199)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$120, $$199])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$198, $$231] |PARTITIONED|
exchange
@@ -307,8 +319,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$197)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$197])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$201] |PARTITIONED|
exchange
@@ -328,8 +342,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$205)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$205])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$202] |PARTITIONED|
exchange
@@ -388,8 +404,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$222)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$222])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$209, $$210] |PARTITIONED|
exchange
@@ -427,8 +445,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$217)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$217])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$215] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan
index f06b823..d6e351f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581-correlated.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$223)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$137, $$223])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$180] |PARTITIONED|
exchange
@@ -44,8 +46,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$179)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$122, $$179])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$164] |PARTITIONED|
exchange
@@ -65,8 +69,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$163)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$163])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$144] |PARTITIONED|
exchange
@@ -155,8 +161,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$166)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$120, $$166])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$165, $$168] |PARTITIONED|
exchange
@@ -200,8 +208,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$208)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$208])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$206] |PARTITIONED|
exchange
@@ -302,8 +312,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$182)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$135, $$182])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$181, $$184] |PARTITIONED|
exchange
@@ -337,8 +349,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$196)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$196])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$185] |PARTITIONED|
exchange
@@ -366,8 +380,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$208)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$208])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$206] |PARTITIONED|
exchange
@@ -448,8 +464,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$213)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$213])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$200, $$201] |PARTITIONED|
exchange
@@ -489,8 +507,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$208)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$208])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$206] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan
index 45c34fe..813b13b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1581.plan
@@ -35,8 +35,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$199)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$143, $$199])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$173] |LOCAL|
exchange
@@ -56,8 +58,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$172)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$126, $$172])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$109] |LOCAL|
exchange
@@ -223,8 +227,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$182)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$182])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$175] |LOCAL|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan
index f0a76d2..43c2015 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/tpcds/query-ASTERIXDB-1591.plan
@@ -32,8 +32,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$191)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$cs1, $$dd1, $$191])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$189, $$190] |PARTITIONED|
exchange
@@ -64,8 +66,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$188)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$ws1, $$dd1, $$188])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$186, $$187] |PARTITIONED|
exchange
@@ -100,8 +104,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$185)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$ss1, $$dd1, $$185])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$150, $$151] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ASTERIXDB-2402.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ASTERIXDB-2402.plan
index c7d8549..a54b6df 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ASTERIXDB-2402.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ASTERIXDB-2402.plan
@@ -18,23 +18,29 @@
-- MICRO_PRE_CLUSTERED_GROUP_BY[$$230] |LOCAL|
order (ASC, $$230)
-- MICRO_STABLE_SORT [$$230(ASC)] |LOCAL|
- assign [$$230] <- [$$sub.getField("BrokerEndpoint")]
+ assign [$$230] <- [$$sub.getField("BrokerEndpoint")] project: [$$260, $$259, $$230]
-- ASSIGN |LOCAL|
- unnest $$sub <- scan-collection($$219)
+ unnest $$sub <- scan-collection($$219) project: [$$260, $$259, $$sub]
-- UNNEST |LOCAL|
- subplan {
- aggregate [$$219] <- [listify($$218)]
- -- AGGREGATE |LOCAL|
- assign [$$218] <- [{"sub": $$sub}]
- -- ASSIGN |LOCAL|
- unnest $$sub <- scan-collection($$256)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$260, $$259, $$219])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$219] <- [listify($$218)]
+ -- AGGREGATE |LOCAL|
+ assign [$$218] <- [{"sub": $$sub}]
+ -- ASSIGN |LOCAL|
+ unnest $$sub <- scan-collection($$256) project: [$$sub]
+ -- UNNEST |LOCAL|
+ project ([$$256])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ project ([$$260, $$259, $$256])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
project ([$$260, $$259, $$256])
@@ -64,8 +70,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$268)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$253, $$238, $$268])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$267] |PARTITIONED|
exchange
@@ -96,8 +104,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$236)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$232, $$236])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- MICRO_PRE_CLUSTERED_GROUP_BY[$$321, $$322] |LOCAL|
select (and(not(is-missing($$318)), not(is-missing($$320))))
@@ -272,7 +282,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (and(eq($$248, $$239), eq($$250, $$240))) [cardinality: 1000000.0, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (and(eq($$248, $$239), eq($$250, $$240)))
-- HYBRID_HASH_JOIN [$$248, $$250][$$239, $$240] |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$248, $$250] |PARTITIONED|
@@ -280,7 +290,7 @@
-- ASSIGN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$237, $$238, $$bs] <- channels.EmergenciesNearMeChannelBrokerSubscriptions [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$237, $$238, $$bs] <- channels.EmergenciesNearMeChannelBrokerSubscriptions
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -292,7 +302,7 @@
-- ASSIGN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$239, $$240, $$b] <- channels.Broker [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$239, $$240, $$b] <- channels.Broker
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan
index f663a4e..515e40a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.10.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$72)
-- MICRO_STABLE_SORT [$$72(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
@@ -25,31 +27,31 @@
-- HASH_PARTITION_EXCHANGE [$$g] |PARTITIONED|
join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1.0E12, op-cost: 0.0, total-cost: 1.000006E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$72] <- [$$x.getField(1)] project: [$$72] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$72] <- [$$x.getField(1)] project: [$$72]
-- ASSIGN |PARTITIONED|
- project ([$$x]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$x])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$80, $$x] <- test.d1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$80, $$x] <- test.d1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- project ([]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$81, $$y] <- test.d2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$81, $$y] <- test.d2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan
index 11620b2..5423304 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.11.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$72)
-- MICRO_STABLE_SORT [$$72(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$72])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$83] <- [agg-sql-sum($$77)]
@@ -23,8 +25,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$77)
-- MICRO_STABLE_SORT [$$77(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$77])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
@@ -35,33 +39,33 @@
-- HASH_PARTITION_EXCHANGE [$$g] |PARTITIONED|
join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1.0E12, op-cost: 0.0, total-cost: 1.000006E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$72] <- [$$x.getField(1)] project: [$$72] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$72] <- [$$x.getField(1)] project: [$$72]
-- ASSIGN |PARTITIONED|
- project ([$$x]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$x])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$80, $$x] <- test.d1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$80, $$x] <- test.d1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- assign [$$77] <- [$$y.getField(1)] project: [$$77] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$77] <- [$$y.getField(1)] project: [$$77]
-- ASSIGN |PARTITIONED|
- project ([$$y]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$y])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$81, $$y] <- test.d2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$81, $$y] <- test.d2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan
index cdf64bc..725fd90 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.12.plan
@@ -19,8 +19,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$76)
-- MICRO_STABLE_SORT [$$76(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$76])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
@@ -31,31 +33,31 @@
-- HASH_PARTITION_EXCHANGE [$$g] |PARTITIONED|
join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1.0E12, op-cost: 0.0, total-cost: 1.000006E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$76] <- [$$x.getField(1)] project: [$$76] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$76] <- [$$x.getField(1)] project: [$$76]
-- ASSIGN |PARTITIONED|
- project ([$$x]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$x])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$89, $$x] <- test.d1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$89, $$x] <- test.d1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- project ([]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$90, $$y] <- test.d2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$90, $$y] <- test.d2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan
index 7ecd634..7344fe4 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.13.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$88)
-- MICRO_STABLE_SORT [$$88(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$88])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$105] <- [agg-sql-sum($$93)]
@@ -29,8 +31,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$98)
-- MICRO_STABLE_SORT [$$98(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$98])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
@@ -41,51 +45,51 @@
-- HASH_PARTITION_EXCHANGE [$$g] |PARTITIONED|
join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 9.223372036854776E16, op-cost: 9.223372036854776E16, total-cost: 9.223372036854776E16]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1.0E12, op-cost: 0.0, total-cost: 1.000006E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$88] <- [$$x.getField(1)] project: [$$88] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$88] <- [$$x.getField(1)] project: [$$88]
-- ASSIGN |PARTITIONED|
- project ([$$x]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$x])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$101, $$x] <- test.d1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$101, $$x] <- test.d1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- assign [$$93] <- [$$y.getField(1)] project: [$$93] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$93] <- [$$y.getField(1)] project: [$$93]
-- ASSIGN |PARTITIONED|
- project ([$$y]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$y])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$102, $$y] <- test.d2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$102, $$y] <- test.d2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- assign [$$98] <- [$$z.getField(1)] project: [$$98] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$98] <- [$$z.getField(1)] project: [$$98]
-- ASSIGN |PARTITIONED|
- project ([$$z]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$z])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$103, $$z] <- test.d3 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$103, $$z] <- test.d3
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan
index 4e6f920..7cd1833 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.14.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$112)
-- MICRO_STABLE_SORT [$$112(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$112])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$159, $$163, $$165] <- [agg-sql-sum($$117), agg-sql-count($$112), agg-sql-avg($$122)]
@@ -29,8 +31,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$122)
-- MICRO_STABLE_SORT [$$122(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$122])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
{
aggregate [$$162, $$164] <- [agg-sql-avg($$117), agg-sql-count($$117)]
@@ -39,8 +43,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$117)
-- MICRO_STABLE_SORT [$$117(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$117])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
@@ -51,51 +57,51 @@
-- HASH_PARTITION_EXCHANGE [$$g] |PARTITIONED|
join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 9.223372036854776E16, op-cost: 9.223372036854776E16, total-cost: 9.223372036854776E16]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1.0E12, op-cost: 0.0, total-cost: 1.000006E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$112] <- [$$x.getField(1)] project: [$$112] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$112] <- [$$x.getField(1)] project: [$$112]
-- ASSIGN |PARTITIONED|
- project ([$$x]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$x])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$155, $$x] <- test.d1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$155, $$x] <- test.d1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- assign [$$117] <- [$$y.getField(1)] project: [$$117] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$117] <- [$$y.getField(1)] project: [$$117]
-- ASSIGN |PARTITIONED|
- project ([$$y]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$y])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$156, $$y] <- test.d2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$156, $$y] <- test.d2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- assign [$$122] <- [$$z.getField(1)] project: [$$122] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$122] <- [$$z.getField(1)] project: [$$122]
-- ASSIGN |PARTITIONED|
- project ([$$z]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$z])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$157, $$z] <- test.d3 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$157, $$z] <- test.d3
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan
index 3be0ae0..7ddb43e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/aggregate-sql-sugar/distinct_mixed/distinct_mixed.9.plan
@@ -13,8 +13,10 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$68)
-- MICRO_STABLE_SORT [$$68(ASC)] |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$g] |PARTITIONED|
exchange
@@ -25,31 +27,31 @@
-- HASH_PARTITION_EXCHANGE [$$g] |PARTITIONED|
join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1.0E12, op-cost: 0.0, total-cost: 1.000006E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$68] <- [$$x.getField(1)] project: [$$68] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$68] <- [$$x.getField(1)] project: [$$68]
-- ASSIGN |PARTITIONED|
- project ([$$x]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$x])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$71, $$x] <- test.d1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$71, $$x] <- test.d1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- project ([]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$72, $$y] <- test.d2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$72, $$y] <- test.d2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query4.plan
index dcfd44c..031ab19 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query4.plan
@@ -1,35 +1,37 @@
-distribute result [$$37] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$37]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$37] <- [{"D": $$D}] project: [$$37] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$37] <- [{"D": $$D}] project: [$$37]
-- ASSIGN |PARTITIONED|
- select ($$32) project: [$$D] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$32) project: [$$D]
-- STREAM_SELECT |PARTITIONED|
- project ([$$D, $$32]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D, $$32])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$32] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (and(eq($$43, 2), eq($$42, 3)))
-- STREAM_SELECT |LOCAL|
- assign [$$43, $$42] <- [$$DI.getField("field2"), $$DI.getField("field3")]
+ assign [$$43, $$42] <- [$$DI.getField("field2"), $$DI.getField("field3")] project: [$$43, $$42]
-- ASSIGN |LOCAL|
- unnest $$DI <- scan-collection($$41)
+ unnest $$DI <- scan-collection($$41) project: [$$DI]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$41])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
select (and(eq($$D.getField("field1"), 1), eq($$D.getField("field4"), 4)))
-- STREAM_SELECT |PARTITIONED|
- assign [$$41] <- [$$D.getField("items")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$41] <- [$$D.getField("items")]
-- ASSIGN |PARTITIONED|
- project ([$$D]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$38, $$D] <- TestDataverse.Dataset1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$38, $$D] <- TestDataverse.Dataset1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query5.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query5.plan
index 260dd51..117496f 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query5.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query5.plan
@@ -1,50 +1,56 @@
-distribute result [$$55] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$55]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$55] <- [{"D": $$D}] project: [$$55] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$55] <- [{"D": $$D}] project: [$$55]
-- ASSIGN |PARTITIONED|
- select ($$50) project: [$$D] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$50) project: [$$D]
-- STREAM_SELECT |PARTITIONED|
- project ([$$D, $$50]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D, $$50])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$50] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select ($$48)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$48] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (and(eq($$64, 2), eq($$63, 3), eq($$62, 3)))
- -- STREAM_SELECT |LOCAL|
- assign [$$64, $$63, $$62] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DII <- scan-collection($$61)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- select (eq($$60, 2))
- -- STREAM_SELECT |LOCAL|
- assign [$$61, $$60] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DOI <- scan-collection($$59)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$48])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$48] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (and(eq($$64, 2), eq($$63, 3), eq($$62, 3)))
+ -- STREAM_SELECT |LOCAL|
+ assign [$$64, $$63, $$62] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")] project: [$$64, $$63, $$62]
+ -- ASSIGN |LOCAL|
+ unnest $$DII <- scan-collection($$61) project: [$$DII]
+ -- UNNEST |LOCAL|
+ project ([$$61])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ select (eq($$60, 2)) project: [$$61]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$61, $$60] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")] project: [$$61, $$60]
+ -- ASSIGN |LOCAL|
+ unnest $$DOI <- scan-collection($$59) project: [$$DOI]
+ -- UNNEST |LOCAL|
+ project ([$$59])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
select (and(eq($$D.getField("field1"), 1), eq($$D.getField("field4"), 4)))
-- STREAM_SELECT |PARTITIONED|
- assign [$$59] <- [$$D.getField("outer_items")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$59] <- [$$D.getField("outer_items")]
-- ASSIGN |PARTITIONED|
- project ([$$D]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$56, $$D] <- TestDataverse.Dataset1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$56, $$D] <- TestDataverse.Dataset1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query8.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query8.plan
index c98f46e..431b4f7 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query8.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query8.plan
@@ -1,33 +1,35 @@
-distribute result [$$57] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$57]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$57] <- [{"D2": $$D2, "D1": $$D1}] project: [$$57] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$57] <- [{"D2": $$D2, "D1": $$D1}] project: [$$57]
-- ASSIGN |PARTITIONED|
select ($$50) project: [$$D2, $$D1]
-- STREAM_SELECT |PARTITIONED|
- project ([$$D2, $$D1, $$50]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D2, $$D1, $$50])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$50] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (and(eq($$69, to-bigint($$70)), eq($$67, to-bigint($$68))))
-- STREAM_SELECT |LOCAL|
- assign [$$69, $$67] <- [$$D1I.getField("field2"), $$D1I.getField("field3")]
+ assign [$$69, $$67] <- [$$D1I.getField("field2"), $$D1I.getField("field3")] project: [$$70, $$68, $$69, $$67]
-- ASSIGN |LOCAL|
- unnest $$D1I <- scan-collection($$66)
+ unnest $$D1I <- scan-collection($$66) project: [$$70, $$68, $$D1I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$70, $$68, $$66])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$66] <- [$$D1.getField("items")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$66] <- [$$D1.getField("items")]
-- ASSIGN |PARTITIONED|
- project ([$$D2, $$70, $$68, $$D1]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D2, $$70, $$68, $$D1])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- unnest-map [$$59, $$D1] <- index-search("Dataset1", 0, "Default", "TestDataverse", "Dataset1", true, false, 1, $$77, 1, $$77, true, true, true) [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ unnest-map [$$59, $$D1] <- index-search("Dataset1", 0, "Default", "TestDataverse", "Dataset1", true, false, 1, $$77, 1, $$77, true, true, true)
-- BTREE_SEARCH |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -61,7 +63,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$58, $$D2] <- TestDataverse.Dataset2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$58, $$D2] <- TestDataverse.Dataset2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query9.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query9.plan
index e0f846d..12d38cc 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query9.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/atomic-and-array-queries/query9.plan
@@ -1,48 +1,54 @@
-distribute result [$$79] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$79]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$79] <- [{"D2": $$D2, "D1": $$D1}] project: [$$79] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$79] <- [{"D2": $$D2, "D1": $$D1}] project: [$$79]
-- ASSIGN |PARTITIONED|
select ($$72) project: [$$D2, $$D1]
-- STREAM_SELECT |PARTITIONED|
- project ([$$D2, $$D1, $$72]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D2, $$D1, $$72])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$72] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select ($$70)
-- STREAM_SELECT |LOCAL|
- subplan {
- aggregate [$$70] <- [non-empty-stream()]
- -- AGGREGATE |LOCAL|
- select (and(eq($$96, to-bigint($$97)), eq($$94, to-bigint($$95)), eq($$92, to-bigint($$93))))
- -- STREAM_SELECT |LOCAL|
- assign [$$96, $$94, $$92] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DII <- scan-collection($$91)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- }
- -- SUBPLAN |LOCAL|
- select (eq($$89, to-bigint($$90)))
- -- STREAM_SELECT |LOCAL|
- assign [$$91, $$89] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")]
- -- ASSIGN |LOCAL|
- unnest $$DOI <- scan-collection($$88)
- -- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$70])
+ -- STREAM_PROJECT |LOCAL|
+ subplan {
+ aggregate [$$70] <- [non-empty-stream()]
+ -- AGGREGATE |LOCAL|
+ select (and(eq($$96, to-bigint($$97)), eq($$94, to-bigint($$95)), eq($$92, to-bigint($$93))))
+ -- STREAM_SELECT |LOCAL|
+ assign [$$96, $$94, $$92] <- [$$DII.getField("field2"), $$DII.getField("field3"), $$DII.getField("field3_notindexed")] project: [$$97, $$95, $$93, $$96, $$94, $$92]
+ -- ASSIGN |LOCAL|
+ unnest $$DII <- scan-collection($$91) project: [$$97, $$95, $$93, $$DII]
+ -- UNNEST |LOCAL|
+ project ([$$97, $$95, $$93, $$91])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
+ -- SUBPLAN |LOCAL|
+ select (eq($$89, to-bigint($$90))) project: [$$97, $$95, $$93, $$91]
+ -- STREAM_SELECT |LOCAL|
+ assign [$$91, $$89] <- [$$DOI.getField("inner_items"), $$DOI.getField("field2_notindexed")] project: [$$97, $$95, $$93, $$90, $$91, $$89]
+ -- ASSIGN |LOCAL|
+ unnest $$DOI <- scan-collection($$88) project: [$$97, $$95, $$93, $$90, $$DOI]
+ -- UNNEST |LOCAL|
+ project ([$$97, $$95, $$93, $$90, $$88])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$88] <- [$$D1.getField("outer_items")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$88] <- [$$D1.getField("outer_items")]
-- ASSIGN |PARTITIONED|
- project ([$$D2, $$97, $$95, $$93, $$90, $$D1]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D2, $$97, $$95, $$93, $$90, $$D1])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- unnest-map [$$81, $$D1] <- index-search("Dataset1", 0, "Default", "TestDataverse", "Dataset1", true, false, 1, $$108, 1, $$108, true, true, true) [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ unnest-map [$$81, $$D1] <- index-search("Dataset1", 0, "Default", "TestDataverse", "Dataset1", true, false, 1, $$108, 1, $$108, true, true, true)
-- BTREE_SEARCH |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -76,7 +82,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$80, $$D2] <- TestDataverse.Dataset2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$80, $$D2] <- TestDataverse.Dataset2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query1.plan
index afb642e62..74994b8 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query1.plan
@@ -1,33 +1,35 @@
-distribute result [$$32] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$32]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$32] <- [{"k": $$k}] project: [$$32] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$32] <- [{"k": $$k}] project: [$$32]
-- ASSIGN |PARTITIONED|
- select ($$30) project: [$$k] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$30) project: [$$k]
-- STREAM_SELECT |PARTITIONED|
- project ([$$k, $$30]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$k, $$30])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$30] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (and(eq($$36, 284), eq($$35, 263)))
-- STREAM_SELECT |LOCAL|
- assign [$$36, $$35] <- [$$v.getField("a"), $$v.getField("b")]
+ assign [$$36, $$35] <- [$$v.getField("a"), $$v.getField("b")] project: [$$36, $$35]
-- ASSIGN |LOCAL|
- unnest $$v <- scan-collection($$34)
+ unnest $$v <- scan-collection($$34) project: [$$v]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$34])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$34] <- [$$k.getField("uarr_i")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$34] <- [$$k.getField("uarr_i")]
-- ASSIGN |PARTITIONED|
- project ([$$k]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$k])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$33, $$k] <- test.KSI [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$33, $$k] <- test.KSI
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query2.plan
index b226f93..bcfdc05 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-indexes/query2.plan
@@ -1,33 +1,35 @@
-distribute result [$$34] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$34]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$34] <- [{"k": $$k}] project: [$$34] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$34] <- [{"k": $$k}] project: [$$34]
-- ASSIGN |PARTITIONED|
- select ($$32) project: [$$k] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$32) project: [$$k]
-- STREAM_SELECT |PARTITIONED|
- project ([$$k, $$32]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$k, $$32])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$32] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (and(eq($$39, 284), eq($$38, 263), eq($$37, 123)))
-- STREAM_SELECT |LOCAL|
- assign [$$39, $$38, $$37] <- [$$v.getField("a"), $$v.getField("b"), $$v.getField("c")]
+ assign [$$39, $$38, $$37] <- [$$v.getField("a"), $$v.getField("b"), $$v.getField("c")] project: [$$39, $$38, $$37]
-- ASSIGN |LOCAL|
- unnest $$v <- scan-collection($$36)
+ unnest $$v <- scan-collection($$36) project: [$$v]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$36])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$36] <- [$$k.getField("uarr_i")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$36] <- [$$k.getField("uarr_i")]
-- ASSIGN |PARTITIONED|
- project ([$$k]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$k])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$35, $$k] <- test.KSI [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$35, $$k] <- test.KSI
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-quantifiers/query7.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-quantifiers/query7.plan
index 13c7d3b..81266ca 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-quantifiers/query7.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/multiple-quantifiers/query7.plan
@@ -1,35 +1,37 @@
-distribute result [$$46] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$46]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$46] <- [{"D1": $$D1}] project: [$$46] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$46] <- [{"D1": $$D1}] project: [$$46]
-- ASSIGN |PARTITIONED|
- select (and($$42, eq($$43, 0))) project: [$$D1] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and($$42, eq($$43, 0))) project: [$$D1]
-- STREAM_SELECT |PARTITIONED|
- project ([$$D1, $$42, $$43]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D1, $$42, $$43])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$42, $$43] <- [non-empty-stream(), agg-sql-count(switch-case(and(eq($$50, 1), eq($$51, 2)), true, null, true))]
-- AGGREGATE |LOCAL|
assign [$$51] <- [$$J.getField("item")]
-- ASSIGN |LOCAL|
- unnest $$J <- scan-collection($$49)
+ unnest $$J <- scan-collection($$49) project: [$$50, $$J]
-- UNNEST |LOCAL|
- assign [$$50] <- [$$I.getField(0)]
+ assign [$$50] <- [$$I.getField(0)] project: [$$49, $$50]
-- ASSIGN |LOCAL|
- unnest $$I <- scan-collection($$48)
+ unnest $$I <- scan-collection($$48) project: [$$49, $$I]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$49, $$48])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$49, $$48] <- [$$D1.getField("other_items"), $$D1.getField(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$49, $$48] <- [$$D1.getField("other_items"), $$D1.getField(1)]
-- ASSIGN |PARTITIONED|
- project ([$$D1]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$D1])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$47, $$D1] <- TestDataverse.Dataset1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$47, $$D1] <- TestDataverse.Dataset1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query1.plan
index f7afed9..d7aeb01 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query1.plan
@@ -1,31 +1,33 @@
-distribute result [$$20] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$20]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$20] <- [{"business_id": $$23}] project: [$$20] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$20] <- [{"business_id": $$23}] project: [$$20]
-- ASSIGN |PARTITIONED|
- select ($$17) project: [$$23] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$17) project: [$$23]
-- STREAM_SELECT |PARTITIONED|
- project ([$$23, $$17]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$23, $$17])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$17] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (eq("2016-04-26 19:49:16", $#1))
-- STREAM_SELECT |LOCAL|
- unnest $#1 <- scan-collection($$22)
+ unnest $#1 <- scan-collection($$22) project: [$#1]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$22])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$23, $$22] <- [$$C.getField(1), $$C.getField(2)] project: [$$23, $$22] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$23, $$22] <- [$$C.getField(1), $$C.getField(2)] project: [$$23, $$22]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$21, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$21, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query2.plan
index a169f12..95bc1ec 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query2.plan
@@ -1,37 +1,39 @@
-distribute result [$$50] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$50]
-- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- assign [$$50] <- [{"$1": $$52}] project: [$$50] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$50] <- [{"$1": $$52}] project: [$$50]
-- ASSIGN |UNPARTITIONED|
- aggregate [$$52] <- [agg-sql-sum($$54)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$52] <- [agg-sql-sum($$54)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$54] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$54] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
- select ($$43) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$43)
-- STREAM_SELECT |PARTITIONED|
- project ([$$43]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$43])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$43] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (and(gt($$D, "2016"), lt($$D, "2017")))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$53)
+ unnest $$D <- scan-collection($$53) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$53])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$53] <- [$$C.getField(2)] project: [$$53] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$53] <- [$$C.getField(2)] project: [$$53]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$51, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$51, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query4.plan
index ebc5e72..a002e0c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-1/query4.plan
@@ -1,35 +1,37 @@
-distribute result [$$52] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$52]
-- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- assign [$$52] <- [{"$1": $$54}] project: [$$52] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$52] <- [{"$1": $$54}] project: [$$52]
-- ASSIGN |UNPARTITIONED|
- aggregate [$$54] <- [agg-sql-sum($$56)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$54] <- [agg-sql-sum($$56)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$56] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$56] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
- select (and($$43, eq($$44, 0))) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and($$43, eq($$44, 0)))
-- STREAM_SELECT |PARTITIONED|
- project ([$$43, $$44]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$43, $$44])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$43, $$44] <- [non-empty-stream(), agg-sql-count(switch-case(and(gt($$D, "2016"), lt($$D, "2017")), true, null, true))]
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$55)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$55])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$55] <- [$$C.getField(2)] project: [$$55] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$55] <- [$$C.getField(2)] project: [$$55]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$53, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$53, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query1.plan
index 6525e37..ea8a651 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query1.plan
@@ -1,31 +1,33 @@
-distribute result [$$21] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$21]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$21] <- [{"business_id": $$24}] project: [$$21] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$21] <- [{"business_id": $$24}] project: [$$21]
-- ASSIGN |PARTITIONED|
- select ($$18) project: [$$24] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$18) project: [$$24]
-- STREAM_SELECT |PARTITIONED|
- project ([$$24, $$18]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$24, $$18])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$18] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (eq("2016-04-26", $#1))
-- STREAM_SELECT |LOCAL|
- unnest $#1 <- scan-collection($$23)
+ unnest $#1 <- scan-collection($$23) project: [$#1]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$23])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$23, $$24] <- [$$C.getField(2).getField(0), $$C.getField(1)] project: [$$24, $$23] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$23, $$24] <- [$$C.getField(2).getField(0), $$C.getField(1)] project: [$$24, $$23]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$22, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$22, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query2.plan
index b0c8711..ed1b8a2 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query2.plan
@@ -1,37 +1,39 @@
-distribute result [$$51] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$51]
-- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- assign [$$51] <- [{"$1": $$53}] project: [$$51] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$51] <- [{"$1": $$53}] project: [$$51]
-- ASSIGN |UNPARTITIONED|
- aggregate [$$53] <- [agg-sql-sum($$56)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$53] <- [agg-sql-sum($$56)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$56] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$56] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
- select ($$44) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$44)
-- STREAM_SELECT |PARTITIONED|
- project ([$$44]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$44])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$44] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (and(gt($$D, "2016"), lt($$D, "2017")))
-- STREAM_SELECT |LOCAL|
- unnest $$D <- scan-collection($$54)
+ unnest $$D <- scan-collection($$54) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$54])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$54] <- [$$C.getField(2).getField(0)] project: [$$54] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$54] <- [$$C.getField(2).getField(0)] project: [$$54]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$52, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$52, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query3.plan
index ab2e263..d366926 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-2/query3.plan
@@ -1,35 +1,37 @@
-distribute result [$$53] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$53]
-- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- assign [$$53] <- [{"$1": $$55}] project: [$$53] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$53] <- [{"$1": $$55}] project: [$$53]
-- ASSIGN |UNPARTITIONED|
- aggregate [$$55] <- [agg-sql-sum($$58)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$55] <- [agg-sql-sum($$58)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$58] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$58] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
- select (and($$44, eq($$45, 0))) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and($$44, eq($$45, 0)))
-- STREAM_SELECT |PARTITIONED|
- project ([$$44, $$45]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$44, $$45])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$44, $$45] <- [non-empty-stream(), agg-sql-count(switch-case(and(gt($$D, "2016"), lt($$D, "2017")), true, null, true))]
-- AGGREGATE |LOCAL|
unnest $$D <- scan-collection($$56)
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$56])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$56] <- [$$C.getField(2).getField(0)] project: [$$56] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$56] <- [$$C.getField(2).getField(0)] project: [$$56]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$54, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$54, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query1.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query1.plan
index c804302..1336230 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query1.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query1.plan
@@ -1,33 +1,35 @@
-distribute result [$$30] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$30]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$30] <- [{"business_id": $$34}] project: [$$30] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$30] <- [{"business_id": $$34}] project: [$$30]
-- ASSIGN |PARTITIONED|
- select ($$27) project: [$$34] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$27) project: [$$34]
-- STREAM_SELECT |PARTITIONED|
- project ([$$34, $$27]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$34, $$27])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$27] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (eq("2016-04-26", $$33))
-- STREAM_SELECT |LOCAL|
- assign [$$33] <- [$$D.getField(0)]
+ assign [$$33] <- [$$D.getField(0)] project: [$$33]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$32)
+ unnest $$D <- scan-collection($$32) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$32])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$34, $$32] <- [$$C.getField(1), $$C.getField(2)] project: [$$34, $$32] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$34, $$32] <- [$$C.getField(1), $$C.getField(2)] project: [$$34, $$32]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$31, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$31, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query2.plan
index 576d034..d9c28df 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query2.plan
@@ -1,33 +1,35 @@
-distribute result [$$33] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$33]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$33] <- [{"business_id": $$38}] project: [$$33] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$33] <- [{"business_id": $$38}] project: [$$33]
-- ASSIGN |PARTITIONED|
- select ($$30) project: [$$38] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select ($$30) project: [$$38]
-- STREAM_SELECT |PARTITIONED|
- project ([$$38, $$30]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$38, $$30])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$30] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (and(eq($$37, "2016-04-26"), eq($$36, "19:49:16")))
-- STREAM_SELECT |LOCAL|
- assign [$$37, $$36] <- [$$D.getField(0), $$D.getField(1)]
+ assign [$$37, $$36] <- [$$D.getField(0), $$D.getField(1)] project: [$$37, $$36]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$35)
+ unnest $$D <- scan-collection($$35) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$35])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$38, $$35] <- [$$C.getField(1), $$C.getField(2)] project: [$$38, $$35] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$38, $$35] <- [$$C.getField(1), $$C.getField(2)] project: [$$38, $$35]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$34, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$34, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query3.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query3.plan
index 61d3a04..8d07192 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query3.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/array-index/select-quantified-queries/use-case-3/query3.plan
@@ -1,31 +1,33 @@
-distribute result [$$35] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$35]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$35] <- [{"business_id": $$40}] project: [$$35] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$35] <- [{"business_id": $$40}] project: [$$35]
-- ASSIGN |PARTITIONED|
- select (and($$30, eq($$31, 0))) project: [$$40] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and($$30, eq($$31, 0))) project: [$$40]
-- STREAM_SELECT |PARTITIONED|
- project ([$$40, $$30, $$31]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$40, $$30, $$31])
-- STREAM_PROJECT |PARTITIONED|
subplan {
aggregate [$$30, $$31] <- [non-empty-stream(), agg-sql-count(switch-case(and(ge($$38, "2016"), le($$38, "2017")), true, null, true))]
-- AGGREGATE |LOCAL|
assign [$$38] <- [$$D.getField(0)]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$37)
+ unnest $$D <- scan-collection($$37) project: [$$D]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$37])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- SUBPLAN |PARTITIONED|
- assign [$$40, $$37] <- [$$C.getField(1), $$C.getField(2)] project: [$$40, $$37] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$40, $$37] <- [$$C.getField(1), $$C.getField(2)] project: [$$40, $$37]
-- ASSIGN |PARTITIONED|
- project ([$$C]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$C])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$36, $$C] <- TestYelp.YelpCheckin [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$36, $$C] <- TestYelp.YelpCheckin
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-01.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-01.plan
index cf06553..9fc45a0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-01.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-01.plan
@@ -26,50 +26,52 @@
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
join (eq($$142, $$136))
-- HYBRID_HASH_JOIN [$$142][$$136] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$142] |PARTITIONED|
- assign [$$95] <- [{"c3": $$142}] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$95] <- [{"c3": $$142}]
-- ASSIGN |PARTITIONED|
select ($$89) project: [$$142]
-- STREAM_SELECT |PARTITIONED|
- project ([$$89, $$142]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$89, $$142])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$149 := $$130]) decor ([$$142]) {
aggregate [$$89] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (not(is-missing($$148)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$148])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$130) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$130)
-- STABLE_SORT [$$130(ASC)] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$130] |PARTITIONED|
- project ([$$142, $$148, $$130]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$142, $$148, $$130])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$139, $$85)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$139, $$85))
-- HYBRID_HASH_JOIN [$$139][$$85] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$139] |PARTITIONED|
- select (eq($$d.getField("c5"), 1)) project: [$$142, $$130, $$139] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$d.getField("c5"), 1)) project: [$$142, $$130, $$139]
-- STREAM_SELECT |PARTITIONED|
- assign [$$142, $$139] <- [$$d.getField("c3"), $$d.getField("c1")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$142, $$139] <- [$$d.getField("c3"), $$d.getField("c1")]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -87,76 +89,78 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$131, $$c] <- test.c [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$131, $$c] <- test.c
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$136] |PARTITIONED|
- assign [$$137, $$136] <- [$$t2.getField("c4"), $$t2.getField("c2")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$137, $$136] <- [$$t2.getField("c4"), $$t2.getField("c2")]
-- ASSIGN |PARTITIONED|
- assign [$$132, $$t2] <- [$$130, $$d] project: [$$132, $$t2] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$132, $$t2] <- [$$130, $$d] project: [$$132, $$t2]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$144] |PARTITIONED|
- assign [$$119] <- [{"c4": $$144}] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$119] <- [{"c4": $$144}]
-- ASSIGN |PARTITIONED|
select ($$108) project: [$$144]
-- STREAM_SELECT |PARTITIONED|
- project ([$$108, $$144]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$108, $$144])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$151 := $$133]) decor ([$$144]) {
aggregate [$$108] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (not(is-missing($$150)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$150])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$133] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$133) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$133)
-- STABLE_SORT [$$133(ASC)] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$133] |PARTITIONED|
- project ([$$144, $$150, $$133]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$144, $$150, $$133])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$140, $$104)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$140, $$104))
-- HYBRID_HASH_JOIN [$$140][$$104] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$140] |PARTITIONED|
- select (and(eq($$d.getField("c5"), 1), ge($$129, "2019-01-01"), le($$129, "2019-02-01"))) project: [$$144, $$133, $$140] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and(eq($$d.getField("c5"), 1), ge($$129, "2019-01-01"), le($$129, "2019-02-01"))) project: [$$144, $$133, $$140]
-- STREAM_SELECT |PARTITIONED|
- assign [$$144, $$129, $$140] <- [$$d.getField("c4"), $$d.getField("c6"), $$d.getField("c1")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$144, $$129, $$140] <- [$$d.getField("c4"), $$d.getField("c6"), $$d.getField("c1")]
-- ASSIGN |PARTITIONED|
- assign [$$133, $$d] <- [$$130, $$d] project: [$$133, $$d] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$133, $$d] <- [$$130, $$d] project: [$$133, $$d]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -178,7 +182,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$131, $$c] <- test.c [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$131, $$c] <- test.c
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-02.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-02.plan
index cf06553..9fc45a0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-02.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-02.plan
@@ -26,50 +26,52 @@
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
join (eq($$142, $$136))
-- HYBRID_HASH_JOIN [$$142][$$136] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$142] |PARTITIONED|
- assign [$$95] <- [{"c3": $$142}] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$95] <- [{"c3": $$142}]
-- ASSIGN |PARTITIONED|
select ($$89) project: [$$142]
-- STREAM_SELECT |PARTITIONED|
- project ([$$89, $$142]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$89, $$142])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$149 := $$130]) decor ([$$142]) {
aggregate [$$89] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (not(is-missing($$148)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$148])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$130) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$130)
-- STABLE_SORT [$$130(ASC)] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$130] |PARTITIONED|
- project ([$$142, $$148, $$130]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$142, $$148, $$130])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$139, $$85)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$139, $$85))
-- HYBRID_HASH_JOIN [$$139][$$85] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$139] |PARTITIONED|
- select (eq($$d.getField("c5"), 1)) project: [$$142, $$130, $$139] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$d.getField("c5"), 1)) project: [$$142, $$130, $$139]
-- STREAM_SELECT |PARTITIONED|
- assign [$$142, $$139] <- [$$d.getField("c3"), $$d.getField("c1")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$142, $$139] <- [$$d.getField("c3"), $$d.getField("c1")]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -87,76 +89,78 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$131, $$c] <- test.c [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$131, $$c] <- test.c
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$136] |PARTITIONED|
- assign [$$137, $$136] <- [$$t2.getField("c4"), $$t2.getField("c2")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$137, $$136] <- [$$t2.getField("c4"), $$t2.getField("c2")]
-- ASSIGN |PARTITIONED|
- assign [$$132, $$t2] <- [$$130, $$d] project: [$$132, $$t2] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$132, $$t2] <- [$$130, $$d] project: [$$132, $$t2]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$144] |PARTITIONED|
- assign [$$119] <- [{"c4": $$144}] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$119] <- [{"c4": $$144}]
-- ASSIGN |PARTITIONED|
select ($$108) project: [$$144]
-- STREAM_SELECT |PARTITIONED|
- project ([$$108, $$144]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$108, $$144])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$151 := $$133]) decor ([$$144]) {
aggregate [$$108] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (not(is-missing($$150)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$150])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$133] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$133) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$133)
-- STABLE_SORT [$$133(ASC)] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$133] |PARTITIONED|
- project ([$$144, $$150, $$133]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$144, $$150, $$133])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$140, $$104)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$140, $$104))
-- HYBRID_HASH_JOIN [$$140][$$104] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$140] |PARTITIONED|
- select (and(eq($$d.getField("c5"), 1), ge($$129, "2019-01-01"), le($$129, "2019-02-01"))) project: [$$144, $$133, $$140] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and(eq($$d.getField("c5"), 1), ge($$129, "2019-01-01"), le($$129, "2019-02-01"))) project: [$$144, $$133, $$140]
-- STREAM_SELECT |PARTITIONED|
- assign [$$144, $$129, $$140] <- [$$d.getField("c4"), $$d.getField("c6"), $$d.getField("c1")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$144, $$129, $$140] <- [$$d.getField("c4"), $$d.getField("c6"), $$d.getField("c1")]
-- ASSIGN |PARTITIONED|
- assign [$$133, $$d] <- [$$130, $$d] project: [$$133, $$d] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$133, $$d] <- [$$130, $$d] project: [$$133, $$d]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -178,7 +182,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$131, $$c] <- test.c [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$131, $$c] <- test.c
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-03.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-03.plan
index cf06553..9fc45a0 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-03.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/btree-index-selection/intersection-misc/intersection-misc-03.plan
@@ -26,50 +26,52 @@
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
join (eq($$142, $$136))
-- HYBRID_HASH_JOIN [$$142][$$136] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$142] |PARTITIONED|
- assign [$$95] <- [{"c3": $$142}] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$95] <- [{"c3": $$142}]
-- ASSIGN |PARTITIONED|
select ($$89) project: [$$142]
-- STREAM_SELECT |PARTITIONED|
- project ([$$89, $$142]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$89, $$142])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$149 := $$130]) decor ([$$142]) {
aggregate [$$89] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (not(is-missing($$148)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$148])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$130] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$130) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$130)
-- STABLE_SORT [$$130(ASC)] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$130] |PARTITIONED|
- project ([$$142, $$148, $$130]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$142, $$148, $$130])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$139, $$85)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$139, $$85))
-- HYBRID_HASH_JOIN [$$139][$$85] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$139] |PARTITIONED|
- select (eq($$d.getField("c5"), 1)) project: [$$142, $$130, $$139] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$d.getField("c5"), 1)) project: [$$142, $$130, $$139]
-- STREAM_SELECT |PARTITIONED|
- assign [$$142, $$139] <- [$$d.getField("c3"), $$d.getField("c1")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$142, $$139] <- [$$d.getField("c3"), $$d.getField("c1")]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -87,76 +89,78 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$131, $$c] <- test.c [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$131, $$c] <- test.c
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$136] |PARTITIONED|
- assign [$$137, $$136] <- [$$t2.getField("c4"), $$t2.getField("c2")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$137, $$136] <- [$$t2.getField("c4"), $$t2.getField("c2")]
-- ASSIGN |PARTITIONED|
- assign [$$132, $$t2] <- [$$130, $$d] project: [$$132, $$t2] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$132, $$t2] <- [$$130, $$d] project: [$$132, $$t2]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$144] |PARTITIONED|
- assign [$$119] <- [{"c4": $$144}] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$119] <- [{"c4": $$144}]
-- ASSIGN |PARTITIONED|
select ($$108) project: [$$144]
-- STREAM_SELECT |PARTITIONED|
- project ([$$108, $$144]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$108, $$144])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$151 := $$133]) decor ([$$144]) {
aggregate [$$108] <- [non-empty-stream()]
-- AGGREGATE |LOCAL|
select (not(is-missing($$150)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$150])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$133] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$133) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$133)
-- STABLE_SORT [$$133(ASC)] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$133] |PARTITIONED|
- project ([$$144, $$150, $$133]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$144, $$150, $$133])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$140, $$104)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$140, $$104))
-- HYBRID_HASH_JOIN [$$140][$$104] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$140] |PARTITIONED|
- select (and(eq($$d.getField("c5"), 1), ge($$129, "2019-01-01"), le($$129, "2019-02-01"))) project: [$$144, $$133, $$140] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and(eq($$d.getField("c5"), 1), ge($$129, "2019-01-01"), le($$129, "2019-02-01"))) project: [$$144, $$133, $$140]
-- STREAM_SELECT |PARTITIONED|
- assign [$$144, $$129, $$140] <- [$$d.getField("c4"), $$d.getField("c6"), $$d.getField("c1")] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$144, $$129, $$140] <- [$$d.getField("c4"), $$d.getField("c6"), $$d.getField("c1")]
-- ASSIGN |PARTITIONED|
- assign [$$133, $$d] <- [$$130, $$d] project: [$$133, $$d] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$133, $$d] <- [$$130, $$d] project: [$$133, $$d]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$130, $$d] <- test.d [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$130, $$d] <- test.d
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -178,7 +182,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$131, $$c] <- test.c [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$131, $$c] <- test.c
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ch2/ch2_q16.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ch2/ch2_q16.plan
index 3d9f362..65df91a 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ch2/ch2_q16.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/ch2/ch2_q16.plan
@@ -1,14 +1,14 @@
-distribute result [$$128] [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+distribute result [$$128]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$128] <- [{"i_name": $$i_name, "brand": $#1, "i_price": $$i_price, "supplier_cnt": $$139}] project: [$$128] [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ assign [$$128] <- [{"i_name": $$i_name, "brand": $#1, "i_price": $$i_price, "supplier_cnt": $$139}] project: [$$128]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- SORT_MERGE_EXCHANGE [$$139(DESC) ] |PARTITIONED|
- order (DESC, $$139) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ order (DESC, $$139)
-- STABLE_SORT [$$139(DESC)] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$i_name := $$129; $#1 := $$130; $$i_price := $$131]) decor ([]) {
aggregate [$$139] <- [agg-sql-count($$150)]
@@ -17,62 +17,66 @@
-- MICRO_PRE_SORTED_DISTINCT_BY |LOCAL|
order (ASC, $$150)
-- MICRO_STABLE_SORT [$$150(ASC)] |LOCAL|
- assign [$$150] <- [numeric-mod(numeric-multiply($$143, $$144), 10000)]
+ assign [$$150] <- [numeric-mod(numeric-multiply($$143, $$144), 10000)] project: [$$150]
-- ASSIGN |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 2.000015E12]
+ project ([$$143, $$144])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$129, $$130, $$131] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$129) (ASC, $$130) (ASC, $$131) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ order (ASC, $$129) (ASC, $$130) (ASC, $$131)
-- STABLE_SORT [$$129(ASC), $$130(ASC), $$131(ASC)] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$129, $$130, $$131] |PARTITIONED|
- assign [$$130] <- [substring1($$132, 1, 3)] project: [$$143, $$144, $$129, $$130, $$131] [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ assign [$$130] <- [substring1($$132, 1, 3)] project: [$$143, $$144, $$129, $$130, $$131]
-- ASSIGN |PARTITIONED|
select ($$111) project: [$$129, $$131, $$132, $$144, $$143]
-- STREAM_SELECT |PARTITIONED|
- project ([$$111, $$129, $$131, $$132, $$144, $$143]) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ project ([$$111, $$129, $$131, $$132, $$144, $$143])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$146 := $$133; $$147 := $$134]) decor ([$$129; $$131; $$132; $$144 := $$138; $$143 := $$141]) {
aggregate [$$111] <- [empty-stream()]
-- AGGREGATE |LOCAL|
select (not(is-missing($$145)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 2.000015E12]
+ project ([$$145])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$133, $$134] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$133) (ASC, $$134) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ order (ASC, $$133) (ASC, $$134)
-- STABLE_SORT [$$133(ASC), $$134(ASC)] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$133, $$134] |PARTITIONED|
- project ([$$129, $$131, $$132, $$145, $$133, $$134, $$138, $$141]) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ project ([$$129, $$131, $$132, $$145, $$133, $$134, $$138, $$141])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 2.000015E12]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$137, $$138)) [cardinality: 9.223372036854776E16, op-cost: 1.000004E12, total-cost: 2.000015E12]
+ join (eq($$137, $$138))
-- HYBRID_HASH_JOIN [$$138][$$137] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$145, $$133, $$138, $$141]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$145, $$133, $$138, $$141])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (not(if-missing-or-null(neq(numeric-mod(numeric-multiply($$141, $$138), 10000), $$105), false))) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ left outer join (not(if-missing-or-null(neq(numeric-mod(numeric-multiply($$141, $$138), 10000), $$105), false)))
-- NESTED_LOOP |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$138, $$141] <- [$$s.getField("s_i_id"), $$s.getField("s_w_id")] project: [$$133, $$138, $$141] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$138, $$141] <- [$$s.getField("s_i_id"), $$s.getField("s_w_id")] project: [$$133, $$138, $$141]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$133, $$s] <- test.stock [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$133, $$s] <- test.stock
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -82,7 +86,7 @@
-- BROADCAST_EXCHANGE |PARTITIONED|
assign [$$145] <- [true]
-- ASSIGN |PARTITIONED|
- select (like($$su.getField("su_comment"), "%Customer%Complaints%")) project: [$$105] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (like($$su.getField("su_comment"), "%Customer%Complaints%")) project: [$$105]
-- STREAM_SELECT |PARTITIONED|
assign [$$105] <- [$$su.getField("su_suppkey")]
-- ASSIGN |PARTITIONED|
@@ -90,21 +94,21 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$135, $$su] <- test.supplier [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$135, $$su] <- test.supplier
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- select (not(like($$132, "zz%"))) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (not(like($$132, "zz%")))
-- STREAM_SELECT |PARTITIONED|
- assign [$$131, $$129, $$132, $$137] <- [$$i.getField("i_price"), $$i.getField("i_name"), $$i.getField("i_data"), $$i.getField("i_id")] project: [$$134, $$131, $$129, $$132, $$137] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$131, $$129, $$132, $$137] <- [$$i.getField("i_price"), $$i.getField("i_name"), $$i.getField("i_data"), $$i.getField("i_id")] project: [$$134, $$131, $$129, $$132, $$137]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$134, $$i] <- test.item [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$134, $$i] <- test.item
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/joins/inner_right_corr.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/joins/inner_right_corr.plan
index 3b990cd..2057829 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/joins/inner_right_corr.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/joins/inner_right_corr.plan
@@ -15,8 +15,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$93)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$93])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$76] |PARTITIONED|
exchange
@@ -58,15 +60,17 @@
-- STREAM_SELECT |LOCAL|
assign [$$88] <- [$$85.getField("b")]
-- ASSIGN |LOCAL|
- unnest $$85 <- scan-collection($$90)
+ unnest $$85 <- scan-collection($$90) project: [$$87, $$85]
-- UNNEST |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$90, $$87])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- SUBPLAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -74,7 +78,7 @@
-- ASSIGN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$92, $$91] <- test.t1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$92, $$91] <- test.t1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -88,7 +92,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$84, $$81] <- test.t2 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$84, $$81] <- test.t2
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/nested_loj2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/nested_loj2.plan
index cb92f5a..0a4e088 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/nested_loj2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/nested_loj2.plan
@@ -1,12 +1,12 @@
-distribute result [$$70] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+distribute result [$$70]
-- DISTRIBUTE_RESULT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- assign [$$70] <- [{"cust": $$c, "orders": $$68}] project: [$$70] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$70] <- [{"cust": $$c, "orders": $$68}] project: [$$70]
-- ASSIGN |PARTITIONED|
- project ([$$68, $$c]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$68, $$c])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$82 := $$71]) decor ([$$c]) {
aggregate [$$68] <- [listify({"order": $$o, "items": $$62})]
@@ -16,35 +16,37 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$79)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$79])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- MICRO_PRE_CLUSTERED_GROUP_BY[$$72] |LOCAL|
select (not(is-missing($$81)))
-- STREAM_SELECT |LOCAL|
nested tuple source
-- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ }
-- PRE_CLUSTERED_GROUP_BY[$$71] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$71) (ASC, $$72) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$71) (ASC, $$72)
-- STABLE_SORT [$$71(ASC), $$72(ASC)] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$c, $$o, $$l, $$79, $$72, $$71, $$75, $$81]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$c, $$o, $$l, $$79, $$72, $$71, $$75, $$81])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$73, $$72)) [cardinality: 9.223372036854776E16, op-cost: 5.00004E11, total-cost: 5.00015E11]
+ left outer join (eq($$73, $$72))
-- HYBRID_HASH_JOIN [$$72][$$73] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$75, $$71)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$75, $$71))
-- HYBRID_HASH_JOIN [$$71][$$75] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$71] |PARTITIONED|
- data-scan []<-[$$71, $$c] <- tpch.Customers [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$71, $$c] <- tpch.Customers
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -56,7 +58,7 @@
-- ASSIGN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$72, $$o] <- tpch.Orders [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$72, $$o] <- tpch.Orders
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -70,7 +72,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$73, $$74, $$l] <- tpch.LineItems [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$73, $$74, $$l] <- tpch.LineItems
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/query_issue3316.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/query_issue3316.plan
index 6b739e2..317fb34 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/query_issue3316.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/query_issue3316.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$317)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$190, $$317])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$227] |PARTITIONED|
exchange
@@ -40,8 +42,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$226)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$155, $$226])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$193] |PARTITIONED|
exchange
@@ -91,8 +95,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$239)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$239])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$225, $$194] |PARTITIONED|
exchange
@@ -113,7 +119,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$207, $$223)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$207, $$223))
-- HYBRID_HASH_JOIN [$$223][$$207] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -145,7 +151,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$207] |PARTITIONED|
- select (eq($$H.getField("to_u"), "aaaaa")) project: [$$213, $$126, $$194, $$207] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$H.getField("to_u"), "aaaaa")) project: [$$213, $$126, $$194, $$207]
-- STREAM_SELECT |PARTITIONED|
assign [$$213, $$126, $$207] <- [$$H.getField("u"), $$H.getField("a"), $$H.getField("y_id")]
-- ASSIGN |PARTITIONED|
@@ -157,7 +163,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -180,8 +186,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$253)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$145, $$253])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$238, $$235] |PARTITIONED|
exchange
@@ -210,7 +218,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$427, $$428)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$427, $$428))
-- HYBRID_HASH_JOIN [$$428][$$427] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -242,7 +250,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$427] |PARTITIONED|
- select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -260,7 +268,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -282,7 +290,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$210, $$243)) [cardinality: 9.223372036854776E16, op-cost: 5.00004E11, total-cost: 5.00015E11]
+ join (eq($$210, $$243))
-- HYBRID_HASH_JOIN [$$243][$$210] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -298,7 +306,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$448, $$445)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$448, $$445))
-- HYBRID_HASH_JOIN [$$445][$$448] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -330,7 +338,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$448] |PARTITIONED|
- select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -348,7 +356,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -356,7 +364,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- select (eq($$L.getField("to_u"), "aaaaa")) project: [$$145, $$135, $$210] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$L.getField("to_u"), "aaaaa")) project: [$$145, $$135, $$210]
-- STREAM_SELECT |PARTITIONED|
assign [$$135, $$210, $$145] <- [$$L.getField("a"), $$L.getField("y_id"), $$L.getField("b")]
-- ASSIGN |PARTITIONED|
@@ -376,7 +384,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -425,8 +433,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$387)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$387])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$256, $$196] |PARTITIONED|
exchange
@@ -456,8 +466,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$262)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$262])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$257] |PARTITIONED|
exchange
@@ -519,8 +531,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$280)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$280])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$268, $$270] |PARTITIONED|
exchange
@@ -549,7 +563,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$418, $$417)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$418, $$417))
-- HYBRID_HASH_JOIN [$$417][$$418] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -577,7 +591,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$418] |PARTITIONED|
- select (eq($$413.getField("to_u"), "aaaaa")) project: [$$407, $$411, $$418] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$413.getField("to_u"), "aaaaa")) project: [$$407, $$411, $$418]
-- STREAM_SELECT |PARTITIONED|
assign [$$418, $$407] <- [$$413.getField("y_id"), $$413.getField("a")]
-- ASSIGN |PARTITIONED|
@@ -587,7 +601,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -610,8 +624,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$296)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$297, $$296])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$284, $$285] |PARTITIONED|
exchange
@@ -640,7 +656,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$427, $$428)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$427, $$428))
-- HYBRID_HASH_JOIN [$$428][$$427] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -672,7 +688,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$427] |PARTITIONED|
- select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -690,7 +706,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -712,7 +728,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$303, $$304)) [cardinality: 9.223372036854776E16, op-cost: 5.00004E11, total-cost: 5.00015E11]
+ join (eq($$303, $$304))
-- HYBRID_HASH_JOIN [$$304][$$303] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -728,7 +744,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$448, $$445)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$448, $$445))
-- HYBRID_HASH_JOIN [$$445][$$448] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -760,7 +776,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$448] |PARTITIONED|
- select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -778,7 +794,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -794,7 +810,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- select (eq($$441.getField("to_u"), "aaaaa")) project: [$$438, $$443, $$444] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$441.getField("to_u"), "aaaaa")) project: [$$438, $$443, $$444]
-- STREAM_SELECT |PARTITIONED|
assign [$$444, $$443, $$438] <- [$$441.getField("y_id"), $$441.getField("a"), $$441.getField("b")]
-- ASSIGN |PARTITIONED|
@@ -812,7 +828,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -842,7 +858,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -865,8 +881,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$458)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$180, $$458])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$327, $$326] |PARTITIONED|
exchange
@@ -896,8 +914,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$332)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$332])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$328] |PARTITIONED|
exchange
@@ -959,8 +979,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$350)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$350])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$338, $$340] |PARTITIONED|
exchange
@@ -989,7 +1011,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$418, $$417)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$418, $$417))
-- HYBRID_HASH_JOIN [$$417][$$418] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1017,7 +1039,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$418] |PARTITIONED|
- select (eq($$413.getField("to_u"), "aaaaa")) project: [$$407, $$411, $$418] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$413.getField("to_u"), "aaaaa")) project: [$$407, $$411, $$418]
-- STREAM_SELECT |PARTITIONED|
assign [$$418, $$407] <- [$$413.getField("y_id"), $$413.getField("a")]
-- ASSIGN |PARTITIONED|
@@ -1027,7 +1049,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1050,8 +1072,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$366)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$367, $$366])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$354, $$355] |PARTITIONED|
exchange
@@ -1080,7 +1104,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$427, $$428)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$427, $$428))
-- HYBRID_HASH_JOIN [$$428][$$427] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1112,7 +1136,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$427] |PARTITIONED|
- select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1130,7 +1154,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1152,7 +1176,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$373, $$374)) [cardinality: 9.223372036854776E16, op-cost: 5.00004E11, total-cost: 5.00015E11]
+ join (eq($$373, $$374))
-- HYBRID_HASH_JOIN [$$374][$$373] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1168,7 +1192,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$448, $$445)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$448, $$445))
-- HYBRID_HASH_JOIN [$$445][$$448] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1200,7 +1224,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$448] |PARTITIONED|
- select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1218,7 +1242,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1234,7 +1258,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- select (eq($$441.getField("to_u"), "aaaaa")) project: [$$438, $$443, $$444] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$441.getField("to_u"), "aaaaa")) project: [$$438, $$443, $$444]
-- STREAM_SELECT |PARTITIONED|
assign [$$444, $$443, $$438] <- [$$441.getField("y_id"), $$441.getField("a"), $$441.getField("b")]
-- ASSIGN |PARTITIONED|
@@ -1252,7 +1276,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1290,7 +1314,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1329,8 +1353,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$403)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$403])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$399] |PARTITIONED|
exchange
@@ -1388,8 +1414,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$421)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$421])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$409, $$411] |PARTITIONED|
exchange
@@ -1414,7 +1442,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$418, $$417)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$418, $$417))
-- HYBRID_HASH_JOIN [$$417][$$418] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1442,7 +1470,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$418] |PARTITIONED|
- select (eq($$413.getField("to_u"), "aaaaa")) project: [$$407, $$411, $$418] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$413.getField("to_u"), "aaaaa")) project: [$$407, $$411, $$418]
-- STREAM_SELECT |PARTITIONED|
assign [$$418, $$407] <- [$$413.getField("y_id"), $$413.getField("a")]
-- ASSIGN |PARTITIONED|
@@ -1452,7 +1480,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1475,8 +1503,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$437)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$438, $$437])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$425, $$426] |PARTITIONED|
exchange
@@ -1501,7 +1531,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$427, $$428)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$427, $$428))
-- HYBRID_HASH_JOIN [$$428][$$427] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1533,7 +1563,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$427] |PARTITIONED|
- select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$430.getField("to_u"), "aaaaa")) project: [$$422, $$426, $$427]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1551,7 +1581,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1573,7 +1603,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$444, $$445)) [cardinality: 9.223372036854776E16, op-cost: 5.00004E11, total-cost: 5.00015E11]
+ join (eq($$444, $$445))
-- HYBRID_HASH_JOIN [$$445][$$444] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1585,7 +1615,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$448, $$445)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$448, $$445))
-- HYBRID_HASH_JOIN [$$445][$$448] |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1617,7 +1647,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$448] |PARTITIONED|
- select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$450.getField("to_u"), "aaaaa")) project: [$$436, $$448]
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1635,7 +1665,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1647,7 +1677,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- select (eq($$441.getField("to_u"), "aaaaa")) project: [$$438, $$443, $$444] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (eq($$441.getField("to_u"), "aaaaa")) project: [$$438, $$443, $$444]
-- STREAM_SELECT |PARTITIONED|
assign [$$444, $$443, $$438] <- [$$441.getField("y_id"), $$441.getField("a"), $$441.getField("b")]
-- ASSIGN |PARTITIONED|
@@ -1665,7 +1695,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1703,7 +1733,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -1729,7 +1759,7 @@
-- REPLICATE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$411, $$413] <- test.collection1 [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$411, $$413] <- test.collection1
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2.plan
index 7869a45..fddb1fa 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2_ps.plan
index 22cc503..ca7311c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_2_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
@@ -82,8 +84,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4.plan
index a4e3699..aa852ea 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$24)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$24])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$21] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4_ps.plan
index 6c20d83..b97aa3e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_4_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$24)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$24])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$21] |PARTITIONED|
exchange
@@ -82,8 +84,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$24)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$24])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$21] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6.plan
index 7869a45..fddb1fa 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6.plan
@@ -11,8 +11,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6_ps.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6_ps.plan
index 22cc503..ca7311c 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6_ps.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/subquery/in_as_or_6_ps.plan
@@ -23,8 +23,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
@@ -82,8 +84,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$25)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$25])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$22] |PARTITIONED|
exchange
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1581.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1581.plan
index 41884c8..813b13b 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1581.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1581.plan
@@ -18,15 +18,15 @@
-- ASSIGN |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- BROADCAST_EXCHANGE |LOCAL|
- assign [$$149] <- [{"bucket1": $$147}] project: [$$149] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$149] <- [{"bucket1": $$147}] project: [$$149]
-- ASSIGN |LOCAL|
- unnest $$147 <- scan-collection($$146) project: [$$147] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ unnest $$147 <- scan-collection($$146) project: [$$147]
-- UNNEST |LOCAL|
- assign [$$146] <- [switch-case(true, lt(get-item($$200, 0), 25437), cast($$128), cast($$145))] project: [$$146] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$146] <- [switch-case(true, lt(get-item($$200, 0), 25437), cast($$128), cast($$145))] project: [$$146]
-- ASSIGN |LOCAL|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |LOCAL|
group by ([$$200 := $$173]) decor ([$$128]) {
aggregate [$$145] <- [listify($$144)]
@@ -35,19 +35,21 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$199)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$143, $$199])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$173] |LOCAL|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |LOCAL|
- project ([$$128, $$143, $$199, $$173]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$128, $$143, $$199, $$173])
-- STREAM_PROJECT |LOCAL|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |LOCAL|
left outer join (eq($$173, $$174))
-- HYBRID_HASH_JOIN [$$173][$$174] |LOCAL|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |LOCAL|
group by ([$$173 := $$109]) decor ([]) {
aggregate [$$128] <- [listify($$127)]
@@ -56,63 +58,65 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$172)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$126, $$172])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$109] |LOCAL|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |LOCAL|
- order (ASC, $$109) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ order (ASC, $$109)
-- STABLE_SORT [$$109(ASC)] |LOCAL|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- project ([$$126, $$172, $$109]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$126, $$172, $$109])
-- STREAM_PROJECT |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- left outer join (eq($$109, $$166)) [cardinality: 9.223372036854776E16, op-cost: 1.000001E12, total-cost: 3.000009E12]
+ left outer join (eq($$109, $$166))
-- HYBRID_HASH_JOIN [$$109][$$166] |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- assign [$$109] <- [$$175] project: [$$109] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$109] <- [$$175] project: [$$109]
-- ASSIGN |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- assign [$$175] <- [$$176] project: [$$175] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$175] <- [$$176] project: [$$175]
-- ASSIGN |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- aggregate [$$176] <- [listify($$183)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$176] <- [listify($$183)]
-- AGGREGATE |UNPARTITIONED|
- aggregate [$$183] <- [agg-sql-sum($$206)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$183] <- [agg-sql-sum($$206)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$206] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$206] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
select (and(ge($$185, 1), le($$185, 20)))
-- STREAM_SELECT |PARTITIONED|
- assign [$$185] <- [$$184.getField(10)] project: [$$185] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$185] <- [$$184.getField(10)] project: [$$185]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$184]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$184])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -120,7 +124,7 @@
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- join (true) [cardinality: 1.0E12, op-cost: 1.0E12, total-cost: 1.000006E12]
+ join (true)
-- NESTED_LOOP |UNPARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
@@ -134,37 +138,37 @@
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
assign [$$182] <- [true]
-- ASSIGN |UNPARTITIONED|
- select (lt(get-item($$176, 0), 25437)) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (lt(get-item($$176, 0), 25437))
-- STREAM_SELECT |UNPARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- aggregate [$$176] <- [listify($$183)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$176] <- [listify($$183)]
-- AGGREGATE |UNPARTITIONED|
- aggregate [$$183] <- [agg-sql-sum($$206)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$183] <- [agg-sql-sum($$206)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$206] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$206] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
select (and(ge($$185, 1), le($$185, 20)))
-- STREAM_SELECT |PARTITIONED|
- assign [$$185] <- [$$184.getField(10)] project: [$$185] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$185] <- [$$184.getField(10)] project: [$$185]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$184]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$184])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -180,7 +184,7 @@
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
aggregate [$$204] <- [agg-local-sql-avg($$124)]
-- AGGREGATE |PARTITIONED|
- select (and(ge($$151, 1), le($$151, 20))) project: [$$124] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and(ge($$151, 1), le($$151, 20))) project: [$$124]
-- STREAM_SELECT |PARTITIONED|
assign [$$124, $$151] <- [$$store_sales.getField(14), $$store_sales.getField(10)] project: [$$124, $$151]
-- ASSIGN |PARTITIONED|
@@ -188,15 +192,15 @@
-- ASSIGN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$184]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$184])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -223,8 +227,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$182)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$182])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
}
-- PRE_CLUSTERED_GROUP_BY[$$175] |LOCAL|
exchange
@@ -237,45 +243,45 @@
-- STREAM_PROJECT |UNPARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- left outer join (eq($$175, $$176)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ left outer join (eq($$175, $$176))
-- HYBRID_HASH_JOIN [$$175][$$176] |UNPARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- assign [$$175] <- [$$176] project: [$$175] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$175] <- [$$176] project: [$$175]
-- ASSIGN |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- aggregate [$$176] <- [listify($$183)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$176] <- [listify($$183)]
-- AGGREGATE |UNPARTITIONED|
- aggregate [$$183] <- [agg-sql-sum($$206)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$183] <- [agg-sql-sum($$206)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$206] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$206] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
select (and(ge($$185, 1), le($$185, 20)))
-- STREAM_SELECT |PARTITIONED|
- assign [$$185] <- [$$184.getField(10)] project: [$$185] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$185] <- [$$184.getField(10)] project: [$$185]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$184]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$184])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -289,37 +295,37 @@
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
assign [$$182] <- [true]
-- ASSIGN |UNPARTITIONED|
- select (lt(get-item($$176, 0), 25437)) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (lt(get-item($$176, 0), 25437))
-- STREAM_SELECT |UNPARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- aggregate [$$176] <- [listify($$183)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$176] <- [listify($$183)]
-- AGGREGATE |UNPARTITIONED|
- aggregate [$$183] <- [agg-sql-sum($$206)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$183] <- [agg-sql-sum($$206)]
-- AGGREGATE |UNPARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- RANDOM_MERGE_EXCHANGE |PARTITIONED|
- aggregate [$$206] <- [agg-sql-count(1)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ aggregate [$$206] <- [agg-sql-count(1)]
-- AGGREGATE |PARTITIONED|
select (and(ge($$185, 1), le($$185, 20)))
-- STREAM_SELECT |PARTITIONED|
- assign [$$185] <- [$$184.getField(10)] project: [$$185] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$185] <- [$$184.getField(10)] project: [$$185]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$184]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$184])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -343,15 +349,15 @@
-- ASSIGN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- replicate [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ replicate
-- REPLICATE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$184]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$184])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$186, $$187, $$184] <- tpcds.store_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1591.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1591.plan
index 2323d7c..8ff870e 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1591.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results_cbo/tpcds/query-ASTERIXDB-1591.plan
@@ -1,136 +1,142 @@
-distribute result [$$148] [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+distribute result [$$148]
-- DISTRIBUTE_RESULT |UNPARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
- limit 100 [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ limit 100
-- STREAM_LIMIT |UNPARTITIONED|
- assign [$$148] <- [{"c": $$c, "ca": $$ca}] project: [$$148] [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ assign [$$148] <- [{"c": $$c, "ca": $$ca}] project: [$$148]
-- ASSIGN |PARTITIONED|
- project ([$$c, $$ca]) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$c, $$ca])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- SORT_MERGE_EXCHANGE [$$192(ASC) ] |PARTITIONED|
- limit 100 [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ limit 100
-- STREAM_LIMIT |PARTITIONED|
select (or(neq($$163, 0), neq($$164, 0))) project: [$$192, $$c, $$ca]
-- STREAM_SELECT |PARTITIONED|
- project ([$$164, $$192, $$c, $$ca, $$163]) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$164, $$192, $$c, $$ca, $$163])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$192 := $$201; $$193 := $$202]) decor ([$$c; $$ca; $$163]) {
aggregate [$$164] <- [agg-sum($$200)]
-- AGGREGATE |LOCAL|
nested tuple source
-- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ }
-- SORT_GROUP_BY[$$201, $$202] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$201, $$202] |PARTITIONED|
group by ([$$201 := $$189; $$202 := $$190]) decor ([$$c; $$ca; $$163]) {
aggregate [$$200] <- [agg-count({"cs1": $$cs1, "dd1": $$dd1})]
-- AGGREGATE |LOCAL|
select (not(is-missing($$191)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$cs1, $$dd1, $$191])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$189, $$190] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$189) (ASC, $$190) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ order (ASC, $$189) (ASC, $$190)
-- STABLE_SORT [$$189(ASC), $$190(ASC)] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$c, $$ca, $$163, $$cs1, $$dd1, $$191, $$189, $$190]) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$c, $$ca, $$163, $$cs1, $$dd1, $$191, $$189, $$190])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
left outer join (eq($$189, $$171))
-- HYBRID_HASH_JOIN [$$189][$$171] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$189] |PARTITIONED|
group by ([$$189 := $$198; $$190 := $$199]) decor ([$$c; $$ca]) {
aggregate [$$163] <- [agg-sum($$197)]
-- AGGREGATE |LOCAL|
nested tuple source
-- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ }
-- SORT_GROUP_BY[$$198, $$199] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$198, $$199] |PARTITIONED|
group by ([$$198 := $$186; $$199 := $$187]) decor ([$$c; $$ca]) {
aggregate [$$197] <- [agg-count({"ws1": $$ws1, "dd1": $$dd1})]
-- AGGREGATE |LOCAL|
select (not(is-missing($$188)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$ws1, $$dd1, $$188])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$186, $$187] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$186) (ASC, $$187) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ order (ASC, $$186) (ASC, $$187)
-- STABLE_SORT [$$186(ASC), $$187(ASC)] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$c, $$ca, $$ws1, $$dd1, $$188, $$186, $$187]) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$c, $$ca, $$ws1, $$dd1, $$188, $$186, $$187])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
left outer join (eq($$186, $$169))
-- HYBRID_HASH_JOIN [$$186][$$169] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$186] |PARTITIONED|
select (neq($$165, 0)) project: [$$c, $$ca, $$186, $$187]
-- STREAM_SELECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
group by ([$$186 := $$195; $$187 := $$196]) decor ([$$c; $$ca]) {
aggregate [$$165] <- [agg-sum($$194)]
-- AGGREGATE |LOCAL|
nested tuple source
-- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ }
-- SORT_GROUP_BY[$$195, $$196] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$195, $$196] |PARTITIONED|
group by ([$$195 := $$150; $$196 := $$151]) decor ([$$c; $$ca]) {
aggregate [$$194] <- [agg-count({"ss1": $$ss1, "dd1": $$dd1})]
-- AGGREGATE |LOCAL|
select (not(is-missing($$185)))
-- STREAM_SELECT |LOCAL|
- nested tuple source
- -- NESTED_TUPLE_SOURCE |LOCAL|
- } [cardinality: 0.0, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$ss1, $$dd1, $$185])
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source
+ -- NESTED_TUPLE_SOURCE |LOCAL|
+ }
-- PRE_CLUSTERED_GROUP_BY[$$150, $$151] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- order (ASC, $$150) (ASC, $$151) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ order (ASC, $$150) (ASC, $$151)
-- STABLE_SORT [$$150(ASC), $$151(ASC)] |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$c, $$ca, $$ss1, $$dd1, $$185, $$150, $$151]) [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ project ([$$c, $$ca, $$ss1, $$dd1, $$185, $$150, $$151])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 9.223372036854776E16, op-cost: 0.0, total-cost: 9.223372036854776E16]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$161, $$151)) [cardinality: 9.223372036854776E16, op-cost: 9.223372036854776E16, total-cost: 9.223372036854776E16]
+ join (eq($$161, $$151))
-- HYBRID_HASH_JOIN [$$161][$$151] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- project ([$$c, $$ss1, $$dd1, $$185, $$150, $$161]) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ project ([$$c, $$ss1, $$dd1, $$185, $$150, $$161])
-- STREAM_PROJECT |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- left outer join (eq($$150, $$167)) [cardinality: 9.223372036854776E16, op-cost: 5.00001E11, total-cost: 1.000009E12]
+ left outer join (eq($$150, $$167))
-- HYBRID_HASH_JOIN [$$150][$$167] |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- HASH_PARTITION_EXCHANGE [$$150] |PARTITIONED|
- assign [$$161] <- [$$c.getField(4)] [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ assign [$$161] <- [$$c.getField(4)]
-- ASSIGN |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$150, $$c] <- tpcds.customer [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$150, $$c] <- tpcds.customer
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -144,7 +150,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$172, $$154)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$172, $$154))
-- HYBRID_HASH_JOIN [$$172][$$154] |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$172] |PARTITIONED|
@@ -154,7 +160,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$152, $$153, $$ss1] <- tpcds.store_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$152, $$153, $$ss1] <- tpcds.store_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -166,19 +172,19 @@
-- REPLICATE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$154] |PARTITIONED|
- select (and(lt($$dd1.getField(10), 4), eq($$dd1.getField(6), 1900))) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and(lt($$dd1.getField(10), 4), eq($$dd1.getField(6), 1900)))
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$154, $$dd1] <- tpcds.date_dim [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$154, $$dd1] <- tpcds.date_dim
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
- exchange [cardinality: 1000000.0, op-cost: 4000000.0, total-cost: 5000000.0]
+ exchange
-- BROADCAST_EXCHANGE |PARTITIONED|
- data-scan []<-[$$151, $$ca] <- tpcds.customer_address [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$151, $$ca] <- tpcds.customer_address
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -192,7 +198,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$174, $$157)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$174, $$157))
-- HYBRID_HASH_JOIN [$$174][$$157] |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$174] |PARTITIONED|
@@ -202,7 +208,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$155, $$156, $$ws1] <- tpcds.web_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$155, $$156, $$ws1] <- tpcds.web_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -218,11 +224,11 @@
-- REPLICATE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$154] |PARTITIONED|
- select (and(lt($$dd1.getField(10), 4), eq($$dd1.getField(6), 1900))) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and(lt($$dd1.getField(10), 4), eq($$dd1.getField(6), 1900)))
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$154, $$dd1] <- tpcds.date_dim [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$154, $$dd1] <- tpcds.date_dim
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -236,7 +242,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- join (eq($$176, $$160)) [cardinality: 5.0E11, op-cost: 2000000.0, total-cost: 6000000.0]
+ join (eq($$176, $$160))
-- HYBRID_HASH_JOIN [$$176][$$160] |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$176] |PARTITIONED|
@@ -246,7 +252,7 @@
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$158, $$159, $$cs1] <- tpcds.catalog_sales [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$158, $$159, $$cs1] <- tpcds.catalog_sales
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -262,11 +268,11 @@
-- REPLICATE |PARTITIONED|
exchange
-- HASH_PARTITION_EXCHANGE [$$154] |PARTITIONED|
- select (and(lt($$dd1.getField(10), 4), eq($$dd1.getField(6), 1900))) [cardinality: 1000000.0, op-cost: 0.0, total-cost: 1000000.0]
+ select (and(lt($$dd1.getField(10), 4), eq($$dd1.getField(6), 1900)))
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
- data-scan []<-[$$154, $$dd1] <- tpcds.date_dim [cardinality: 1000000.0, op-cost: 1000000.0, total-cost: 1000000.0]
+ data-scan []<-[$$154, $$dd1] <- tpcds.date_dim
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.011.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.011.plan
index eb6e7b4..e27d3a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.011.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.011.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (lt($$a, "100")) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.013.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.013.plan
index fb9d50f..b2a604a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.013.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.013.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (lt($$a, 100)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.015.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.015.plan
index bec5abf..29ad8e7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.015.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.015.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$a, 100)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.017.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.017.plan
index c215b86..91f4067 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.017.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.017.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (lt($$a, 100.1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.108.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.108.plan
index 7a24223..4dd0fe7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.108.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.108.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (or(eq($$59, "2011"), eq($$59, "2016"))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$59] <- [substring($$D, 0, 4)] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$59] <- [substring($$D, 0, 4)] project: [$$59] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$56) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$D <- scan-collection($$56) project: [$$D] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$56]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$56] <- [$$C.getField("dates")] project: [$$56] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/006/006.010.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/006/006.010.plan
index 1fb271e..a3be0bd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/006/006.010.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/006/006.010.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$55, array: [ 5.1 ])) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$55] <- [$$point.getField("lon")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$55] <- [$$point.getField("lon")] project: [$$55] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$point <- scan-collection($$54) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$point <- scan-collection($$54) project: [$$point] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$54]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$54] <- [$$c.getField("geo").getField("coordinates")] project: [$$54] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.101.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.101.plan
index 52fae76e..90fee83 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.101.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.101.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(neq($$21, "1"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$21]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$21] <- [$$d.getField("a")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.201.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.201.plan
index f45042a..a69153a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.201.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.201.plan
@@ -15,8 +15,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$23))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$23]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$20] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.301.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.301.plan
index 1b4a5f1..bb1e997 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.301.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.301.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(ge($$x, 100), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$x <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$x <- scan-collection($$29) project: [$$x] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/sql-compat/sql-compat.013.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/sql-compat/sql-compat.013.plan
index 505049f..f27743f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/sql-compat/sql-compat.013.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/sql-compat/sql-compat.013.plan
@@ -35,8 +35,10 @@
-- AGGREGATE |LOCAL|
select (eq(string-default-null($$210), "sixteen")) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$210]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$231] <- [string-default-null($$210)] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.012.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.012.plan
index 7faaee2..b5c338b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.012.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.012.plan
@@ -15,12 +15,14 @@
-- AGGREGATE |LOCAL|
select (eq($$55, "1")) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$55] <- [$$ao.getField("text")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$55] <- [$$ao.getField("text")] project: [$$55] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ao <- scan-collection($$57) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ao <- scan-collection($$57) project: [$$ao] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$57] <- [$$p.getField("arrayOrObject")] project: [$$57] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.022.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.022.plan
index 91517a3..48ff0a80 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.022.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.022.plan
@@ -15,12 +15,14 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(le($$55, "2"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$55] <- [$$ao.getField("text")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$55] <- [$$ao.getField("text")] project: [$$55] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ao <- scan-collection($$57) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ao <- scan-collection($$57) project: [$$ao] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$57] <- [$$p.getField("arrayOrObject")] project: [$$57] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.052.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.052.plan
index fc7e087..00a8545 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.052.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.052.plan
@@ -15,9 +15,9 @@
-- AGGREGATE |LOCAL|
select (and(ge($$65, "1"), le($$65, "2"))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$65] <- [$$ao.getField("text")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$65] <- [$$ao.getField("text")] project: [$$65] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ao <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ao <- scan-collection($$68) project: [$$ao] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- NESTED_TUPLE_SOURCE |LOCAL|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan
index 6b9f696..79b009f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan
@@ -17,12 +17,14 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(eq($$52, "string"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$52] <- [$$ht.getField("display_url")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$52] <- [$$ht.getField("display_url")] project: [$$52] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ht <- scan-collection($$51) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ht <- scan-collection($$51) project: [$$ht] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$51]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$51] <- [$$p.getField("entities").getField("urls")] project: [$$51] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.014.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.014.plan
index 6aa477e..0115e9c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.014.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.014.plan
@@ -39,8 +39,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$113))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$113]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$112] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.016.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.016.plan
index a545ec1..dcf0094 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.016.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.016.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$71, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$71] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$71] <- [$$e.getField("x")] project: [$$71] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
subplan {
@@ -32,12 +34,14 @@
-- AGGREGATE |LOCAL|
select (eq($$69, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$69] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$69] <- [$$e.getField("x")] project: [$$69] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$68] <- [$$c.getField("val1")] project: [$$68] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.017.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.017.plan
index 51b9bde..53dd4cc 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.017.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.017.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$71, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$71] <- [$$e.getField("y")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$71] <- [$$e.getField("y")] project: [$$71] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
subplan {
@@ -32,12 +34,14 @@
-- AGGREGATE |LOCAL|
select (eq($$69, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$69] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$69] <- [$$e.getField("x")] project: [$$69] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$68] <- [$$c.getField("val1")] project: [$$68] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.018.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.018.plan
index 855a17a..2f4e3ce 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.018.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.018.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$71, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$71] <- [$$e.getField("y")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$71] <- [$$e.getField("y")] project: [$$71] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$70) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$70) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
project ([$$70, $$53]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
@@ -34,12 +36,14 @@
-- AGGREGATE |LOCAL|
select (eq($$69, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$69] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$69] <- [$$e.getField("x")] project: [$$69] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$70, $$68] <- [$$c.getField("val2"), $$c.getField("val1")] project: [$$70, $$68] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.020.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.020.plan
index 832fd10..f9e72f4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.020.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.020.plan
@@ -25,10 +25,12 @@
-- AGGREGATE |LOCAL|
assign [$$52] <- [$$i.getField("count")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$i <- scan-collection($$70) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$i <- scan-collection($$70) project: [$$i] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$64, $$70] <- [to-object-var-str($$t).getField(0), $$t.getField("a1")] project: [$$64, $$70] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.021.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.021.plan
index 832fd10..f9e72f4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.021.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.021.plan
@@ -25,10 +25,12 @@
-- AGGREGATE |LOCAL|
assign [$$52] <- [$$i.getField("count")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$i <- scan-collection($$70) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$i <- scan-collection($$70) project: [$$i] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$64, $$70] <- [to-object-var-str($$t).getField(0), $$t.getField("a1")] project: [$$64, $$70] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.022.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.022.plan
index e0ad5d5..4e424a0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.022.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.022.plan
@@ -21,12 +21,14 @@
-- AGGREGATE |LOCAL|
assign [$$82] <- [$$98.getField("Overall")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- assign [$$98] <- [$$reviews.getField("ratings")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$98] <- [$$reviews.getField("ratings")] project: [$$98] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$reviews <- scan-collection($$91) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$reviews <- scan-collection($$91) project: [$$reviews] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$91]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$#2] <- [get-item($$72, 0)] project: [$$93, $$94, $$91, $#2] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
@@ -38,12 +40,14 @@
-- AGGREGATE |LOCAL|
assign [$$69] <- [$$97.getField("Overall")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- assign [$$97] <- [$$89.getField("ratings")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$97] <- [$$89.getField("ratings")] project: [$$97] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$89 <- scan-collection($$91) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$89 <- scan-collection($$91) project: [$$89] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$91]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
select (eq($$ht.getField("city"), "Los Angeles")) project: [$$93, $$94, $$91] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/replicate/replicate.021.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/replicate/replicate.021.plan
index 0289366..1fe19d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/replicate/replicate.021.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/replicate/replicate.021.plan
@@ -49,12 +49,14 @@
-- AGGREGATE |LOCAL|
select (eq($$76, "x")) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$76] <- [$$ol.getField("ol_dist_info")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$76] <- [$$ol.getField("ol_dist_info")] project: [$$76] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ol <- scan-collection($$75) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ol <- scan-collection($$75) project: [$$ol] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$75]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$73, $$75] <- [$$o2.getField("o_carrier_id"), $$o2.getField("o_orderline")] project: [$$73, $$75] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.011.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.011.plan
index 737dea4..22404f7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.011.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.011.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(neq(lowercase($$21), "engineering"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$21]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$22, $$21] <- [$$d.getField("id"), $$d.getField("department")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.111.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.111.plan
index cabb210..ab615fb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.111.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/not-in/not-in.111.plan
@@ -21,8 +21,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$24))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$24]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$23] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.15.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.15.plan
index 6630e31..7cc4274 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.15.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.15.plan
@@ -17,12 +17,14 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(eq($$51, "string"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$51] <- [$$ht.getField("display_url")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$51] <- [$$ht.getField("display_url")] project: [$$51] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ht <- scan-collection($$50) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ht <- scan-collection($$50) project: [$$ht] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$50]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$50] <- [$$p.getField("entities").getField("urls")] project: [$$50] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.17.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.17.plan
index 9b556b6..5185cdf 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.17.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/array-access-pushdown/array-access-pushdown.17.plan
@@ -17,12 +17,14 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(eq($$51, "string"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$51] <- [$$ht.getField("display_url")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$51] <- [$$ht.getField("display_url")] project: [$$51] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ht <- scan-collection($$50) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ht <- scan-collection($$50) project: [$$ht] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$50]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$50] <- [$$p.getField("entities").getField("urls")] project: [$$50] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.07.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.07.plan
index 2d4c313..478a00b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.07.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.07.plan
@@ -45,8 +45,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$111))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$111]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$110] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.08.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.08.plan
index 2f9da11..efe3c69 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.08.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.08.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$70, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$70] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$70] <- [$$e.getField("x")] project: [$$70] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$67) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$67) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$67]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
subplan {
@@ -32,12 +34,14 @@
-- AGGREGATE |LOCAL|
select (eq($$68, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$68] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$68] <- [$$e.getField("x")] project: [$$68] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$67) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$67) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$67]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$67] <- [$$p.getField("val1")] project: [$$67] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.09.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.09.plan
index afa0968..0fd3265 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.09.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.09.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$70, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$70] <- [$$e.getField("y")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$70] <- [$$e.getField("y")] project: [$$70] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$67) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$67) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$67]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
subplan {
@@ -32,12 +34,14 @@
-- AGGREGATE |LOCAL|
select (eq($$68, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$68] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$68] <- [$$e.getField("x")] project: [$$68] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$67) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$67) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$67]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$67] <- [$$p.getField("val1")] project: [$$67] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.10.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.10.plan
index 188c138..34a5eb7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.10.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/parquet/pushdown-plans/pushdown-plans.10.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$70, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$70] <- [$$e.getField("y")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$70] <- [$$e.getField("y")] project: [$$70] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$69) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$69) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$69]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
project ([$$69, $$53]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
@@ -34,12 +36,14 @@
-- AGGREGATE |LOCAL|
select (eq($$68, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$68] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$68] <- [$$e.getField("x")] project: [$$68] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$67) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$67) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$67]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
assign [$$69, $$67] <- [$$p.getField("val2"), $$p.getField("val1")] project: [$$69, $$67] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan
index c02c07e..9e112b3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan
@@ -25,10 +25,12 @@
-- AGGREGATE |LOCAL|
assign [$$77] <- [object-remove(object-remove(object-remove($$t0, "title"), "authors"), "misc")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$t0 <- scan-collection(to-array($$paper)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$t0 <- scan-collection(to-array($$paper)) project: [$$t0] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$paper]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
index 57a946d..c9f34a3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
@@ -9,8 +9,10 @@
subplan {
assign [$$17] <- [array-slice($$20, 0, 2)] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$20]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
subplan {
diff --git 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
index f16bcce..b170d58 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
@@ -15,8 +15,10 @@
-- AGGREGATE |LOCAL|
unnest $$333 <- scan-collection($$343) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$343]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
select (not(is-null($$351))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.04.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.04.plan
index 0bc5602..72787e1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.04.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.04.plan
@@ -51,8 +51,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$249))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$208, $$249]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$200] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.06.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.06.plan
index 1ccaaec..486e988 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.06.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/tpch/query-plans/query-plans.06.plan
@@ -44,8 +44,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$86))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$86]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$77] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.011.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.011.plan
index 3cf9c6a..c587725 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.011.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.011.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (lt($$a, "100")) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.013.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.013.plan
index 7a1e8b3..b67c66d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.013.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.013.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (lt($$a, 100)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.015.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.015.plan
index aae4438..b43c031 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.015.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.015.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (eq($$a, 100)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.017.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.017.plan
index afc236a..9ba3c76 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.017.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.017.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (lt($$a, 100.1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$a <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$a <- scan-collection($$29) project: [$$a] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
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
index 42ef238..5f28cc3 100644
--- 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
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (or(eq($$59, "2011"), eq($$59, "2016"))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$59] <- [substring($$D, 0, 4)] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$59] <- [substring($$D, 0, 4)] project: [$$59] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$D <- scan-collection($$56) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$D <- scan-collection($$56) project: [$$D] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$56]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 30.0]
-- SUBPLAN |PARTITIONED|
assign [$$56] <- [$$C.getField("dates")] project: [$$56] [cardinality: 30.0, doc-size: 0.0, op-cost: 0.0, total-cost: 30.0]
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
index ed14662..7f67d58 100644
--- 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
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$55, array: [ 5.1 ])) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$55] <- [$$point.getField("lon")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$55] <- [$$point.getField("lon")] project: [$$55] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$point <- scan-collection($$54) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$point <- scan-collection($$54) project: [$$point] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$54]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 8.0, doc-size: 0.0, op-cost: 0.0, total-cost: 8.0]
-- SUBPLAN |PARTITIONED|
assign [$$54] <- [$$c.getField("geo").getField("coordinates")] project: [$$54] [cardinality: 8.0, doc-size: 0.0, op-cost: 0.0, total-cost: 8.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.101.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.101.plan
index a92924d..b156b59 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.101.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.101.plan
@@ -19,8 +19,10 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(neq($$21, "1"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$21]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$21] <- [$$d.getField("a")] [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.301.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.301.plan
index 09dfdfb..0c888f9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.301.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/not-in_every/not-in_every.301.plan
@@ -19,10 +19,12 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(ge($$x, 100), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- unnest $$x <- scan-collection($$29) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$x <- scan-collection($$29) project: [$$x] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$29]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$29] <- [$$d.getField("array")] [cardinality: 6.0, doc-size: 106.0, op-cost: 0.0, total-cost: 6.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.012.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.012.plan
index a6ca76b..239e5a8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.012.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.012.plan
@@ -15,12 +15,14 @@
-- AGGREGATE |LOCAL|
select (eq($$55, "1")) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$55] <- [$$ao.getField("text")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$55] <- [$$ao.getField("text")] project: [$$55] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ao <- scan-collection($$57) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ao <- scan-collection($$57) project: [$$ao] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 0.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$57] <- [$$p.getField("arrayOrObject")] project: [$$57] [cardinality: 6.0, doc-size: 0.0, op-cost: 0.0, total-cost: 6.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.022.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.022.plan
index 94070f1..9cbda26 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.022.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.022.plan
@@ -15,12 +15,14 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(le($$55, "2"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$55] <- [$$ao.getField("text")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$55] <- [$$ao.getField("text")] project: [$$55] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ao <- scan-collection($$57) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ao <- scan-collection($$57) project: [$$ao] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$57]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 6.0, doc-size: 0.0, op-cost: 0.0, total-cost: 6.0]
-- SUBPLAN |PARTITIONED|
assign [$$57] <- [$$p.getField("arrayOrObject")] project: [$$57] [cardinality: 6.0, doc-size: 0.0, op-cost: 0.0, total-cost: 6.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.052.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.052.plan
index b2620f3..239159f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.052.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/subplan/subplan.052.plan
@@ -15,9 +15,9 @@
-- AGGREGATE |LOCAL|
select (and(ge($$65, "1"), le($$65, "2"))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$65] <- [$$ao.getField("text")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$65] <- [$$ao.getField("text")] project: [$$65] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ao <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ao <- scan-collection($$68) project: [$$ao] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- NESTED_TUPLE_SOURCE |LOCAL|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan
index bcac67e..58ba035 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan
@@ -17,12 +17,14 @@
-- AGGREGATE |LOCAL|
select (not(if-missing-or-null(eq($$52, "string"), false))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$52] <- [$$ht.getField("display_url")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$52] <- [$$ht.getField("display_url")] project: [$$52] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$ht <- scan-collection($$51) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$ht <- scan-collection($$51) project: [$$ht] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$51]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
assign [$$51] <- [$$p.getField("entities").getField("urls")] project: [$$51] [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.014.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.014.plan
index 1725335..d6f127c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.014.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.014.plan
@@ -39,8 +39,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$113))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$113]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 8.0, op-cost: 0.0, total-cost: 6.5]
-- PRE_CLUSTERED_GROUP_BY[$$112] |PARTITIONED|
exchange [cardinality: 2.0, doc-size: 8.0, op-cost: 0.0, total-cost: 4.25]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.016.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.016.plan
index 1b7d5d5..051e0b1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.016.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.016.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$71, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$71] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$71] <- [$$e.getField("x")] project: [$$71] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
subplan {
@@ -32,12 +34,14 @@
-- AGGREGATE |LOCAL|
select (eq($$69, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$69] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$69] <- [$$e.getField("x")] project: [$$69] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
assign [$$68] <- [$$c.getField("val1")] project: [$$68] [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.017.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.017.plan
index 3525321..bd918b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.017.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.017.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$71, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$71] <- [$$e.getField("y")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$71] <- [$$e.getField("y")] project: [$$71] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
subplan {
@@ -32,12 +34,14 @@
-- AGGREGATE |LOCAL|
select (eq($$69, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$69] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$69] <- [$$e.getField("x")] project: [$$69] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
assign [$$68] <- [$$c.getField("val1")] project: [$$68] [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.018.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.018.plan
index 2999a9c..44a1697 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.018.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.018.plan
@@ -19,12 +19,14 @@
-- AGGREGATE |LOCAL|
select (eq($$71, 2)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$71] <- [$$e.getField("y")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$71] <- [$$e.getField("y")] project: [$$71] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$70) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$70) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
project ([$$70, $$53]) [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
@@ -34,12 +36,14 @@
-- AGGREGATE |LOCAL|
select (eq($$69, 1)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- assign [$$69] <- [$$e.getField("x")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$69] <- [$$e.getField("x")] project: [$$69] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$e <- scan-collection($$68) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$e <- scan-collection($$68) project: [$$e] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$68]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
assign [$$70, $$68] <- [$$c.getField("val2"), $$c.getField("val1")] project: [$$70, $$68] [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.020.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.020.plan
index 9eb4496..67fe451 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.020.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.020.plan
@@ -25,10 +25,12 @@
-- AGGREGATE |LOCAL|
assign [$$52] <- [$$i.getField("count")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$i <- scan-collection($$70) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$i <- scan-collection($$70) project: [$$i] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
assign [$$64, $$70] <- [to-object-var-str($$t).getField(0), $$t.getField("a1")] project: [$$64, $$70] [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.021.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.021.plan
index 9eb4496..67fe451 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.021.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.021.plan
@@ -25,10 +25,12 @@
-- AGGREGATE |LOCAL|
assign [$$52] <- [$$i.getField("count")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$i <- scan-collection($$70) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$i <- scan-collection($$70) project: [$$i] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$70]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
assign [$$64, $$70] <- [to-object-var-str($$t).getField(0), $$t.getField("a1")] project: [$$64, $$70] [cardinality: 2.0, doc-size: 0.0, op-cost: 0.0, total-cost: 2.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.022.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.022.plan
index 721bacb..d3149ec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.022.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/pushdown/other-pushdowns/other-pushdowns.022.plan
@@ -21,12 +21,14 @@
-- AGGREGATE |LOCAL|
assign [$$82] <- [$$98.getField("Overall")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- assign [$$98] <- [$$reviews.getField("ratings")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$98] <- [$$reviews.getField("ratings")] project: [$$98] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$reviews <- scan-collection($$91) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$reviews <- scan-collection($$91) project: [$$reviews] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$91]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 3.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
assign [$#2] <- [get-item($$72, 0)] project: [$$93, $$94, $$91, $#2] [cardinality: 0.0, doc-size: 3.0, op-cost: 0.0, total-cost: 2.0]
@@ -38,12 +40,14 @@
-- AGGREGATE |LOCAL|
assign [$$69] <- [$$97.getField("Overall")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- assign [$$97] <- [$$89.getField("ratings")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ assign [$$97] <- [$$89.getField("ratings")] project: [$$97] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$89 <- scan-collection($$91) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$89 <- scan-collection($$91) project: [$$89] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$91]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 3.0, op-cost: 0.0, total-cost: 2.0]
-- SUBPLAN |PARTITIONED|
select (eq($$ht.getField("city"), "Los Angeles")) project: [$$93, $$94, $$91] [cardinality: 0.0, doc-size: 3.0, op-cost: 0.0, total-cost: 2.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan
index ddabf90..4005031 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/limit/push-limit-to-primary-scan/push-limit-to-primary-scan.8.plan
@@ -25,10 +25,12 @@
-- AGGREGATE |LOCAL|
assign [$$77] <- [object-remove(object-remove(object-remove($$t0, "title"), "authors"), "misc")] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- unnest $$t0 <- scan-collection(to-array($$paper)) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ unnest $$t0 <- scan-collection(to-array($$paper)) project: [$$t0] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$paper]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 100.0, doc-size: 0.0, op-cost: 0.0, total-cost: 100.0]
-- SUBPLAN |PARTITIONED|
exchange [cardinality: 100.0, doc-size: 0.0, op-cost: 0.0, total-cost: 100.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
index 03418cb..1beaf1a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
@@ -9,8 +9,10 @@
subplan {
assign [$$17] <- [array-slice($$20, 0, 2)] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$20]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 1.0, doc-size: 0.0, op-cost: 0.0, total-cost: 1.0]
-- SUBPLAN |PARTITIONED|
subplan {
diff --git 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
index 26d4afc..6dc028f 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
@@ -15,8 +15,10 @@
-- AGGREGATE |LOCAL|
unnest $$333 <- scan-collection($$343) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$343]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 8.0, doc-size: 0.0, op-cost: 0.0, total-cost: 8.0]
-- SUBPLAN |PARTITIONED|
select (not(is-null($$351))) [cardinality: 8.0, doc-size: 0.0, op-cost: 0.0, total-cost: 8.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/tpch/query-plans/query-plans.06.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/tpch/query-plans/query-plans.06.plan
index c246478..0b29c0a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/tpch/query-plans/query-plans.06.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/tpch/query-plans/query-plans.06.plan
@@ -44,8 +44,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$86))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$86]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 997.0, doc-size: 5.0, op-cost: 0.0, total-cost: 594714.46]
-- PRE_CLUSTERED_GROUP_BY[$$77] |PARTITIONED|
exchange [cardinality: 6349.95, doc-size: 5.0, op-cost: 0.0, total-cost: 372357.23]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
index 33681de..2ca75e0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/misc/query-ASTERIXDB-3562/query-ASTERIXDB-3562.4.plan
@@ -9,8 +9,10 @@
subplan {
assign [$$17] <- [array-slice($$20, 0, 2)] [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- ASSIGN |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$20]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
subplan {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan
index 0386308..486f9de 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/subquery/query-ASTERIXDB-3538/query-ASTERIXDB-3538.5.plan
@@ -15,8 +15,10 @@
-- AGGREGATE |LOCAL|
unnest $$333 <- scan-collection($$343) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- UNNEST |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$343]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- SUBPLAN |PARTITIONED|
select (not(is-null($$351))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.04.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.04.plan
index 112e012..8e96f49 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.04.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.04.plan
@@ -51,8 +51,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$249))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$208, $$249]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$200] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.06.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.06.plan
index 5cbaef2..64e1691 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.06.plan
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_column/tpch/query-plans/query-plans.06.plan
@@ -44,8 +44,10 @@
-- AGGREGATE |LOCAL|
select (not(is-missing($$86))) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- STREAM_SELECT |LOCAL|
- nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
- -- NESTED_TUPLE_SOURCE |LOCAL|
+ project ([$$l, $$86]) [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- STREAM_PROJECT |LOCAL|
+ nested tuple source [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+ -- NESTED_TUPLE_SOURCE |LOCAL|
} [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
-- PRE_CLUSTERED_GROUP_BY[$$77] |PARTITIONED|
exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroduceProjectsRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroduceProjectsRule.java
index ca92331..a787b07 100644
--- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroduceProjectsRule.java
+++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroduceProjectsRule.java
@@ -30,10 +30,12 @@
import org.apache.commons.lang3.mutable.MutableObject;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
import org.apache.hyracks.algebricks.core.algebra.base.ILogicalOperator;
+import org.apache.hyracks.algebricks.core.algebra.base.ILogicalPlan;
import org.apache.hyracks.algebricks.core.algebra.base.IOptimizationContext;
import org.apache.hyracks.algebricks.core.algebra.base.LogicalOperatorTag;
import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractLogicalOperator;
+import org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractOperatorWithNestedPlans;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.ProjectOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities;
import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule;
@@ -131,6 +133,17 @@
}
}
+ if (op.hasNestedPlans()) {
+ AbstractOperatorWithNestedPlans nestedPlansOp = (AbstractOperatorWithNestedPlans) op;
+ for (ILogicalPlan nestedPlanOp : nestedPlansOp.getNestedPlans()) {
+ for (Mutable<ILogicalOperator> rootOpRef : nestedPlanOp.getRoots()) {
+ if (introduceProjects(null, -1, rootOpRef, Collections.<LogicalVariable> emptySet(), context)) {
+ modified = true;
+ }
+ }
+ }
+ }
+
if (modified) {
context.computeAndSetTypeEnvironmentForOperator(op);
}
@@ -175,7 +188,8 @@
VariableUtilities.getLiveVariables(op.getInputs().get(0).getValue(), liveVars);
ProjectOperator projectOp = (ProjectOperator) op;
List<LogicalVariable> projectVarsTemp = projectOp.getVariables();
- if (liveVars.size() == projectVarsTemp.size() && liveVars.containsAll(projectVarsTemp)) {
+ if (liveVars.size() == projectVarsTemp.size() && liveVars.containsAll(projectVarsTemp)
+ && parentOp != null) {
// The existing project has become useless. Remove it.
parentOp.getInputs().get(parentInputIndex).setValue(op.getInputs().get(0).getValue());
modified = true;