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]

Reply via email to