Changeset: 9c70a71d23f7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/9c70a71d23f7
Added Files:
        sql/test/BugTracker-2025/Tests/7722-recusive-cte-with-error-crash.test
Modified Files:
        sql/server/rel_select.c
        sql/test/BugTracker-2025/Tests/All
Branch: default
Log Message:

add missing check for error is nested (recusive) subqueries,
solves issue #7722


diffs (29 lines):

diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -373,6 +373,8 @@ rel_with_query(sql_query *query, symbol 
                                nrel = rel_setop_n_ary(sql->sa, 
append(append(sa_list(sql->sa), base_rel), nrel), op_munion);
                                set_recursive(nrel);
                        }
+                       if (!nrel)
+                               return NULL;
                        if (recursive_distinct)
                                set_distinct(nrel);
                        rel_setop_n_ary_set_exps(sql, nrel, 
rel_projections(sql, nrel, NULL, 0, 1), false);
diff --git 
a/sql/test/BugTracker-2025/Tests/7722-recusive-cte-with-error-crash.test 
b/sql/test/BugTracker-2025/Tests/7722-recusive-cte-with-error-crash.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2025/Tests/7722-recusive-cte-with-error-crash.test
@@ -0,0 +1,2 @@
+statement error
+SELECT ( WITH RECURSIVE x AS ( SELECT 1 UNION SELECT str_to_date ( 'int' , 
'X2014-10-25 UTC' ) ) SELECT ( 3 ) )
diff --git a/sql/test/BugTracker-2025/Tests/All 
b/sql/test/BugTracker-2025/Tests/All
--- a/sql/test/BugTracker-2025/Tests/All
+++ b/sql/test/BugTracker-2025/Tests/All
@@ -65,5 +65,6 @@ 7717-check-with-window
 7718-crash
 7719-crash-in-complex-query
 7720-coalesce
+7722-recusive-cte-with-error-crash
 7730-generate-series-month-int
 7732-table-exp-issue
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to