Changeset: afd198f708a4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=afd198f708a4
Modified Files:
        sql/backends/monet5/rel_bin.c
Branch: subjoin
Log Message:

don't handle tid columns special

for now disable push down of selection vectors into projection/map
operators


diffs (42 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -442,8 +442,10 @@ exp_bin(backend *be, sql_exp *e, stmt *l
                                        nrcols = es->nrcols;
                                list_append(l,es);
                        }
+                       /* TODO fix calc functions with selection vector 
                        if (sel && strcmp(sql_func_mod(f->func), "calc") == 0 
&& nrcols && strcmp(sql_func_imp(f->func), "ifthenelse") != 0)
                                list_append(l,sel);
+                               */
                }
                /*
                if (strcmp(f->func->base.name, "identity") == 0) 
@@ -660,15 +662,8 @@ exp_bin(backend *be, sql_exp *e, stmt *l
                }
                if (swapped || !right)
                        r = exp_bin(be, re, left, NULL, grp, ext, cnt, sel, 
NULL);
-               else {
-                       sql_exp *re = e->r;
-
-                       if (rsel && re->type == e_column && strcmp(re->r, TID) 
== 0) {
-                               r = rsel;
-                               rsel = NULL;
-                       } else
-                               r = exp_bin(be, re, right, NULL, grp, ext, cnt, 
rsel, NULL);
-               }
+               else
+                       r = exp_bin(be, re, right, NULL, grp, ext, cnt, rsel, 
NULL);
                if (!r && !swapped) {
                        r = exp_bin(be, re, left, NULL, grp, ext, cnt, sel, 
NULL);
                        is_select = 1;
@@ -1805,7 +1800,8 @@ rel2bin_join(backend *be, sql_rel *rel, 
                                }
                        }
 
-                       s = exp_bin(be, e, left, right, NULL, NULL, NULL, lsel, 
rsel);
+                       if (!s)
+                               s = exp_bin(be, e, left, right, NULL, NULL, 
NULL, lsel, rsel);
                        if (!s) {
                                assert(0);
                                return NULL;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to