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