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