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

small fix in count_jk optimizer


diffs (26 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
@@ -1876,6 +1876,11 @@ rel_simplify_count_fk_join(mvc *sql, sql
        if (oce->l) /* we only handle COUNT(*) */
                return r;
 
+       /* primary side must be a full table */
+       if ((fk_left && (!is_left(r->op) && !is_full(r->op)) && 
!is_basetable(rr->op)) ||
+           (!fk_left && (!is_right(r->op) && !is_full(r->op)) && 
!is_basetable(rl->op)))
+               return r;
+
        if (fk_left && is_join(rl->op) && !rel_is_ref(rl)) {
                rl = rel_simplify_count_fk_join(sql, rl, gexps, changes);
                r->l = rl;
@@ -1884,10 +1889,6 @@ rel_simplify_count_fk_join(mvc *sql, sql
                rr = rel_simplify_count_fk_join(sql, rr, gexps, changes);
                r->r = rr;
        }
-       /* primary side must be a full table */
-       if ((fk_left && (!is_left(r->op) && !is_full(r->op)) && 
!is_basetable(rr->op)) ||
-           (!fk_left && (!is_right(r->op) && !is_full(r->op)) && 
!is_basetable(rl->op)))
-               return r;
 
        (*changes)++;
        /* rewrite, ie remove pkey side */
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to