Changeset: 98cdca21a670 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=98cdca21a670
Modified Files:
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
Branch: Jul2015
Log Message:

fix bug 3890, ie incorrect rewrite of rank over expressions. 'Should not be 
propagated to the default branch'


diffs (24 lines):

diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c
--- a/sql/server/rel_exp.c
+++ b/sql/server/rel_exp.c
@@ -1292,6 +1292,8 @@ exp_unsafe( sql_exp *e)
                                return 1;                       
                }
        }
+       if (e->type == e_func && e->r)  /* rank and friends are unsafe */
+               return 1;                       
        return 0;
 }
 
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
@@ -1967,6 +1967,8 @@ exp_push_down_prj(mvc *sql, sql_exp *e, 
                list *l = e->l, *nl = NULL;
                sql_exp *ne = NULL;
 
+               if (e->type == e_func && exp_unsafe(e))
+                       return NULL;
                if (!l) {
                        return e;
                } else {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to