Changeset: c5d73b855923 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c5d73b855923
Modified Files:
sql/server/rel_select.c
sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
Branch: Dec2023
Log Message:
Fix query 20 from #7390 plus enable test.
diffs (49 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
@@ -3713,6 +3713,9 @@ static sql_exp *
if (is_sql_groupby(f)) {
char *uaname = SA_NEW_ARRAY(sql->ta, char,
strlen(aname) + 1);
return sql_error(sql, 02, SQLSTATE(42000) "%s:
aggregate function '%s' not allowed in GROUP BY clause", toUpperCopy(uaname,
aname), aname);
+ } else if (is_sql_from(f)) {
+ char *uaname = SA_NEW_ARRAY(sql->ta, char,
strlen(aname) + 1);
+ return sql_error(sql, 02, SQLSTATE(42000) "%s:
aggregate functions not allowed in functions in FROM", toUpperCopy(uaname,
aname));
} else if (is_sql_aggr(f) && groupby->grouped) {
char *uaname = SA_NEW_ARRAY(sql->ta, char,
strlen(aname) + 1);
return sql_error(sql, 02, SQLSTATE(42000) "%s:
aggregate functions cannot be nested", toUpperCopy(uaname, aname));
@@ -3725,9 +3728,6 @@ static sql_exp *
} else if (is_sql_where(f)) {
char *uaname = SA_NEW_ARRAY(sql->ta, char,
strlen(aname) + 1);
return sql_error(sql, 02, SQLSTATE(42000) "%s:
aggregate functions not allowed in WHERE clause", toUpperCopy(uaname, aname));
- } else if (is_sql_from(f)) {
- char *uaname = SA_NEW_ARRAY(sql->ta, char,
strlen(aname) + 1);
- return sql_error(sql, 02, SQLSTATE(42000) "%s:
aggregate functions not allowed in functions in FROM", toUpperCopy(uaname,
aname));
} else if (!all_aggr && !list_empty(ungrouped_cols)) {
for (node *n = ungrouped_cols->h ; n ; n = n->next) {
sql_rel *outer;
diff --git a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
--- a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
+++ b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
@@ -277,15 +277,15 @@ UPDATE v0 SET v1 = 59 % v1 WHERE (WITH v
statement ok
DROP TABLE v0
--- -- 20.sql
--- statement ok
--- CREATE TABLE v0(v1 REAL PRIMARY KEY)
+-- 20.sql
+statement ok
+CREATE TABLE v0(v1 REAL PRIMARY KEY)
--- statement ok
--- SELECT (SELECT COUNT(v1) OVER ( ) FROM SUM (STDDEV_POP(MIN ('x')))) AS v2
FROM v0 WHERE v1 = -1
+statement error 42000!MIN: aggregate functions not allowed in functions in FROM
+SELECT (SELECT COUNT(v1) OVER ( ) FROM SUM (STDDEV_POP(MIN ('x')))) AS v2 FROM
v0 WHERE v1 = -1
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
-- 21.sql
statement ok
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]