Changeset: c88cced81977 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c88cced81977
Added Files:
sql/test/BugTracker-2024/Tests/7571-crash-orderby.test
Modified Files:
sql/backends/monet5/rel_bin.c
sql/test/BugTracker-2024/Tests/All
Branch: Aug2024
Log Message:
Don't swap if there is no right. Fix #7571.
diffs (30 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -1804,7 +1804,7 @@ exp_bin(backend *be, sql_exp *e, stmt *l
s = NULL;
if (!swapped)
s = exp_bin(be, n->data, left, NULL,
grp, ext, cnt, NULL, depth+1, 0, push);
- if (!s && (first || swapped)) {
+ if (!s && right && (first || swapped)) {
clean_mal_statements(be, oldstop,
oldvtop);
s = exp_bin(be, n->data, right, NULL,
grp, ext, cnt, NULL, depth+1, 0, push);
swapped = 1;
diff --git a/sql/test/BugTracker-2024/Tests/7571-crash-orderby.test
b/sql/test/BugTracker-2024/Tests/7571-crash-orderby.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2024/Tests/7571-crash-orderby.test
@@ -0,0 +1,5 @@
+statement ok
+CREATE TABLE t1(c0 BOOLEAN, c2 VARCHAR(500))
+
+statement ok
+SELECT t1.c2, t1.c0 FROM t1 ORDER BY ((IFNULL('', t1.c0) IS NOT DISTINCT FROM
LEFT('1', t1.c0)) LIKE ('1e500' >> 2)) ASC
diff --git a/sql/test/BugTracker-2024/Tests/All
b/sql/test/BugTracker-2024/Tests/All
--- a/sql/test/BugTracker-2024/Tests/All
+++ b/sql/test/BugTracker-2024/Tests/All
@@ -85,3 +85,4 @@ 7465-fwf-block-boundary-error
7566-connections-refused
7562-interval-overflow
7569-temp-table-column-reuse
+7571-crash-orderby
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]