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