Changeset: a7085891fd87 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a7085891fd87
Modified Files:
monetdb5/modules/mal/Tests/remote04.malC
monetdb5/modules/mal/Tests/remote04.stable.out
monetdb5/modules/mal/Tests/remote12.malC
monetdb5/modules/mal/Tests/remote12.stable.err
monetdb5/modules/mal/Tests/remote12.stable.out
monetdb5/modules/mal/Tests/remote13.malC
monetdb5/modules/mal/remote.c
Branch: default
Log Message:
MAL remote accepts sending nil-bats
Receiving the nil-bats is not yet supported.
diffs (116 lines):
diff --git a/monetdb5/modules/mal/Tests/remote04.malC
b/monetdb5/modules/mal/Tests/remote04.malC
--- a/monetdb5/modules/mal/Tests/remote04.malC
+++ b/monetdb5/modules/mal/Tests/remote04.malC
@@ -10,7 +10,7 @@ bat.append(b, "foo");
bat.append(b, "bar");
bat.append(b, "baz");
-no := nil:bat[:oid];
+no := algebra.select (b,"bar":str,nil:str,true,true,false);
n := remote.put(conn, no);
bo:= bat.new(:oid);
bok := remote.put(conn, bo);
diff --git a/monetdb5/modules/mal/Tests/remote04.stable.out
b/monetdb5/modules/mal/Tests/remote04.stable.out
--- a/monetdb5/modules/mal/Tests/remote04.stable.out
+++ b/monetdb5/modules/mal/Tests/remote04.stable.out
@@ -30,9 +30,9 @@ Ready.
# 09:46:22 >
[ "mTests_monetdb5_modules_mal_monetdb_0" ]
-[ "rmt1_b_bat_str" ]
-[ "rmt2_X_12_str" ]
-[ "rmt3_X_8_str" ]
+[ "rmt2_b_bat_str" ]
+[ "rmt3_X_12_str" ]
+[ "rmt4_X_8_str" ]
#--------------------------#
# h t # name
# void oid # type
diff --git a/monetdb5/modules/mal/Tests/remote12.malC
b/monetdb5/modules/mal/Tests/remote12.malC
--- a/monetdb5/modules/mal/Tests/remote12.malC
+++ b/monetdb5/modules/mal/Tests/remote12.malC
@@ -4,6 +4,7 @@ conn:str := remote.connect(uri, "monetdb
e := nil:bat[:int];
m:str := remote.put(conn, e);
io.print(m);
-v:bat[:int] := remote.get(conn,m);
-io.print(v);
-mdb.var();
+# retrieval of nil bats require an API change
+#v:bat[:int] := remote.get(conn,m);
+#io.print(v);
+#mdb.var();
diff --git a/monetdb5/modules/mal/Tests/remote12.stable.err
b/monetdb5/modules/mal/Tests/remote12.stable.err
--- a/monetdb5/modules/mal/Tests/remote12.stable.err
+++ b/monetdb5/modules/mal/Tests/remote12.stable.err
@@ -32,17 +32,6 @@ stderr of test 'remote12` in directory '
# 09:46:27 > "mclient" "-lmal" "-ftest" "-Eutf-8"
"--host=/var/tmp/mtest-26774" "--port=35410"
# 09:46:27 >
-MAPI = (monetdb) /var/tmp/mtest-26774/.s.monetdb.35410
-QUERY = #causing a segfault
- uri := sabaoth.getLocalConnectionURI();
- conn:str := remote.connect(uri, "monetdb", "monetdb");
- e := nil:bat[:int];
- m:str := remote.put(conn, e);
- io.print(m);
- v:bat[:int] := remote.get(conn,m);
- io.print(v);
- mdb.var();
-ERROR = !MALException:remote.put:Object not found
# 20:06:20 >
# 20:06:20 > Done.
diff --git a/monetdb5/modules/mal/Tests/remote12.stable.out
b/monetdb5/modules/mal/Tests/remote12.stable.out
--- a/monetdb5/modules/mal/Tests/remote12.stable.out
+++ b/monetdb5/modules/mal/Tests/remote12.stable.out
@@ -21,6 +21,7 @@ stdout of test 'remote12` in directory '
Ready.
+[ "rmt0_e_bat_int" ]
# 20:06:20 >
# 20:06:20 > Done.
diff --git a/monetdb5/modules/mal/Tests/remote13.malC
b/monetdb5/modules/mal/Tests/remote13.malC
--- a/monetdb5/modules/mal/Tests/remote13.malC
+++ b/monetdb5/modules/mal/Tests/remote13.malC
@@ -10,8 +10,9 @@ io.print(j);
no := nil:bat[:oid];
n := remote.put(conn, no);
-k:bat[:oid] := remote.get(conn, n);
-io.print(k);
+# retrieval of nil bat requires an MAPI change.
+#k:bat[:oid] := remote.get(conn, n);
+#io.print(k);
# help testweb a bit, since currently no cleanup is done on server
# shutdown
diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c
--- a/monetdb5/modules/mal/remote.c
+++ b/monetdb5/modules/mal/remote.c
@@ -697,7 +697,7 @@ str RMTput(Client cntxt, MalBlkPtr mb, M
msg = createException(MAL, "remote.put", "unsupported type:
%s", tpe);
GDKfree(tpe);
return msg;
- } else if (isaBatType(type) && *(bat*) value != 0) {
+ } else if (isaBatType(type) && *(bat*) value != 0 && *(bat*) value !=
int_nil) {
BATiter bi;
/* naive approach using bat.new() and bat.insert() calls */
char *tail;
@@ -759,6 +759,14 @@ str RMTput(Client cntxt, MalBlkPtr mb, M
return tmp;
}
mapi_close_handle(mhdl);
+ } else if (isaBatType(type) && *(bat*) value == int_nil) {
+ stream *sout;
+ str typename = getTypeName(type);
+ sout = mapi_get_to(c->mconn);
+ mnstr_printf(sout,
+ "%s := nil:%s;\n", ident, typename);
+ mnstr_flush(sout);
+ GDKfree(typename);
} else {
int l = 0;
str val = NULL;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list