Changeset: c6c91400555f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c6c91400555f
Modified Files:
        sql/server/rel_optimizer.c
Branch: Apr2019
Log Message:

fixed bug 6703, ie only order the dependent referenced subqueries once


diffs (42 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
@@ -6516,7 +6516,7 @@ rel_dependencies(mvc *sql, list *refs)
 static void
 rel_dce_refs(mvc *sql, sql_rel *rel, list *refs) 
 {
-       if (!rel)
+       if (!rel || (rel_is_ref(rel) && list_find(refs, rel, NULL))) 
                return ;
 
        switch(rel->op) {
@@ -6529,6 +6529,7 @@ rel_dce_refs(mvc *sql, sql_rel *rel, lis
 
                if (rel->l && (rel->op != op_table || rel->flag != 2))
                        rel_dce_refs(sql, rel->l, refs);
+               break;
 
        case op_basetable:
        case op_insert:
@@ -6751,7 +6752,7 @@ sql_rel *
 rel_dce(mvc *sql, sql_rel *rel)
 {
        list *refs = sa_list(sql->sa);
-       node *n;
+       //node *n;
 
        if (refs == NULL)
                return NULL;
@@ -6773,12 +6774,6 @@ rel_dce(mvc *sql, sql_rel *rel)
        rel = rel_add_projects(sql, rel);
        rel_used(rel);
        rel_dce_sub(sql, rel, refs);
-
-       if (refs) {
-               refs = rel_dependencies(sql, refs);
-               for (n = refs->h; n; n = n->next)
-                       rel_dce_sub(sql, n->data, refs);
-       }
        return rel;
 }
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to