Changeset: 861fc3b4f493 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=861fc3b4f493
Modified Files:
        sql/server/rel_exp.c
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out
Branch: Apr2019
Log Message:

fix for exp is null


diffs (54 lines):

diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c
--- a/sql/server/rel_exp.c
+++ b/sql/server/rel_exp.c
@@ -1427,9 +1427,10 @@ exp_is_null(mvc *sql, sql_exp *e )
                node *n;
                list *l = e->l;
 
-               if (!r && l)
+               if (!r && l && list_length(l) == 2) {
                        for (n = l->h; n && !r; n = n->next) 
                                r |= exp_is_null(sql, n->data);
+               }
                return r;
        }
        case e_column:
diff --git 
a/sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out
 
b/sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out
--- 
a/sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out
+++ 
b/sql/test/BugTracker-2017/Tests/sqlitelogictest-cast-decimal.Bug-6445.stable.out
@@ -31,7 +31,7 @@ Ready.
 % real # type
 % 15 # length
 #SELECT col0 + - - CAST( NULL AS DECIMAL ) - + col0 + + col1 FROM tab1 cor0 
WHERE ( NULL ) IS NOT NULL;
-% .L3 # table_name
+% sys.L3 # table_name
 % L3 # name
 % decimal # type
 % 20 # length
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out
--- 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-add.Bug-6630.stable.out
@@ -74,7 +74,7 @@ Ready.
 [ NULL ]
 #SELECT ALL CAST ( col1 / - - ( + CAST ( NULL AS INTEGER ) ) AS BIGINT ) col0,
 #           CAST ( 39 + + + CAST ( NULL AS INTEGER ) + + - 10 + col1 / - col0 
AS BIGINT ) AS col1 FROM tab2;
-% .L4, .L10 # table_name
+% sys.L4,      .L10 # table_name
 % col0,        col1 # name
 % bigint,      bigint # type
 % 1,   1 # length
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out
--- 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out
@@ -35,6 +35,11 @@ Ready.
 [ 4316 ]
 [ 1352 ]
 [ 2236 ]
+#SELECT col2 FROM tab0 AS cor0 WHERE NOT 49 + + col1 IS NULL GROUP BY col2, 
col1 HAVING NOT ( COUNT ( * ) ) BETWEEN + 76 - - col2 AND - CASE NULLIF ( - 39, 
CAST ( - col1 AS INTEGER ) ) WHEN + 67 * - 30 THEN CAST ( 1 AS INTEGER ) + + 
COUNT ( * ) * col2 ELSE NULL END; --79, 38, 24
+% sys.cor0 # table_name
+% col2 # name
+% int # type
+% 1 # length
 #DROP TABLE tab0;
 
 # 16:15:04 >  
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to