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

Reply via email to