Changeset: ab5e2572bd29 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/ab5e2572bd29 Branch: dict Log Message:
merged with default diffs (182 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -9810,6 +9810,7 @@ need_optimization(mvc *sql, sql_rel *rel { if (rel && rel->card <= CARD_ATOM) { if (is_insert(rel->op)) { + int opt = 0; sql_rel *l = (sql_rel *) rel->l; if (is_basetable(l->op)) { @@ -9820,9 +9821,9 @@ need_optimization(mvc *sql, sql_rel *rel assert(!isRemote(t) && !isReplicaTable(t)); /* If the plan has a merge table or a child of a partitioned one, then optimization cannot be skipped */ if (isMergeTable(t) || (t->s && t->s->parts && (pt = partition_find_part(sql->session->tr, t, NULL)))) - return 1; - } - return rel->r ? need_optimization(sql, rel->r) : 0; + opt = 1; + } + return rel->r ? MAX(need_optimization(sql, rel->r), opt) : opt; } if (is_simple_project(rel->op)) return rel->l ? need_optimization(sql, rel->l) : 0; diff --git a/sql/test/SQLancer/Tests/sqlancer18.test b/sql/test/SQLancer/Tests/sqlancer18.test --- a/sql/test/SQLancer/Tests/sqlancer18.test +++ b/sql/test/SQLancer/Tests/sqlancer18.test @@ -348,6 +348,154 @@ select greatest(1, (select (select vy.vc statement ok DROP VIEW vy +statement error 42000!SELECT: subquery uses ungrouped column "vz.c0" from outer query +SELECT 1 FROM (select 0,1) vz(c0,c1) GROUP BY c1 HAVING sum(1) < ANY(SELECT vz.c0 FROM t1) + statement ok DROP TABLE t1 +statement ok +START TRANSACTION + +statement ok +CREATE TABLE "t1" ("c0" INTERVAL MONTH) + +statement ok rowcount 128 +COPY 128 RECORDS INTO "t1" FROM stdin USING DELIMITERS E'\t',E'\n','"' +<COPY_INTO_DATA> +13 +3 +7 +9 +1 +NULL +3 +5 +1 +8 +5 +0 +6 +5 +1 +7 +3 +1 +4 +4 +13 +NULL +9 +NULL +7 +6 +0 +5 +3 +0 +8 +9 +0 +5 +4 +NULL +9 +2 +6 +1 +7 +6 +9 +2 +5 +0 +1 +5 +-4 +3 +9 +6 +-4 +3 +5 +7 +8 +7 +1 +-13 +-3 +-7 +-9 +-1 +NULL +-3 +-5 +-1 +-8 +-5 +0 +-6 +-5 +-1 +-7 +-3 +-1 +-4 +-4 +-13 +NULL +-9 +NULL +-7 +-6 +0 +-5 +-3 +0 +-8 +-9 +0 +-5 +-4 +NULL +-9 +-2 +-6 +-1 +-7 +-6 +-9 +-2 +-5 +0 +-1 +-5 +4 +-3 +-9 +-6 +4 +-3 +-5 +-7 +-8 +-7 +-1 +3 +8 +5 +1 +5 +0 +5 +7 +0 +3 + +query I nosort +SELECT SUM(1) FROM t1, t1 as t2 +---- +16384 + +statement ok +ROLLBACK _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list