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