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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list