Changeset: ac2352f13550 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ac2352f13550
Modified Files:
sql/server/rel_select.c
sql/test/analytics/Tests/analytics09.sql
Branch: default
Log Message:
Window functions are not allowed inside aggregates
diffs (27 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
@@ -4508,6 +4508,13 @@ rel_rankop(sql_query *query, sql_rel **r
if (uaname)
GDKfree(uaname);
return NULL;
+ } else if (is_sql_aggr(f)) {
+ char *uaname = GDKmalloc(strlen(aname) + 1);
+ (void) sql_error(sql, 02, SQLSTATE(42000) "%s: window functions
not allowed inside aggregates",
+ uaname ? toUpperCopy(uaname,
aname) : aname);
+ if (uaname)
+ GDKfree(uaname);
+ return NULL;
} else if (is_sql_window(f)) {
char *uaname = GDKmalloc(strlen(aname) + 1);
(void) sql_error(sql, 02, SQLSTATE(42000) "%s: window functions
cannot be nested",
diff --git a/sql/test/analytics/Tests/analytics09.sql
b/sql/test/analytics/Tests/analytics09.sql
--- a/sql/test/analytics/Tests/analytics09.sql
+++ b/sql/test/analytics/Tests/analytics09.sql
@@ -115,4 +115,6 @@ select 1 from analytics order by sum(sum
select 1 from analytics having sum(aa) over (); --error, window function not
allowed in having clause
+select sum(avg(aa) over ()) over () from analytics; --error, window functions
inside aggregate
+
drop table analytics;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list