Changeset: c35a7c762da2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c35a7c762da2
Modified Files:
sql/server/rel_unnest.c
Branch: linear-hashing
Log Message:
Apply optimizations to semi-joins
diffs (30 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
@@ -1640,7 +1640,7 @@ rewrite_simplify(mvc *sql, sql_rel *rel)
if (!rel)
return rel;
- if ((is_select(rel->op) || is_join(rel->op)) && !list_empty(rel->exps))
+ if ((is_select(rel->op) || is_join(rel->op) || is_semi(rel->op)) &&
!list_empty(rel->exps))
rel->exps = exps_simplify_exp(sql, rel->exps);
return rel;
}
@@ -1773,7 +1773,7 @@ rewrite_aggregates(mvc *sql, sql_rel *re
static sql_rel *
rewrite_or_exp(mvc *sql, sql_rel *rel)
{
- if ((is_select(rel->op) || is_join(rel->op)) && !list_empty(rel->exps))
{
+ if ((is_select(rel->op) || is_join(rel->op) || is_semi(rel->op)) &&
!list_empty(rel->exps)) {
for(node *n=rel->exps->h; n; n=n->next) {
sql_exp *e = n->data;
@@ -2561,7 +2561,7 @@ rewrite_compare_exps(mvc *sql, list *exp
static sql_rel *
rewrite_compare_exp(mvc *sql, sql_rel *rel)
{
- if ((is_select(rel->op) || is_join(rel->op)) && !list_empty(rel->exps))
+ if ((is_select(rel->op) || is_join(rel->op) || is_semi(rel->op)) &&
!list_empty(rel->exps))
rel->exps = rewrite_compare_exps(sql, rel->exps);
return rel;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list