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

handling selctions on non-dimensional columns by adding mbr selections to the 
dimensional columns


diffs (41 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
@@ -2556,7 +2556,15 @@ static stmt* find_before_uselect(stmt *s
  * before the selections over non-dimensions */
 static int pushDimensionSelections(stmt **s) {
        int changes = 0;
-       stmt *nextS = (*s)->op3;
+       stmt *nextS = NULL;
+       
+       while((*s)->type == st_mbrselect) { //st_mbrselects are always be in 
the beginning
+               //skip them
+               *s = (*s)->op3;
+       }
+       nextS = (*s)->op3;
+
+
        if(nextS && nextS->op1) {
                //the current is but the next is not
                if((*s)->op1->type == st_dimension && nextS->op1->type != 
st_dimension) {
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -5345,7 +5345,7 @@ rel_remove_internal_exp(sql_rel *rel)
        }
 }
 
-#if 0
+#if 1
 static bool isColumn(sql_exp* exp) {
        if(exp->type == e_cmp && ((sql_exp*)exp->l)->type == e_column)
                return true;
@@ -5376,7 +5376,7 @@ rel_select_exp(mvc *sql, sql_rel *rel, S
                                return sql_error(sql, 02, "Subquery result 
missing");
                        return NULL;
                }
-#if 0
+#if 1
                if(rel->op == op_basetable) {
                        sql_table *t = (sql_table*)rel->l;
                        if(isArray(t)) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to