[ASTERIXDB-3181][RT] Add missing CBO results

Change-Id: I4a6fcc707d8ddecc7c7bff592dc608a9c67310ff
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17526
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Hussain Towaileb <hussainht@gmail.com>
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.025.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.025.plan
new file mode 100644
index 0000000..f249625
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/001/001.025.plan
@@ -0,0 +1,36 @@
+distribute result [$$31] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    project ([$$31]) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+    -- STREAM_PROJECT  |PARTITIONED|
+      assign [$$31] <- [{"a": $$34, "item": $$item}] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+      -- ASSIGN  |PARTITIONED|
+        project ([$$34, $$item]) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+        -- STREAM_PROJECT  |PARTITIONED|
+          exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+          -- SORT_MERGE_EXCHANGE [$$35(ASC), $$34(ASC), $$item(ASC) ]  |PARTITIONED|
+            order (ASC, $$35) (ASC, $$34) (ASC, $$item) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+            -- STABLE_SORT [$$35(ASC), $$34(ASC), $$item(ASC)]  |PARTITIONED|
+              exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                select (gt($$item, 10)) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+                -- STREAM_SELECT  |PARTITIONED|
+                  project ([$$35, $$34, $$item]) [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0]
+                  -- STREAM_PROJECT  |PARTITIONED|
+                    unnest $$item <- scan-collection($$36) [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0]
+                    -- UNNEST  |PARTITIONED|
+                      select (eq($$34, "1")) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                      -- STREAM_SELECT  |PARTITIONED|
+                        project ([$$35, $$34, $$36]) [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          assign [$$34, $$36] <- [$$d.getField("a"), $$d.getField("array")] [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0]
+                          -- ASSIGN  |PARTITIONED|
+                            exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 2.0]
+                            -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                              data-scan []<-[$$35, $$d] <- test.ColumnDataset project ({a:any,array:[any]}) filter on (or(eq($$34, "1"), gt($$item, 10))) [cardinality: 6.0, op-cost: 2.0, total-cost: 2.0]
+                              -- DATASOURCE_SCAN  |PARTITIONED|
+                                exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                  -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.006.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.006.plan
new file mode 100644
index 0000000..a0f80bd
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.006.plan
@@ -0,0 +1,34 @@
+distribute result [$$47] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$47]) [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$47] <- [{"$1": $$49}] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$49] <- [agg-sql-sum($$51)] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$51] <- [agg-sql-count(1)] [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+            -- AGGREGATE  |PARTITIONED|
+              select (gt($$D, " ")) [cardinality: 99.0, op-cost: 0.0, total-cost: 99.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  unnest $$D <- scan-collection($$50) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0]
+                  -- UNNEST  |PARTITIONED|
+                    project ([$$50]) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      assign [$$50] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0]
+                      -- ASSIGN  |PARTITIONED|
+                        project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 99.0]
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            data-scan []<-[$$48, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (gt($$D, " ")) [cardinality: 30.0, op-cost: 99.0, total-cost: 99.0]
+                            -- DATASOURCE_SCAN  |PARTITIONED|
+                              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.102.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.102.plan
new file mode 100644
index 0000000..0a26cc8
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.102.plan
@@ -0,0 +1,34 @@
+distribute result [$$48] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$48]) [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$48] <- [{"$1": $$50}] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$50] <- [agg-sql-sum($$52)] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$52] <- [agg-sql-count(1)] [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+            -- AGGREGATE  |PARTITIONED|
+              select (eq(substring($$D, 0, 4), "2011")) [cardinality: 6.0, op-cost: 0.0, total-cost: 6.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  unnest $$D <- scan-collection($$51) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0]
+                  -- UNNEST  |PARTITIONED|
+                    project ([$$51]) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      assign [$$51] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0]
+                      -- ASSIGN  |PARTITIONED|
+                        project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 6.0]
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            data-scan []<-[$$49, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (eq(substring($$D, 0, 4), "2011")) [cardinality: 30.0, op-cost: 6.0, total-cost: 6.0]
+                            -- DATASOURCE_SCAN  |PARTITIONED|
+                              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.105.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.105.plan
new file mode 100644
index 0000000..1c5ee50
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.105.plan
@@ -0,0 +1,38 @@
+distribute result [$$51] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$51]) [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$51] <- [{"$1": $$54}] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$54] <- [agg-sql-sum($$57)] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$57] <- [agg-sql-count(1)] [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+            -- AGGREGATE  |PARTITIONED|
+              select (or(eq($$58, "2011"), eq($$58, "2016"))) [cardinality: 20.0, op-cost: 0.0, total-cost: 20.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$58]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  assign [$$58] <- [substring($$D, 0, 4)] [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                  -- ASSIGN  |PARTITIONED|
+                    project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      unnest $$D <- scan-collection($$55) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                      -- UNNEST  |PARTITIONED|
+                        project ([$$55]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          assign [$$55] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                          -- ASSIGN  |PARTITIONED|
+                            project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                            -- STREAM_PROJECT  |PARTITIONED|
+                              exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 20.0]
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                data-scan []<-[$$53, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (or(eq(substring($$D, 0, 4), "2011"), eq(substring($$D, 0, 4), "2016"))) [cardinality: 30.0, op-cost: 20.0, total-cost: 20.0]
+                                -- DATASOURCE_SCAN  |PARTITIONED|
+                                  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                    empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                    -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.108.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.108.plan
new file mode 100644
index 0000000..6c282bb
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.108.plan
@@ -0,0 +1,45 @@
+distribute result [$$52] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$52]) [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$52] <- [{"$1": $$55}] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$55] <- [agg-sql-sum($$58)] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$58] <- [agg-sql-count(1)] [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+            -- AGGREGATE  |PARTITIONED|
+              select ($$45) [cardinality: 11.0, op-cost: 0.0, total-cost: 11.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$45]) [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  subplan {
+                            aggregate [$$45] <- [non-empty-stream()] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                            -- AGGREGATE  |LOCAL|
+                              select (or(eq($$59, "2011"), eq($$59, "2016"))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- STREAM_SELECT  |LOCAL|
+                                assign [$$59] <- [substring($$D, 0, 4)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- ASSIGN  |LOCAL|
+                                  unnest $$D <- scan-collection($$56) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                  -- UNNEST  |LOCAL|
+                                    nested tuple source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                    -- NESTED_TUPLE_SOURCE  |LOCAL|
+                         } [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0]
+                  -- SUBPLAN  |PARTITIONED|
+                    project ([$$56]) [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      assign [$$56] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0]
+                      -- ASSIGN  |PARTITIONED|
+                        project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 11.0]
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            data-scan []<-[$$54, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (or(eq(substring($$D, 0, 4), "2011"), eq(substring($$D, 0, 4), "2016"))) [cardinality: 30.0, op-cost: 11.0, total-cost: 11.0]
+                            -- DATASOURCE_SCAN  |PARTITIONED|
+                              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.113.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.113.plan
new file mode 100644
index 0000000..5c3412b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/004/004.113.plan
@@ -0,0 +1,40 @@
+distribute result [$$54] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$54]) [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$54] <- [{"$1": $$57}] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$57] <- [agg-sql-sum($$61)] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$61] <- [agg-sql-count(1)] [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+            -- AGGREGATE  |PARTITIONED|
+              select (or(eq($$62, "2011"), eq($$62, "2016"))) [cardinality: 7.0, op-cost: 0.0, total-cost: 7.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$62]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  assign [$$62] <- [substring($$D, 0, 4)] [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                  -- ASSIGN  |PARTITIONED|
+                    project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      unnest $$D <- scan-collection($$59) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                      -- UNNEST  |PARTITIONED|
+                        project ([$$59]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          select (starts-with($$C.getField("business_id"), "-0")) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                          -- STREAM_SELECT  |PARTITIONED|
+                            assign [$$59] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                            -- ASSIGN  |PARTITIONED|
+                              project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                              -- STREAM_PROJECT  |PARTITIONED|
+                                exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 7.0]
+                                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                  data-scan []<-[$$56, $$C] <- TestYelp.YelpCheckin project ({dates:[any],business_id:any}) filter on (or(starts-with($$C.getField("business_id"), "-0"), or(eq(substring($$D, 0, 4), "2011"), eq(substring($$D, 0, 4), "2016")))) [cardinality: 30.0, op-cost: 7.0, total-cost: 7.0]
+                                  -- DATASOURCE_SCAN  |PARTITIONED|
+                                    exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                      empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                      -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.008.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.008.plan
new file mode 100644
index 0000000..5d7d75c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.008.plan
@@ -0,0 +1,34 @@
+distribute result [$$48] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$48]) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$48] <- [{"$1": $$50}] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$50] <- [agg-sql-sum($$52)] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$52] <- [agg-sql-count(1)] [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+            -- AGGREGATE  |PARTITIONED|
+              select (gt(numeric-add($$D, 1), 2018)) [cardinality: 2.0, op-cost: 0.0, total-cost: 2.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  unnest $$D <- scan-collection($$51) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0]
+                  -- UNNEST  |PARTITIONED|
+                    project ([$$51]) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      assign [$$51] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0]
+                      -- ASSIGN  |PARTITIONED|
+                        project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 2.0]
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            data-scan []<-[$$49, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (gt(numeric-add($$D, 1), 2018)) [cardinality: 30.0, op-cost: 2.0, total-cost: 2.0]
+                            -- DATASOURCE_SCAN  |PARTITIONED|
+                              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.011.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.011.plan
new file mode 100644
index 0000000..f989fe0
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/005/005.011.plan
@@ -0,0 +1,34 @@
+distribute result [$$51] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$51]) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$51] <- [{"$1": $$53}] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$53] <- [agg-sql-sum($$55)] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$55] <- [agg-sql-count(1)] [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+            -- AGGREGATE  |PARTITIONED|
+              select (or(gt(numeric-add($$D, 1), 2018), eq(substring($$D, 0, 4), "2011"))) [cardinality: 8.0, op-cost: 0.0, total-cost: 8.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$D]) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  unnest $$D <- scan-collection($$54) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0]
+                  -- UNNEST  |PARTITIONED|
+                    project ([$$54]) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      assign [$$54] <- [$$C.getField("dates")] [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0]
+                      -- ASSIGN  |PARTITIONED|
+                        project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 8.0]
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            data-scan []<-[$$52, $$C] <- TestYelp.YelpCheckin project ({dates:[any]}) filter on (or(gt(numeric-add($$D, 1), 2018), eq(substring($$D, 0, 4), "2011"))) [cardinality: 30.0, op-cost: 8.0, total-cost: 8.0]
+                            -- DATASOURCE_SCAN  |PARTITIONED|
+                              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/006/006.010.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/006/006.010.plan
new file mode 100644
index 0000000..b217e0e
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/006/006.010.plan
@@ -0,0 +1,45 @@
+distribute result [$$51] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$51]) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$51] <- [{"$1": $$53}] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$53] <- [agg-sql-sum($$57)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$57] <- [agg-sql-count(1)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+            -- AGGREGATE  |PARTITIONED|
+              select ($$44) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$44]) [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  subplan {
+                            aggregate [$$44] <- [non-empty-stream()] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                            -- AGGREGATE  |LOCAL|
+                              select (eq($$55, array: [ 5.1 ])) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- STREAM_SELECT  |LOCAL|
+                                assign [$$55] <- [$$point.getField("lon")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- ASSIGN  |LOCAL|
+                                  unnest $$point <- scan-collection($$54) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                  -- UNNEST  |LOCAL|
+                                    nested tuple source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                    -- NESTED_TUPLE_SOURCE  |LOCAL|
+                         } [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0]
+                  -- SUBPLAN  |PARTITIONED|
+                    project ([$$54]) [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0]
+                    -- STREAM_PROJECT  |PARTITIONED|
+                      assign [$$54] <- [$$c.getField("geo").getField("coordinates")] [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0]
+                      -- ASSIGN  |PARTITIONED|
+                        project ([$$c]) [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0]
+                        -- STREAM_PROJECT  |PARTITIONED|
+                          exchange [cardinality: 8.0, op-cost: 0.0, total-cost: 1.0]
+                          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                            data-scan []<-[$$52, $$c] <- test.ColumnDataset project ({geo:{coordinates:[{lon:any}]}}) [cardinality: 8.0, op-cost: 1.0, total-cost: 1.0]
+                            -- DATASOURCE_SCAN  |PARTITIONED|
+                              exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                              -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                                empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                                -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/007/007.010.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/007/007.010.plan
new file mode 100644
index 0000000..a5f30b3
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_cbo/column/filter/007/007.010.plan
@@ -0,0 +1,26 @@
+distribute result [$$37] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+-- DISTRIBUTE_RESULT  |UNPARTITIONED|
+  exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+  -- ONE_TO_ONE_EXCHANGE  |UNPARTITIONED|
+    project ([$$37]) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+    -- STREAM_PROJECT  |UNPARTITIONED|
+      assign [$$37] <- [{"$1": $$39}] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+      -- ASSIGN  |UNPARTITIONED|
+        aggregate [$$39] <- [agg-sql-sum($$42)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+        -- AGGREGATE  |UNPARTITIONED|
+          exchange [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+          -- RANDOM_MERGE_EXCHANGE  |PARTITIONED|
+            aggregate [$$42] <- [agg-sql-count(1)] [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+            -- AGGREGATE  |PARTITIONED|
+              select (array-contains($$C.getField("checkin_times").getField("dates"), "2018-05-25")) [cardinality: 1.0, op-cost: 0.0, total-cost: 1.0]
+              -- STREAM_SELECT  |PARTITIONED|
+                project ([$$C]) [cardinality: 30.0, op-cost: 0.0, total-cost: 1.0]
+                -- STREAM_PROJECT  |PARTITIONED|
+                  exchange [cardinality: 30.0, op-cost: 0.0, total-cost: 1.0]
+                  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                    data-scan []<-[$$38, $$C] <- TestYelp.YelpCheckin project ({checkin_times:{dates:any}}) [cardinality: 30.0, op-cost: 1.0, total-cost: 1.0]
+                    -- DATASOURCE_SCAN  |PARTITIONED|
+                      exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                      -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                        empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                        -- EMPTY_TUPLE_SOURCE  |PARTITIONED|