Changeset: 438d9614c8aa for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=438d9614c8aa
Modified Files:
        MonetDB.spec
        debian/control
        monetdb5/modules/mal/Tests/inspect00.stable.out
        monetdb5/modules/mal/remote.c
        tools/merovingian/daemon/Makefile.ag
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (123 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -407,7 +407,7 @@ Recommends: perl-DBD-monetdb >= 1.0
 Recommends: php-monetdb >= 1.0
 %endif
 Requires: %{name}-SQL-server5%{?_isa} = %{version}-%{release}
-Requires: python-pymonetdb >= 1.0
+Requires: python-pymonetdb >= 1.0.6
 
 %description client-tests
 MonetDB is a database management system that is developed from a
@@ -591,6 +591,8 @@ Recommends: MonetDB5-server-hugeint%{?_i
 %endif
 Suggests: %{name}-client%{?_isa} = %{version}-%{release}
 %endif
+# versions up to 1.0.5 don't accept the queryid field in the result set
+Conflicts: python-pymonetdb < 1.0.6
 
 %description -n MonetDB5-server
 MonetDB is a database management system that is developed from a
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -137,7 +137,7 @@ Depends: ${shlibs:Depends}, libmonetdb-c
  monetdb5-server (= ${source:Version}),
  libdbd-monetdb-perl (>= 1.0),
  php-monetdb (>= 1.0),
- python-pymonetdb (>= 1.0),
+ python-pymonetdb (>= 1.0.6),
  monetdb5-sql (= ${source:Version})
 Description: MonetDB client testing tools
  MonetDB is a database management system that is developed from a
@@ -196,6 +196,7 @@ Depends: ${shlibs:Depends}, ${misc:Depen
 Recommends: monetdb5-server-hugeint (= ${source:Version}) [amd64],
  monetdb5-sql (= ${source:Version})
 Suggests: monetdb-client (= ${source:Version})
+Conflicts: python-pymonetdb (<< 1.0.6)
 Description: MonetDB database server version 5
  MonetDB is a database management system that is developed from a
  main-memory perspective with use of a fully decomposed storage model,
diff --git a/monetdb5/modules/mal/Tests/inspect00.stable.out 
b/monetdb5/modules/mal/Tests/inspect00.stable.out
--- a/monetdb5/modules/mal/Tests/inspect00.stable.out
+++ b/monetdb5/modules/mal/Tests/inspect00.stable.out
@@ -45,8 +45,8 @@ stack depth 2
 [ 4@0,   "h",    "<view_stk_trace>"              ]
 [ 5@0,   "t",    "<view_stk_traceB>"             ]
 [ 6@0, "X_2",  "0@0"   ]
-[ 7@0,   "b0",   "<view_stk_frame>"              ]
-[ 8@0,   "b1",   "<view_stk_frameB>"             ]
+[ 7@0, "b0",   "nil"   ]
+[ 8@0, "b1",   "nil"   ]
 [ 9@0, "X_3",  "0"     ]
 [ 10@0,        "X_4",  "0@0"   ]
 [ 11@0,          "c0",   "nil"                           ]
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
@@ -748,31 +748,38 @@ str RMTput(Client cntxt, MalBlkPtr mb, M
                }
                mapi_close_handle(mhdl);
        } else {
+               int l = 0;
                str val = NULL;
                char *tpe;
-               char qbuf[BUFSIZ + 1]; /* FIXME: this should be dynamic */
+               char qbuf[BUFSIZ + 1], *nbuf = qbuf;
                if (ATOMvarsized(type)) {
-                       ATOMformat(type, *(str *)value, &val);
+                       l = ATOMformat(type, *(str *)value, &val);
                } else {
-                       ATOMformat(type, value, &val);
+                       l = ATOMformat(type, value, &val);
                }
                tpe = getTypeIdentifier(type);
+               l += strlen(tpe) + strlen(ident) + 10;
+               if (l > BUFSIZ)
+                       nbuf = GDKmalloc(l);
                if (type <= TYPE_str)
-                       snprintf(qbuf, BUFSIZ, "%s := %s:%s;\n", ident, val, 
tpe);
+                       snprintf(nbuf, l, "%s := %s:%s;\n", ident, val, tpe);
                else
-                       snprintf(qbuf, BUFSIZ, "%s := \"%s\":%s;\n", ident, 
val, tpe);
-               qbuf[BUFSIZ] = '\0';
+                       snprintf(nbuf, l, "%s := \"%s\":%s;\n", ident, val, 
tpe);
                GDKfree(tpe);
                GDKfree(val);
 #ifdef _DEBUG_REMOTE
-               fprintf(stderr, "#remote.put:%s:%s\n", c->name, qbuf);
+               fprintf(stderr, "#remote.put:%s:%s\n", c->name, nbuf);
 #endif
-               if ((tmp = RMTquery(&mhdl, "remote.put", c->mconn, qbuf))
+               if ((tmp = RMTquery(&mhdl, "remote.put", c->mconn, nbuf))
                                != MAL_SUCCEED)
                {
+                       if (nbuf != qbuf)
+                               GDKfree(nbuf);
                        MT_lock_unset(&c->lock);
                        return tmp;
                }
+               if (nbuf != qbuf)
+                       GDKfree(nbuf);
                mapi_close_handle(mhdl);
        }
        MT_lock_unset(&c->lock);
diff --git a/tools/merovingian/daemon/Makefile.ag 
b/tools/merovingian/daemon/Makefile.ag
--- a/tools/merovingian/daemon/Makefile.ag
+++ b/tools/merovingian/daemon/Makefile.ag
@@ -39,14 +39,8 @@ bin_monetdbd = {
                          multiplex-funnel.c multiplex-funnel.h \
                          proxy.c proxy.h
        LIBS = ../utils/libmeroutil \
-                  ../../../common/stream/libstream \
-                  ../../../clients/mapilib/libmapi \
-                  ../../../common/utils/libmcrypt \
-                  ../../../common/utils/libmsabaoth \
-                  ../../../common/utils/libmuuid \
                   ../../../common/utils/libmutils \
                   ../../../monetdb5/tools/libmonetdb5 \
-                  ../../../gdk/libbat \
                   $(UUID_LIBS) \
                   $(openssl_LIBS) \
                   $(curl_LIBS) \
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to