Changeset: 75a63a88c64b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=75a63a88c64b Modified Files: sql/server/rel_distribute.c Branch: Oct2014 Log Message:
make sure we use the remote table if the default replica is remote. diffs (45 lines): diff --git a/sql/server/rel_distribute.c b/sql/server/rel_distribute.c --- a/sql/server/rel_distribute.c +++ b/sql/server/rel_distribute.c @@ -84,7 +84,7 @@ has_remote_or_replica( sql_rel *rel ) } static sql_rel * -rewrite_replica( mvc *sql, sql_rel *rel, sql_table *t, sql_table *p) +rewrite_replica( mvc *sql, sql_rel *rel, sql_table *t, sql_table *p, int remote_prop) { node *n, *m; sql_rel *r = rel_basetable(sql, p, t->base.name); @@ -96,6 +96,14 @@ rewrite_replica( mvc *sql, sql_rel *rel, exp_setname(sql->sa, ne, e->rname, e->name); } rel_destroy(rel); + + /* set_remote() */ + if (remote_prop && p && isRemote(p)) { + char *uri = p->query; + prop *p = r->p = prop_create(sql->sa, PROP_REMOTE, r->p); + + p->value = uri; + } return r; } @@ -130,7 +138,7 @@ replica(mvc *sql, sql_rel *rel, char *ur sql_table *p = n->data; if (isRemote(p) && strcmp(uri, p->query) == 0) { - rel = rewrite_replica(sql, rel, t, p); + rel = rewrite_replica(sql, rel, t, p, 0); break; } } @@ -139,7 +147,7 @@ replica(mvc *sql, sql_rel *rel, char *ur if (t->tables.set) { p = t->tables.set->h->data; - rel = rewrite_replica(sql, rel, t, p); + rel = rewrite_replica(sql, rel, t, p, 1); } else { rel = NULL; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list