Changeset: 8b56a4b04198 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8b56a4b04198
Modified Files:
        sql/test/Tests/select_window_pushdown.test
Branch: Sep2022
Log Message:

Include properties info in test output.


diffs (116 lines):

diff --git a/sql/test/Tests/select_window_pushdown.test 
b/sql/test/Tests/select_window_pushdown.test
--- a/sql/test/Tests/select_window_pushdown.test
+++ b/sql/test/Tests/select_window_pushdown.test
@@ -5,6 +5,7 @@ CREATE TABLE Test (k int, v int);
 statement ok
 INSERT INTO Test SELECT value % 10 as k, value as v FROM generate_series(1, 
100);
 
+
 # simple eq filter on the partition key, must be pushed down,
 # while the flag filter cannot be safely pushed down
 query T nosort
@@ -32,6 +33,7 @@ project (
 | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = (int(32) 
"1") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 # simple range filter on the partition key
 query T nosort
 plan SELECT *
@@ -58,6 +60,7 @@ project (
 | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = (int(32) 
"1") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 # simple not in filter on the partition key
 query T nosort
 plan SELECT *
@@ -84,6 +87,7 @@ project (
 | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = (int(32) 
"1") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 # another filter also not on the partition key, must not be pushed down
 query T nosort
 plan SELECT *
@@ -110,6 +114,7 @@ project (
 | ) [ ("t1"."v" NOT NULL UNIQUE) = (int(32) "15"), ("t1"."flag" NOT NULL) = 
(boolean(1) "false"), ("t2"."rank") = (int(32) "1") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 # swapping k with v just to test for hardcoded optimizations,
 # v is pushed down but not k
 query T nosort
@@ -137,8 +142,36 @@ project (
 | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = (int(32) 
"1"), ("t1"."k" NOT NULL) = (int(32) "10") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 # performing some additional computation on the partition key,
 # filter cannot be pushed down
+plan SELECT *
+FROM (
+    SELECT k * 10 as k, v, flag, rank() OVER (PARTITION BY k ORDER BY v DESC) 
AS rank
+    FROM (
+        SELECT k, v, v % 2 = 0 AS flag
+        FROM Test
+    ) t1
+) t2
+WHERE rank = 1 AND NOT flag AND k = 10;
+----
+project (
+| select (
+| | project (
+| | | select (
+| | | | project (
+| | | | | project (
+| | | | | | project (
+| | | | | | | table("sys"."test") [ "test"."k" NOT NULL, "test"."v" NOT NULL 
UNIQUE ] COUNT 99
+| | | | | | ) [ "test"."k" NOT NULL as "t1"."k", "test"."v" NOT NULL UNIQUE as 
"t1"."v", "sys"."mod"("test"."v" NOT NULL UNIQUE, int(32) "2") NOT NULL as 
"%1"."%1", "sys"."="("%1"."%1" NOT NULL, int(32) "0") NOT NULL as "t1"."flag" ] 
COUNT 99
+| | | | | ) [ "t1"."k" NOT NULL, "t1"."v" NOT NULL UNIQUE, "t1"."flag" NOT 
NULL ] [ "t1"."k" ASC NOT NULL, "t1"."v" NULLS LAST NOT NULL UNIQUE ] COUNT 99
+| | | | ) [ "t1"."k" NOT NULL, "t1"."v" NOT NULL UNIQUE, "t1"."flag" NOT NULL, 
"sys"."rank"("sys"."star"(), "sys"."diff"("t1"."k" NOT NULL), 
"sys"."diff"("t1"."v" NOT NULL UNIQUE)) as "t2"."rank" ] COUNT 99
+| | | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = 
(int(32) "1") ] COUNT 99
+| | ) [ "sys"."sql_mul"("t1"."k" NOT NULL, tinyint(4) "10") NOT NULL as 
"t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", "t1"."flag" NOT NULL as 
"t2"."flag", "t2"."rank" NOT NULL ] COUNT 99
+| ) [ ("t2"."k" NOT NULL) = (bigint(36) "10") ] COUNT 99
+) [ "t2"."k" NOT NULL, "t2"."v" NOT NULL UNIQUE, "t2"."flag" NOT NULL, 
"t2"."rank" NOT NULL ] COUNT 99
+
+
 # filter [partition column OR flag], cannot be safely pushed down
 query T nosort
 plan SELECT *
@@ -163,6 +196,7 @@ project (
 | ) [ ("t2"."rank") = (int(32) "1"), (("t1"."flag" NOT NULL) = (boolean(1) 
"false")) or (("t1"."k" NOT NULL) = (int(32) "10")) ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 # filter on k and v and both are partition columns, both filters can be pushed 
down 
 query T nosort
 plan SELECT *
@@ -189,9 +223,11 @@ project (
 | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = (int(32) 
"1") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 statement ok
 DROP TABLE Test
 
+
 # test with string filters
 # (previously e_convert were not being considered)
 statement ok
@@ -225,6 +261,7 @@ project (
 | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = (int(32) 
"1") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 # test with like-type filters
 query T nosort
 plan SELECT *
@@ -251,6 +288,7 @@ project (
 | ) [ ("t1"."flag" NOT NULL) = (boolean(1) "false"), ("t2"."rank") = (int(32) 
"1") ]
 ) [ "t1"."k" NOT NULL as "t2"."k", "t1"."v" NOT NULL UNIQUE as "t2"."v", 
"t1"."flag" NOT NULL as "t2"."flag", "t2"."rank" NOT NULL ]
 
+
 statement ok
 DROP TABLE Test
 
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to