Changeset: 6c003427f7c6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6c003427f7c6
Modified Files:
clients/mapilib/mapi.c
sql/server/rel_bin.c
Branch: default
Log Message:
Merged from Apr2012
diffs (63 lines):
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -1036,6 +1036,7 @@ static int mapi_slice_row(struct MapiRes
static void mapi_store_bind(struct MapiResultSet *result, int cr);
static void parse_uri_query(Mapi mid, char *uri);
static void set_uri(Mapi mid);
+static MapiMsg connect_to_server(Mapi mid);
static int mapi_initialized = 0;
@@ -2047,10 +2048,11 @@ mapi_mapi(const char *host, int port, co
tmid = mapi_mapi("/tmp",
socks[i], "mero", "mero",
lang, dbname);
tmid->redirmax = 0;
- if (mapi_reconnect(tmid) == MOK
||
-
*tmid->redirects != NULL ||
- (tmid->errorstr
!= NULL &&
-
strstr(tmid->errorstr, "under maintenance") != NULL))
+ if (connect_to_server(tmid) ==
MOK &&
+
(mapi_start_talking(tmid) == MOK ||
+
*tmid->redirects != NULL ||
+
(tmid->errorstr != NULL &&
+
strstr(tmid->errorstr, "under maintenance") != NULL)))
{
host = buf;
port = socks[i];
@@ -2070,10 +2072,11 @@ mapi_mapi(const char *host, int port, co
tmid = mapi_mapi("/tmp",
socks[i], "mero", "mero",
lang, dbname);
tmid->redirmax = 0;
- if (mapi_reconnect(tmid) == MOK
||
-
*tmid->redirects != NULL ||
- (tmid->errorstr
!= NULL &&
-
strstr(tmid->errorstr, "under maintenance") != NULL))
+ if (connect_to_server(tmid) ==
MOK &&
+
(mapi_start_talking(tmid) == MOK ||
+
*tmid->redirects != NULL ||
+
(tmid->errorstr != NULL &&
+
strstr(tmid->errorstr, "under maintenance") != NULL)))
{
host = buf;
port = socks[i];
diff --git a/sql/server/rel_bin.c b/sql/server/rel_bin.c
--- a/sql/server/rel_bin.c
+++ b/sql/server/rel_bin.c
@@ -322,12 +322,14 @@ exp_list( mvc *sql, list *exps, stmt *l,
node *n;
list *nl = sa_list(sql->sa);
- /* create bat append values */
for( n = exps->h; n; n = n->next) {
sql_exp *e = n->data;
stmt *i = exp_bin(sql, e, l, r, grp, sel);
- append(nl, i);
+ if (n->next && i && i->type == st_table) /* relational
statement */
+ l = i->op1;
+ else
+ append(nl, i);
}
return stmt_list(sql->sa, nl);
}
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list