Changeset: f650d7ed41a4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f650d7ed41a4
Modified Files:
sql/server/rel_select.c
sql/test/BugTracker-2026/Tests/7844_rel_aggr-crash.test
sql/test/BugTracker-2026/Tests/All
Branch: Dec2025
Log Message:
Fix #7844 by adding check on valid groupby pointer in _rel_aggr().
diffs (33 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
@@ -3654,7 +3654,7 @@ _rel_aggr(sql_query *query, sql_rel **re
if (GDKtoupper(ta, &uaname, &(size_t){0}, aname) !=
GDK_SUCCEED)
uaname = aname;
return sql_error(sql, 02, SQLSTATE(42000) "%s:
aggregate functions not allowed in functions in FROM", uaname);
- } else if (is_sql_aggr(f) && groupby->grouped) {
+ } else if (is_sql_aggr(f) && groupby && groupby->grouped) {
if (GDKtoupper(ta, &uaname, &(size_t){0}, aname) !=
GDK_SUCCEED)
uaname = aname;
return sql_error(sql, 02, SQLSTATE(42000) "%s:
aggregate functions cannot be nested", uaname);
diff --git a/sql/test/BugTracker-2026/Tests/7844_rel_aggr-crash.test
b/sql/test/BugTracker-2026/Tests/7844_rel_aggr-crash.test
--- a/sql/test/BugTracker-2026/Tests/7844_rel_aggr-crash.test
+++ b/sql/test/BugTracker-2026/Tests/7844_rel_aggr-crash.test
@@ -33,7 +33,7 @@ SELECT ( 'txs' , 2 , -1.100000 , NULLIF
-- Segmentation fault in _rel_aggr (query=0x7f498c1ac090, rel=0x7f49c0a33d08,
distinct=0, sname=0x0, aname=0x7f498c1a8190 "count", args=0x0, orderby=0x0,
f=16580) at sql/server/rel_select.c:3657
-- 3657 } else if (is_sql_aggr(f) && groupby->grouped) {
-statement error 42000!SELECT: identifier 'x' unknown
+statement error 42000!COUNT: aggregate functions not allowed on an unique value
SELECT ( 'txs' , 2 , -1.100000 , NULLIF ( 0 , COUNT ( CASE WHEN COUNT ( * ) >=
5 THEN MAX ( CASE WHEN x = 5 THEN x END ) END ) ) ) , ( SUBSTR ( - 41 , - 14 %
- CASE - - 1 WHEN - - 82 THEN - - 'profiler' END / 46 - - 87 * 52 ) , 4 , 0 ,
'a' ) , ( 'txxxxt' , 2 , 4 , 'es' )
query TT
diff --git a/sql/test/BugTracker-2026/Tests/All
b/sql/test/BugTracker-2026/Tests/All
--- a/sql/test/BugTracker-2026/Tests/All
+++ b/sql/test/BugTracker-2026/Tests/All
@@ -46,4 +46,4 @@ KNOWNFAIL?7833-assertion-failure
7841-BATsubcross-more-than-one-match
7842-crash
KNOWNFAIL?7843-assertion-failure
-KNOWNFAIL?7844_rel_aggr-crash
+7844_rel_aggr-crash
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]