Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv26122/src/server
Modified Files:
rel_bin.mx
Log Message:
fixed lookup of idx columns
reenabled joinpath optimizer
Index: rel_bin.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/rel_bin.mx,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- rel_bin.mx 27 Jan 2008 15:40:05 -0000 1.29
+++ rel_bin.mx 27 Jan 2008 21:13:06 -0000 1.30
@@ -235,17 +235,19 @@
*/
sql_idx *i = p->value, *ri;
sql_fkey *fk = (sql_fkey*)i->key;
+ sql_exp *el = e->l;
+ sql_exp *er = e->r;
ri = fk->rkey->k.idx;
/* find out left and right */
- l = bin_find_column(left, NULL, i->base.name);
+ l = bin_find_column(left, el->l, i->base.name);
if (!l) {
swapped = 1;
- l = bin_find_column(right, NULL, i->base.name);
- r = bin_find_column(left, NULL, ri->base.name);
+ l = bin_find_column(right, el->l, i->base.name);
+ r = bin_find_column(left, er->l, ri->base.name);
} else {
- r = bin_find_column(right, NULL, ri->base.name);
+ r = bin_find_column(right, er->l,
ri->base.name);
}
if (swapped)
s = stmt_join(r, stmt_reverse(l), cmp_equal);
@@ -344,6 +346,7 @@
for (n = t->idxs.set->h; n; n = n->next) {
sql_idx *i = n->data;
stmt *sc = NULL;
+ char *rnme = (rel->name)?rel->name:t->base.name;
if (i->type == join_idx) {
sc = stmt_idxbat(i, RDONLY);
@@ -352,7 +355,8 @@
sc = stmt_bat(c, stmt_dup(ts), RDONLY);
sc = stmt_mirror(sc);
}
- sc = stmt_alias(sc, NULL, _strdup(i->base.name));
+ rnme = (rnme)?_strdup(rnme):NULL;
+ sc = stmt_alias(sc, rnme, _strdup(i->base.name));
list_append(l, sc);
}
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins