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