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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list