Changeset: b0df16487a67 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b0df16487a67
Added Files:
        sql/test/pg_regress/Tests/oid.stable.err.32bit
Modified Files:
        .hgtags
        MonetDB.spec
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-Geom-Module.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-Geom-Module.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        clients/python2/setup.py
        clients/python3/setup.py
        configure.ag
        debian/changelog
        gdk/ChangeLog-Archive
        gdk/ChangeLog.Jul2015
        gdk/gdk_atoms.c
        gdk/libbat.rc
        libversions
        monetdb5/modules/mal/remote.c
        monetdb5/tools/libmonetdb5.rc
        sql/storage/store.c
        sql/test/BugTracker-2012/Tests/All
        sql/test/json/Tests/All
        sql/test/pg_regress/Tests/All
        sql/test/pg_regress/Tests/oid.stable.err
        sql/test/remote/Tests/ssbm.SQL.py
        testing/Mtest.py.in
        tools/embedded/Tests/All
        vertoo.data
Branch: default
Log Message:

Merge with Jun2016 branch.


diffs (truncated from 836 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -620,3 +620,5 @@ feec2e4020548d3137a0e946b7a4e29db5b9e14a
 ee2d8c8d65c35ed022ca0785f30fcf4b051a542e Jun2016_root
 ee54e50fccb17db48bbfd983882e8491a869131c Jul2015_17
 ee54e50fccb17db48bbfd983882e8491a869131c Jul2015_SP3_release
+51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 Jul2015_19
+51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 Jul2015_SP4_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -104,7 +104,7 @@ Vendor: MonetDB BV <i...@monetdb.org>
 Group: Applications/Databases
 License: MPLv2.0
 URL: http://www.monetdb.org/
-Source: 
http://dev.monetdb.org/downloads/sources/Jul2015-SP3/%{name}-%{version}.tar.bz2
+Source: 
http://dev.monetdb.org/downloads/sources/Jul2015-SP4/%{name}-%{version}.tar.bz2
 
 # we need systemd for the _unitdir macro to exist
 BuildRequires: systemd
@@ -986,6 +986,20 @@ rm -f %{buildroot}%{_bindir}/Maddlog
 %postun -p /sbin/ldconfig
 
 %changelog
+* Tue Apr 05 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.19-20160405
+- Rebuilt.
+- BZ#3905: MonetDB doesn't handle ANY/SOME/ALL operator correctly
+- BZ#3929: R aggregate not recognized when using 3 or more parameters
+- BZ#3965: Not possible to quote/escape single quote character in the
+  name of the file to load.
+- BZ#3968: Missing double use of column names
+
+* Mon Apr  4 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.19-20160405
+- gdk: Fixed a bug that caused various instances where old data returned or
+  where crashes occurred.  The problem was that internally data wasn't
+  always marked dirty when it was being changed, causiing later processing
+  to not deal with the changed data correctly.
+
 * Thu Mar 24 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.17-20160324
 - Rebuilt.
 - BZ#2972: SQL URL functionality contains errors
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,23 @@
+monetdb (11.21.19) unstable; urgency=low
+
+  * Rebuilt.
+  * BZ#3905: MonetDB doesn't handle ANY/SOME/ALL operator correctly
+  * BZ#3929: R aggregate not recognized when using 3 or more parameters
+  * BZ#3965: Not possible to quote/escape single quote character in the
+    name of the file to load.
+  * BZ#3968: Missing double use of column names
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Tue, 05 Apr 2016 11:29:47 +0200
+
+monetdb (11.21.19) unstable; urgency=low
+
+  * gdk: Fixed a bug that caused various instances where old data returned or
+    where crashes occurred.  The problem was that internally data wasn't
+    always marked dirty when it was being changed, causiing later processing
+    to not deal with the changed data correctly.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Mon, 4 Apr 2016 11:29:47 +0200
+
 monetdb (11.21.17) unstable; urgency=low
 
   * Rebuilt.
diff --git a/gdk/ChangeLog-Archive b/gdk/ChangeLog-Archive
--- a/gdk/ChangeLog-Archive
+++ b/gdk/ChangeLog-Archive
@@ -1,6 +1,12 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past ChangeLog entries
 
+* Mon Apr  4 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.19-20160405
+- Fixed a bug that caused various instances where old data returned or
+  where crashes occurred.  The problem was that internally data wasn't
+  always marked dirty when it was being changed, causiing later processing
+  to not deal with the changed data correctly.
+
 * Wed Feb  4 2015 Sjoerd Mullender <sjo...@acm.org> - 11.21.1-20150807
 - BUNtvar and BUNhvar macros no longer work for TYPE_void columns.
 
diff --git a/gdk/ChangeLog.Jul2015 b/gdk/ChangeLog.Jul2015
--- a/gdk/ChangeLog.Jul2015
+++ b/gdk/ChangeLog.Jul2015
@@ -1,9 +1,3 @@
 # ChangeLog file for MonetDB
 # This file is updated with Maddlog
 
-* Mon Apr  4 2016 Sjoerd Mullender <sjo...@acm.org>
-- Fixed a bug that caused various instances where old data returned or
-  where crashes occurred.  The problem was that internally data wasn't
-  always marked dirty when it was being changed, causiing later processing
-  to not deal with the changed data correctly.
-
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -854,8 +854,11 @@ dblFromStr(const char *src, int *len, db
                 * ERANGE.  We accept underflow, but not overflow. */
                char *pe;
                errno = 0;
-               d = strtod(src, &pe);
-               p = pe;
+               d = strtod(p, &pe);
+               if (p == pe)
+                       p = src; /* nothing converted */
+               else
+                       p = pe;
                n = (int) (p - src);
                if (n == 0 || (errno == ERANGE && (d < -1 || d > 1))
 #ifdef isfinite
@@ -917,8 +920,11 @@ fltFromStr(const char *src, int *len, fl
                 * ERANGE.  We accept underflow, but not overflow. */
                char *pe;
                errno = 0;
-               f = strtof(src, &pe);
-               p = pe;
+               f = strtof(p, &pe);
+               if (p == pe)
+                       p = src; /* nothing converted */
+               else
+                       p = pe;
                n = (int) (p - src);
                if (n == 0 || (errno == ERANGE && (f < -1 || f > 1))
 #else /* no strtof, try sscanf */
diff --git a/libversions b/libversions
--- a/libversions
+++ b/libversions
@@ -36,13 +36,13 @@
 
 # version of the GDK library (subdirectory gdk; also includes
 # common/options and common/utils)
-GDK_VERSION=12:8:0
+GDK_VERSION=12:9:0
 
 # version of the MAPI library (subdirectory clients/mapilib)
 MAPI_VERSION=7:6:0
 
 # version of the MONETDB5 library (subdirectory monetdb5, not including extras)
-MONETDB5_VERSION=20:3:1
+MONETDB5_VERSION=20:4:1
 
 # version of the STREAM library (subdirectory common/stream)
 STREAM_VERSION=7:0:0
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
@@ -862,9 +862,10 @@ str RMTregister(Client cntxt, MalBlkPtr 
  */
 str RMTexec(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) {
        str conn, mod, func, tmp;
-       int i, len;
+       int i;
+       size_t len, buflen;
        connection c= NULL;
-       char qbuf[BUFSIZ+1];    /* FIXME: make this dynamic */
+       char *qbuf;
        MapiHdl mhdl;
 
        (void)cntxt;
@@ -892,38 +893,56 @@ str RMTexec(Client cntxt, MalBlkPtr mb, 
        /* this call should be a single transaction over the channel*/
        MT_lock_set(&c->lock);
 
+       assert(pci->argc - pci->retc >= 3); /* conn, mod, func, ... */
+
+       len = 0;
+       /* count how big a buffer we need */
+       len += 2 * (pci->retc > 1);
+       for (i = 0; i < pci->retc; i++) {
+               len += 2 * (i > 0);
+               len += strlen(*getArgReference_str(stk, pci, i));
+       }
+       len += strlen(mod) + strlen(func) + 6;
+       for (i = 3; i < pci->argc - pci->retc; i++) {
+               len += 2 * (i > 3);
+               len += strlen(*getArgReference_str(stk, pci, pci->retc + i));
+       }
+       len += 2;
+       buflen = len + 1;
+       if ((qbuf = GDKmalloc(buflen)) == NULL)
+               throw(MAL, "remote.exec", MAL_MALLOC_FAIL);
+
        len = 0;
 
-       /* use previous defined remote objects to keep result */
        if (pci->retc > 1)
                qbuf[len++] = '(';
        for (i = 0; i < pci->retc; i++)
-               len += snprintf(&qbuf[len], BUFSIZ - len, "%s%s",
+               len += snprintf(&qbuf[len], buflen - len, "%s%s",
                                (i > 0 ? ", " : ""), *getArgReference_str(stk, 
pci, i));
 
-       if (pci->retc > 1 && len < BUFSIZ)
+       if (pci->retc > 1)
                qbuf[len++] = ')';
 
        /* build the function invocation string in qbuf */
-       len += snprintf(&qbuf[len], BUFSIZ - len, " := %s.%s(", mod, func);
+       len += snprintf(&qbuf[len], buflen - len, " := %s.%s(", mod, func);
 
        /* handle the arguments to the function */
-       assert(pci->argc - pci->retc >= 3); /* conn, mod, func, ... */
 
        /* put the arguments one by one, and dynamically build the
         * invocation string */
        for (i = 3; i < pci->argc - pci->retc; i++) {
-               len += snprintf(&qbuf[len], BUFSIZ - len, "%s%s",
+               len += snprintf(&qbuf[len], buflen - len, "%s%s",
                                (i > 3 ? ", " : ""),
                                *(getArgReference_str(stk, pci, pci->retc + 
i)));
        }
 
        /* finish end execute the invocation string */
-       len += snprintf(&qbuf[len], BUFSIZ - len, ");");
+       len += snprintf(&qbuf[len], buflen - len, ");");
 #ifdef _DEBUG_REMOTE
        mnstr_printf(cntxt->fdout,"#remote.exec:%s:%s\n",c->name,qbuf);
 #endif
        tmp = RMTquery(&mhdl, "remote.exec", c->mconn, qbuf);
+       GDKfree(qbuf);
        if (mhdl)
                mapi_close_handle(mhdl);
        MT_lock_unset(&c->lock);
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -1710,7 +1710,11 @@ store_manager(void)
                }
 
                MT_lock_set(&bs_lock);
-               if (GDKexiting() || (!need_flush && logger_funcs.changes() < 
1000000 && shared_transactions_drift < shared_drift_threshold)) {
+               if (GDKexiting()) {
+                       MT_lock_unset(&bs_lock);
+                       return;
+               }
+               if ((!need_flush && logger_funcs.changes() < 1000000 && 
shared_transactions_drift < shared_drift_threshold)) {
                        MT_lock_unset(&bs_lock);
                        continue;
                }
@@ -1718,7 +1722,7 @@ store_manager(void)
                while (store_nr_active) { /* find a moment to flush */
                        MT_lock_unset(&bs_lock);
                        if (GDKexiting())
-                               continue;
+                               return;
                        MT_sleep_ms(timeout);
                        MT_lock_set(&bs_lock);
                }
diff --git a/sql/test/BugTracker-2012/Tests/All 
b/sql/test/BugTracker-2012/Tests/All
--- a/sql/test/BugTracker-2012/Tests/All
+++ b/sql/test/BugTracker-2012/Tests/All
@@ -69,7 +69,7 @@ create_function.Bug-3172
 currenttime.Bug-2781
 timestamp_minus_date.Bug-2977
 null_except_null.Bug-3040
-create_index_update.Bug-3098.sql
+create_index_update.Bug-3098
 algebra_find.Bug-2728
 row_number_does_not_work_in_complex_query.Bug-2805
 day-of-month-localization.Bug-2962
@@ -82,7 +82,7 @@ large-number-operation-strange-results.B
 inet-casts.Bug-3205
 fixed_limit_for_prepare.Bug-3208
 exp_bin_assertion.Bug-3209
-querycache.Bug-3212.sql
+querycache.Bug-3212
 url_script_test.Bug-2972
 huge_insert.Bug-2803
 huge_table_update.Bug-2803
diff --git a/sql/test/json/Tests/All b/sql/test/json/Tests/All
--- a/sql/test/json/Tests/All
+++ b/sql/test/json/Tests/All
@@ -12,4 +12,4 @@ load
 aggregate00
 aggregate01
 shop
-jsonvalidity.Bug-3753.sql
+jsonvalidity.Bug-3753
diff --git a/sql/test/pg_regress/Tests/All b/sql/test/pg_regress/Tests/All
--- a/sql/test/pg_regress/Tests/All
+++ b/sql/test/pg_regress/Tests/All
@@ -13,7 +13,7 @@ varchar
 text
 int2
 int4
-int8
+THREADS=1?int8
 oid
 float4
 float8
diff --git a/sql/test/pg_regress/Tests/oid.stable.err 
b/sql/test/pg_regress/Tests/oid.stable.err
--- a/sql/test/pg_regress/Tests/oid.stable.err
+++ b/sql/test/pg_regress/Tests/oid.stable.err
@@ -1,11 +1,11 @@
 stderr of test 'oid` in directory 'sql/test/pg_regress` itself:
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to