Changeset: 7bce53b1563f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7bce53b1563f
Modified Files:
sql/server/rel_select.c
sql/test/analytics/Tests/analytics09.sql
sql/test/analytics/Tests/analytics09.stable.out
Branch: default
Log Message:
Add order by expressions to just created group by relation re-write.
diffs (50 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
@@ -4864,12 +4864,19 @@ rel_rankop(mvc *sql, sql_rel **rel, symb
}
if (!obe)
return NULL;
+
if (p->op == op_groupby) {
sql_rel *npp = pp;
pp = p;
p = rel_project(sql->sa, npp, rel_projections(sql, npp,
NULL, 1, 0));
}
+
+ for(n = obe->h ; n ; n = n->next) {
+ sql_exp *en = n->data;
+
+ n->data = opt_groupby_add_exp(sql, p, pp, en);
+ }
if (p->r) {
p->r = list_merge(sa_list(sql->sa), p->r, (fdup)NULL);
/* make sure the p->r is a different list than the gbe list */
for(n = obe->h ; n ; n = n->next) {
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
@@ -85,6 +85,6 @@ select rank() over (order by sum(aa), bb
select min(aa) over (order by sum(bb)) from analytics; --error
---select dense_rank() over (partition by sum(aa) order by avg(bb)) from
analytics; TODO
+select dense_rank() over (partition by sum(aa) order by avg(bb)) from
analytics;
drop table analytics;
diff --git a/sql/test/analytics/Tests/analytics09.stable.out
b/sql/test/analytics/Tests/analytics09.stable.out
--- a/sql/test/analytics/Tests/analytics09.stable.out
+++ b/sql/test/analytics/Tests/analytics09.stable.out
@@ -289,6 +289,12 @@ Ready.
% int # type
% 1 # length
[ 1 ]
+#select dense_rank() over (partition by sum(aa) order by avg(bb)) from
analytics;
+% sys.L6 # table_name
+% L6 # name
+% int # type
+% 1 # length
+[ 1 ]
#drop table analytics;
# 13:13:17 >
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list