Changeset: 1c33bc4ce55c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1c33bc4ce55c
Removed Files:
        sql/test/SQLancer/Tests/sqlancer10.sql
        sql/test/SQLancer/Tests/sqlancer11.sql
Modified Files:
        sql/server/rel_unnest.c
        sql/test/SQLancer/Tests/sqlancer10.test
        sql/test/SQLancer/Tests/sqlancer11.test
Branch: default
Log Message:

Merged with Oct2020


diffs (truncated from 443 to 300 lines):

diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c
--- a/gdk/gdk_project.c
+++ b/gdk/gdk_project.c
@@ -612,7 +612,7 @@ BATproject2(BAT *restrict l, BAT *restri
        }
 
        if (!stringtrick && tpe != TYPE_oid)
-               tpe = ATOMstorage(tpe);
+               tpe = ATOMbasetype(tpe);
        switch (tpe) {
        case TYPE_bte:
                res = project_bte(bn, l, lci, r1, r2);
diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c
--- a/sql/server/rel_unnest.c
+++ b/sql/server/rel_unnest.c
@@ -1995,7 +1995,7 @@ rewrite_or_exp(visitor *v, sql_rel *rel)
                                if (exps_have_rel_exp(e->l) || 
exps_have_rel_exp(e->r)) {
                                        /* rewrite into setop */
                                        list_remove_node(rel->exps, NULL, n); 
/* remove or expression */
-                                       if (is_select(rel->op) && 
list_empty(rel->exps)) { /* remove empty select if that's the case */
+                                       if (is_select(rel->op) && 
list_empty(rel->exps) && !(rel_is_ref(rel))) { /* remove empty select if that's 
the case */
                                                sql_rel *l = rel->l;
                                                rel->l = NULL;
                                                rel_destroy(rel);
diff --git a/sql/test/SQLancer/Tests/sqlancer10.test 
b/sql/test/SQLancer/Tests/sqlancer10.test
--- a/sql/test/SQLancer/Tests/sqlancer10.test
+++ b/sql/test/SQLancer/Tests/sqlancer10.test
@@ -138,6 +138,26 @@ 1
 statement ok
 ROLLBACK
 
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE TABLE "t0" ("c0" TINYINT NOT NULL,"c1" TINYINT NOT NULL,"c3" 
BOOLEAN,"c4" INT,"c5" BIGINT)
+
+statement ok
+CREATE TABLE "t1" ("c0" INT,"c3" VARCHAR(32))
+
+statement ok
+INSERT INTO "t1" VALUES (NULL, ''),(NULL, 'E5E0'),(NULL, '396B34AC'),(NULL, 
'68AB5D04'),(NULL, ''),(0, NULL),(NULL, 'D5E5'),(NULL, '4E')
+
+query T rowsort
+select case t0.c1 = any(select 2 from t1) when false then 'a' when true then 
'b' end from t0
+----
+
+
+statement ok
+ROLLBACK
+
 query I rowsort
 select case 3 <> any(select 4) when true then 2 when false then 8 end;
 ----
diff --git a/sql/test/SQLancer/Tests/sqlancer11.test 
b/sql/test/SQLancer/Tests/sqlancer11.test
--- a/sql/test/SQLancer/Tests/sqlancer11.test
+++ b/sql/test/SQLancer/Tests/sqlancer11.test
@@ -118,14 +118,14 @@ INSERT INTO "t2" VALUES (4, 0, 6, NULL),
 (0.39272912837466945, 8, NULL, NULL),(NULL, NULL, 4, NULL),(2, 0, 6, 
NULL),(-1596101049, 0, 6, NULL),(-1951243968, 0, 6, NULL),(NULL, 0, 6, NULL),
 (NULL, 0, 6, NULL),(NULL, 0, 6, NULL),(NULL, 0, 6, NULL)
 
-query I rowsort
+query T rowsort
 SELECT 4 = ANY(SELECT t2.c2 FROM t2) FROM t0
 ----
-1
-1
-1
-1
-1
+True
+True
+True
+True
+True
 
 statement ok
 ROLLBACK
@@ -158,12 +158,12 @@ NULL
 NULL
 NULL
 
-query I rowsort
+query T rowsort
 SELECT FALSE BETWEEN t0.c3 = ANY(SELECT t0.c0 FROM t0 WHERE t0.c1) AND TRUE 
FROM t2, t0
 ----
-1
-1
-1
+True
+True
+True
 
 statement ok
 ROLLBACK
@@ -212,33 +212,33 @@ F4BECB7E
 F4BECB7E
 F4BECB7E
 
-query I rowsort
+query T rowsort
 SELECT 4 NOT IN (6, 1.7976931348623157E308, 0) FROM t1, t0
 ----
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
 
 statement ok
 ROLLBACK
@@ -263,16 +263,16 @@ cTR' Abp
 cTR' Abp
 cTR' Abp
 
-query I rowsort
+query T rowsort
 SELECT CASE 3 WHEN ((SELECT 0.48) INTERSECT DISTINCT (SELECT -1.2)) THEN FALSE 
ELSE TRUE END FROM t1
 ----
-1
-1
-1
-1
-1
-1
-1
+True
+True
+True
+True
+True
+True
+True
 
 statement ok
 ROLLBACK
@@ -387,102 +387,102 @@ 9
 9
 9
 
-query I rowsort
+query T rowsort
 SELECT (EXISTS (SELECT 1)) OR greatest(TRUE, FALSE) FROM t1 FULL OUTER JOIN 
(SELECT 3.3 FROM t2) AS sub0 ON true
 ----
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
+True
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to