Changeset: 925a88ed2378 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/925a88ed2378
Modified Files:
        sql/server/rel_unnest.c
        sql/test/subquery/Tests/subquery6.test
Branch: default
Log Message:

Removed old code no longer needed to rewrite psm expressions


diffs (58 lines):

diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c
--- a/sql/server/rel_unnest.c
+++ b/sql/server/rel_unnest.c
@@ -1783,20 +1783,7 @@ rewrite_inner(mvc *sql, sql_rel *rel, sq
 static sql_exp *
 rewrite_exp_rel(visitor *v, sql_rel *rel, sql_exp *e, int depth)
 {
-       if (exp_is_rel(e) && is_ddl(rel->op) && rel->flag == ddl_psm) {
-               sql_rel *inner = exp_rel_get_rel(v->sql->sa, e);
-               if (is_single(inner)) {
-                       /* use a dummy projection for the single join */
-                       sql_rel *nrel = rel_project_exp(v->sql, 
exp_atom_bool(v->sql->sa, 1));
-
-                       if (!rewrite_inner(v->sql, nrel, inner, 
depth?op_left:op_join, NULL))
-                               return NULL;
-                       /* has to apply recursively */
-                       if (!(e->l = rel_exp_visitor_bottomup(v, nrel, 
&rewrite_exp_rel, true)))
-                               return NULL;
-                       v->changes++;
-               }
-       } else if (exp_has_rel(e) && !is_ddl(rel->op)) {
+       if (exp_has_rel(e) && !is_ddl(rel->op)) {
                sql_rel *rewrite = NULL;
                sql_exp *ne = rewrite_inner(v->sql, rel, 
exp_rel_get_rel(v->sql->sa, e), depth?op_left:op_join, &rewrite);
 
diff --git a/sql/test/subquery/Tests/subquery6.test 
b/sql/test/subquery/Tests/subquery6.test
--- a/sql/test/subquery/Tests/subquery6.test
+++ b/sql/test/subquery/Tests/subquery6.test
@@ -267,7 +267,7 @@ BEGIN
        RETURN n;
 END
 
-statement error GDK reported error: BATsubcross: more than one match
+statement error 21000!Cardinality violation, scalar value expected
 SELECT debugme4()
 
 statement ok
@@ -305,6 +305,20 @@ NULL
 statement ok
 DROP FUNCTION debugme6
 
+statement ok
+CREATE FUNCTION debugme7() RETURNS INT
+BEGIN
+       DECLARE res INT;
+       SET res = 1 > (select 9 union all select 10);
+       RETURN res;
+END
+
+statement error 21000!Cardinality violation, scalar value expected
+SELECT debugme7()
+
+statement ok
+DROP FUNCTION debugme7
+
 query II rowsort
 select rank() over (), min(TotalSales) from tbl_ProductSales
 ----
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to