Changeset: 695d8f13fee2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/695d8f13fee2
Modified Files:
sql/server/rel_optimize_proj.c
sql/test/rel-optimizers/Tests/const-aggr-elim.test
Branch: const_aggr_elim
Log Message:
added new test case
diffs (45 lines):
diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c
--- a/sql/server/rel_optimize_proj.c
+++ b/sql/server/rel_optimize_proj.c
@@ -3037,6 +3037,8 @@ rel_const_aggr_elimination(visitor *v, s
{
sql_exp *e = n->data;
+ // SELECT 1 + avg(3), avg(3) * 10 FROM baz
GROUP BY b;
+
// Check aggr type! exp_aggr_is_count(e)
// only average for now!
if(e->type == e_aggr &&
diff --git a/sql/test/rel-optimizers/Tests/const-aggr-elim.test
b/sql/test/rel-optimizers/Tests/const-aggr-elim.test
--- a/sql/test/rel-optimizers/Tests/const-aggr-elim.test
+++ b/sql/test/rel-optimizers/Tests/const-aggr-elim.test
@@ -55,6 +55,29 @@ NULL
NULL
query II rowsort
+SELECT 1 + avg(3), avg(3) * 10 FROM baz GROUP BY b
+----
+4
+30
+4
+30
+4
+30
+4
+30
+
+query T nosort
+PLAN SELECT 1 + avg(3), avg(3) * 10 FROM baz GROUP BY b
+----
+project (
+| project (
+| | group by (
+| | | table("sys"."baz") [ "baz"."b" NOT NULL ]
+| | ) [ "baz"."b" NOT NULL ] [ "baz"."b" NOT NULL ]
+| ) [ tinyint(2) "3" as "%1"."%1" ]
+) [ "sys"."sql_add"("%1"."%1" NOT NULL, double(53) "1") NOT NULL,
"sys"."sql_mul"("%1"."%1" NOT NULL, double(53) "10") NOT NULL ]
+
+query II rowsort
SELECT avg(3), avg(b) FROM baz GROUP BY b
----
3
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]