MonetDB: default - Merge with Jun2016 branch.
Changeset: 76ffd2312f54 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=76ffd2312f54 Modified Files: gdk/gdk_atoms.c gdk/gdk_join.c gdk/gdk_select.c gdk/gdk_utils.c monetdb5/modules/atoms/json.c Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 1450 to 300 lines): diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -499,7 +499,8 @@ bitToStr(char **dst, int *len, const bit static bit * bitRead(bit *a, stream *s, size_t cnt) { - mnstr_read(s, (char *) a, 1, cnt); + if (mnstr_read(s, (char *) a, 1, cnt) < 0) + return NULL; return mnstr_errnr(s) ? NULL : a; } diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -136,9 +136,9 @@ joininitresults(BAT **r1p, BAT **r2p, BU if (lcnt == 0 || rcnt == 0) maxsize = nil_on_miss ? lcnt : 0; else if (BUN_MAX / lcnt >= rcnt) + maxsize = lcnt * rcnt; + else maxsize = BUN_MAX; - else - maxsize = lcnt * rcnt; } size = estimate == BUN_NONE ? lcnt : estimate; if (size > maxsize) diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -374,7 +374,7 @@ do { \ if (BATcapacity(bn) < maximum) {\ impsloop(CAND, TEST,\ buninsfix(bn, dst, cnt, o, \ - (BUN) ((dbl) cnt / (dbl) (p-r) \ + (BUN) ((dbl) cnt / (dbl) (p == r ? 1 : p - r)\ * (dbl) (q-p) * 1.1 + 1024), \ BATcapacity(bn) + q - p, BUN_NONE)); \ } else {\ @@ -439,7 +439,7 @@ do { \ v = src[o-off]; \ if (TEST) { \ buninsfix(bn, dst, cnt, o, \ - (BUN) ((dbl) cnt / (dbl) (p-r) \ + (BUN) ((dbl) cnt / (dbl) (p == r ? 1 : p - r) \ * (dbl) (q-p) * 1.1 + 1024), \ BATcapacity(bn) + q - p, BUN_NONE); \ cnt++; \ @@ -606,7 +606,7 @@ candscan_any (BAT *b, BAT *s, BAT *bn, c v = BUNtail(bi,(BUN)(o-off)); if ((*cmp)(tl, v) == 0) { buninsfix(bn, dst, cnt, o, - (BUN) ((dbl) cnt / (dbl) (p-r) + (BUN) ((dbl) cnt / (dbl) (p == r ? 1 : p - r) * (dbl) (q-p) * 1.1 + 1024), BATcapacity(bn) + q - p, BUN_NONE); cnt++; @@ -630,7 +630,7 @@ candscan_any (BAT *b, BAT *s, BAT *bn, c ((c = (*cmp)(th, v)) < 0 || (!hi && c == 0) { buninsfix(bn, dst, cnt, o, - (BUN) ((dbl) cnt / (dbl) (p-r) + (BUN) ((dbl) cnt / (dbl) (p == r ? 1 : p - r) * (dbl) (q-p) * 1.1 + 1024), BATcapacity(bn) + q - p, BUN_NONE); cnt++; @@ -654,7 +654,7 @@ candscan_any (BAT *b, BAT *s, BAT *bn, c (c = cmp(th, v)) > 0 || (hi && c == 0 { buninsfix(bn, dst, cnt, o, - (BUN) ((dbl) cnt / (dbl) (p-r) + (BUN) ((dbl) cnt / (dbl) (p == r ? 1 : p - r) * (dbl) (q-p) * 1.1 + 1024), BATcapacity(bn) + q - p, BUN_NONE); cnt++; @@ -694,7 +694,7 @@ fullscan_any(BAT *b, BAT *s, BAT *bn, co v = BUNtail(bi,(BUN)(o-off)); if ((*cmp)(tl, v) == 0) { buninsfix(bn, dst, cnt, o, - (BUN) ((dbl) cnt / (dbl) (p-r) + (BUN) ((dbl) cnt / (dbl) (p == r ? 1 : p - r)
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: 33927fb22e3b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=33927fb22e3b Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 28e4a00953fd for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=28e4a00953fd Modified Files: .hgtags MonetDB.spec debian/changelog libversions Branch: default Log Message: Merge with Jun2016 branch. diffs (71 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -637,3 +637,6 @@ 731a25ce40993c0d73ee4fcefb286b9a0a2e0981 f16cdfed96bdc0f3324f8ced85a8b74c67f4dc9b Jun2016_11 731a25ce40993c0d73ee4fcefb286b9a0a2e0981 Jun2016_SP2_release f16cdfed96bdc0f3324f8ced85a8b74c67f4dc9b Jun2016_SP2_release +293b452cd1e5964d820f7d6c538e06507e575d88 Jun2016_13 +f16cdfed96bdc0f3324f8ced85a8b74c67f4dc9b Jun2016_SP2_release +293b452cd1e5964d820f7d6c538e06507e575d88 Jun2016_SP2_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -899,6 +899,17 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Fri Oct 07 2016 Sjoerd Mullender- 11.23.13-20161007 +- Rebuilt. +- BZ#4058: Server crashes with a particular conditional query +- BZ#4064: Assertion: column not found +- BZ#4067: Relevant column name not printed when a CSV parsing error + occurs +- BZ#4070: Extra condition in join predicate of explicit join produces + wrong MAL code +- BZ#4074: Cannot use prepared statements when caching disabled +- BZ#6065: CTE with row number and union fails within MAL + * Wed Sep 28 2016 Sjoerd Mullender - 11.23.11-20160928 - Rebuilt. diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +monetdb (11.23.13) unstable; urgency=low + + * Rebuilt. + * BZ#4058: Server crashes with a particular conditional query + * BZ#4064: Assertion: column not found + * BZ#4067: Relevant column name not printed when a CSV parsing error +occurs + * BZ#4070: Extra condition in join predicate of explicit join produces +wrong MAL code + * BZ#4074: Cannot use prepared statements when caching disabled + * BZ#6065: CTE with row number and union fails within MAL + + -- Sjoerd Mullender Fri, 07 Oct 2016 11:01:07 +0200 + monetdb (11.23.11) unstable; urgency=low * Rebuilt. 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=13:5:0 +GDK_VERSION=13:6:0 # version of the MAPI library (subdirectory clients/mapilib) MAPI_VERSION=8:1:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras) -MONETDB5_VERSION=21:5:0 +MONETDB5_VERSION=21:6:0 # version of the STREAM library (subdirectory common/stream) STREAM_VERSION=8:3:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 9a261201c0e1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9a261201c0e1 Modified Files: clients/mapilib/Makefile.ag Branch: default Log Message: Merge with Jun2016 branch. diffs (12 lines): diff --git a/clients/mapilib/Makefile.ag b/clients/mapilib/Makefile.ag --- a/clients/mapilib/Makefile.ag +++ b/clients/mapilib/Makefile.ag @@ -7,7 +7,7 @@ MTSAFE INCLUDES = ../../common/options ../../common/stream ../../common/utils \ - $(MSGCONTROL_FLAGS) + $(MSGCONTROL_FLAGS) $(openssl_CFLAGS) lib_mapi = { VERSION = $(MAPI_VERSION) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 0eb5737c8b8f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0eb5737c8b8f Modified Files: gdk/gdk_imprints.c Branch: default Log Message: Merge with Jun2016 branch. diffs (12 lines): diff --git a/gdk/gdk_imprints.c b/gdk/gdk_imprints.c --- a/gdk/gdk_imprints.c +++ b/gdk/gdk_imprints.c @@ -157,7 +157,7 @@ imprints_create(BAT *b, void *inbins, BU } #ifdef NDEBUG -#define CLRMEM() ((void *) 0) +#define CLRMEM() ((void) 0) #else #define CLRMEM() while (k < 64) h[k++] = 0 #endif ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 593633197125 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=593633197125 Added Files: sql/test/BugTracker-2016/Tests/name_conflict_in_union.Bug-6065.sql sql/test/BugTracker-2016/Tests/name_conflict_in_union.Bug-6065.stable.err sql/test/BugTracker-2016/Tests/name_conflict_in_union.Bug-6065.stable.out Modified Files: gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c sql/test/BugTracker-2016/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (268 lines): diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c --- a/gdk/gdk_hash.c +++ b/gdk/gdk_hash.c @@ -495,6 +495,10 @@ BAThash(BAT *b, BUN masksize) } break; } +#ifndef NDEBUG + /* clear unused part of Link array */ + memset((char *) h->Link + q * h->width, 0, (h->lim - q) * h->width); +#endif hp->parentid = b->batCacheid; #ifdef PERSISTENTHASH if (BBP_status(b->batCacheid) & BBPEXISTING) { diff --git a/gdk/gdk_heap.c b/gdk/gdk_heap.c --- a/gdk/gdk_heap.c +++ b/gdk/gdk_heap.c @@ -489,44 +489,53 @@ GDKupgradevarheap(BAT *b, var_t v, int c #endif /* convert from back to front so that we can do it in-place */ - switch (b->twidth) { - case 1: - switch (width) { - case 2: + switch (width) { + case 2: +#ifndef NDEBUG + memset(ps, 0, b->theap.base + b->theap.size - (char *) ps); +#endif + switch (b->twidth) { + case 1: for (i = 0; i < n; i++) *--ps = *--pc; break; - case 4: + } + break; + case 4: +#ifndef NDEBUG + memset(ps, 0, b->theap.base + b->theap.size - (char *) pi); +#endif + switch (b->twidth) { + case 1: for (i = 0; i < n; i++) *--pi = *--pc + GDK_VAROFFSET; break; + case 2: + for (i = 0; i < n; i++) + *--pi = *--ps + GDK_VAROFFSET; + break; + } + break; #if SIZEOF_VAR_T == 8 - case 8: + case 8: +#ifndef NDEBUG + memset(ps, 0, b->theap.base + b->theap.size - (char *) pv); +#endif + switch (b->twidth) { + case 1: for (i = 0; i < n; i++) *--pv = *--pc + GDK_VAROFFSET; break; -#endif - } - break; - case 2: - switch (width) { - case 4: - for (i = 0; i < n; i++) - *--pi = *--ps + GDK_VAROFFSET; - break; -#if SIZEOF_VAR_T == 8 - case 8: + case 2: for (i = 0; i < n; i++) *--pv = *--ps + GDK_VAROFFSET; break; -#endif + case 4: + for (i = 0; i < n; i++) + *--pv = *--pi; + break; } break; -#if SIZEOF_VAR_T == 8 - case 4: - for (i = 0; i < n; i++) - *--pv = *--pi; - break; #endif } b->theap.free <<= shift - b->tshift; diff --git a/gdk/gdk_imprints.c b/gdk/gdk_imprints.c --- a/gdk/gdk_imprints.c +++ b/gdk/gdk_imprints.c @@ -117,6 +117,10 @@ imprints_create(BAT *b, void *inbins, BU BUN *restrict cnt_bins = max_bins + 64; int bin = 0; dcnt = icnt = 0; +#ifndef NDEBUG + memset(min_bins, 0, 64 * SIZEOF_BUN); + memset(max_bins, 0, 64 * SIZEOF_BUN); +#endif memset(cnt_bins, 0, 64 * SIZEOF_BUN); switch (ATOMbasetype(b->ttype)) { @@ -152,6 +156,12 @@ imprints_create(BAT *b, void *inbins, BU *impcnt = icnt; } +#ifdef NDEBUG +#define CLRMEM() ((void *) 0) +#else +#define CLRMEM() while (k < 64) h[k++] = 0 +#endif + #define FILL_HISTOGRAM(TYPE) \ do { \ BUN k; \ @@ -163,6 +173,7 @@ do { \ h[k] = s[k];\ while (k < (BUN) imprints->bits)\ h[k++] = max; \ + CLRMEM(); \ } else {\ double y, ystep = (double) cnt / (64
MonetDB: default - Merge with Jun2016 branch.
Changeset: b6b7ff0e7672 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6b7ff0e7672 Modified Files: .hgtags MonetDB.spec buildtools/ChangeLog-Archive buildtools/ChangeLog.Jun2016 debian/changelog libversions Branch: default Log Message: Merge with Jun2016 branch. diffs (93 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -634,3 +634,6 @@ 4a05df3932a97865ac7e4037361723d5563490b3 c8b06c670a635978640d742643c317b82c5f4b8c Jun2016_SP1_release 731a25ce40993c0d73ee4fcefb286b9a0a2e0981 Jun2016_9 731a25ce40993c0d73ee4fcefb286b9a0a2e0981 Jun2016_SP2_release +f16cdfed96bdc0f3324f8ced85a8b74c67f4dc9b Jun2016_11 +731a25ce40993c0d73ee4fcefb286b9a0a2e0981 Jun2016_SP2_release +f16cdfed96bdc0f3324f8ced85a8b74c67f4dc9b Jun2016_SP2_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -899,6 +899,13 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Wed Sep 28 2016 Sjoerd Mullender- 11.23.11-20160928 +- Rebuilt. + +* Mon Sep 26 2016 Sjoerd Mullender - 11.23.11-20160928 +- buildtools: We now use the CommonCrypto library instead of the OpenSSL library + on Darwin. + * Mon Sep 19 2016 Sjoerd Mullender - 11.23.9-20160919 - Rebuilt. - BZ#3939: Assert failure on concurrent queries when querying sys.queue diff --git a/buildtools/ChangeLog-Archive b/buildtools/ChangeLog-Archive --- a/buildtools/ChangeLog-Archive +++ b/buildtools/ChangeLog-Archive @@ -1,6 +1,10 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Mon Sep 26 2016 Sjoerd Mullender - 11.23.11-20160928 +- We now use the CommonCrypto library instead of the OpenSSL library + on Darwin. + * Fri Feb 26 2016 Sjoerd Mullender - 11.23.1-20160601 - A new package MonetDB-lidar (Fedora) or libmonetdb5-server-lidar (Debian/Ubuntu) has been created to work with LiDAR data. diff --git a/buildtools/ChangeLog.Jun2016 b/buildtools/ChangeLog.Jun2016 --- a/buildtools/ChangeLog.Jun2016 +++ b/buildtools/ChangeLog.Jun2016 @@ -1,7 +1,3 @@ # ChangeLog file for buildtools # This file is updated with Maddlog -* Mon Sep 26 2016 Sjoerd Mullender -- We now use the CommonCrypto library instead of the OpenSSL library - on Darwin. - diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +monetdb (11.23.11) unstable; urgency=low + + * Rebuilt. + + -- Sjoerd Mullender Wed, 28 Sep 2016 13:47:01 +0200 + +monetdb (11.23.11) unstable; urgency=low + + * buildtools: We now use the CommonCrypto library instead of the OpenSSL library +on Darwin. + + -- Sjoerd Mullender Mon, 26 Sep 2016 13:47:01 +0200 + monetdb (11.23.9) unstable; urgency=low * Rebuilt. 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=13:4:0 +GDK_VERSION=13:5:0 # version of the MAPI library (subdirectory clients/mapilib) -MAPI_VERSION=8:0:0 +MAPI_VERSION=8:1:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras) -MONETDB5_VERSION=21:4:0 +MONETDB5_VERSION=21:5:0 # version of the STREAM library (subdirectory common/stream) -STREAM_VERSION=8:2:0 +STREAM_VERSION=8:3:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: 1bdc0ce285a8 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1bdc0ce285a8 Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: 8a96f219fba1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8a96f219fba1 Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: f19bf95c6460 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f19bf95c6460 Added Files: monetdb5/modules/mal/Tests/clients-hashes.stable.out.Darwin Modified Files: monetdb5/modules/mal/Tests/clients-hashes.malC monetdb5/modules/mal/clients.c Branch: default Log Message: Merge with Jun2016 branch. diffs (178 lines): diff --git a/monetdb5/modules/mal/Tests/clients-hashes.malC b/monetdb5/modules/mal/Tests/clients-hashes.malC --- a/monetdb5/modules/mal/Tests/clients-hashes.malC +++ b/monetdb5/modules/mal/Tests/clients-hashes.malC @@ -1,14 +1,35 @@ p := clients.md5sum("monetdb"); io.print(p); +catch MALException:str; +io.print("clients.md5sum not available"); +exit MALException; p := clients.sha1sum("monetdb"); io.print(p); +catch MALException:str; +io.print("clients.sha1sum not available"); +exit MALException; p := clients.ripemd160sum("monetdb"); io.print(p); +catch MALException:str; +io.print("clients.ripemd160sum not available"); +exit MALException; p := clients.sha2sum("monetdb", 224); io.print(p); +catch MALException:str; +io.print("clients.sha2sum (224) not available"); +exit MALException; p := clients.sha2sum("monetdb", 256); io.print(p); +catch MALException:str; +io.print("clients.sha2sum (256) not available"); +exit MALException; p := clients.sha2sum("monetdb", 384); io.print(p); +catch MALException:str; +io.print("clients.sha2sum (384) not available"); +exit MALException; p := clients.sha2sum("monetdb", 512); io.print(p); +catch MALException:str; +io.print("clients.sha2sum (512) not available"); +exit MALException; diff --git a/monetdb5/modules/mal/Tests/clients-hashes.stable.out.Darwin b/monetdb5/modules/mal/Tests/clients-hashes.stable.out.Darwin new file mode 100644 --- /dev/null +++ b/monetdb5/modules/mal/Tests/clients-hashes.stable.out.Darwin @@ -0,0 +1,41 @@ +stdout of test 'clients-hashes` in directory 'monetdb5/modules/mal` itself: + + +# 14:07:01 > +# 14:07:01 > mserver5 "--config=/export/scratch/stripe/fabian/monetdb/current/program-i86pc/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=0 --set "monet_mod_path=/export/scratch/stripe/fabian/monetdb/current/program-i86pc/lib/MonetDB5:/export/scratch/stripe/fabian/monetdb/current/program-i86pc/lib/MonetDB5/lib:/export/scratch/stripe/fabian/monetdb/current/program-i86pc/lib/MonetDB5/bin" --set "gdk_dbfarm=/export/scratch/stripe/fabian/monetdb/current/mtest-pegasus.ins.cwi.nl/five/dbfarm" --set "sql_logdir=/export/scratch/stripe/fabian/monetdb/current/mtest-pegasus.ins.cwi.nl/five/sqllog" --set "xquery_logdir=/export/scratch/stripe/fabian/monetdb/current/mtest-pegasus.ins.cwi.nl/five/xquerylog" --set mapi_open=true --set xrpc_open=true --set mapi_port=37637 --set xrpc_port=44162 --set monet_prompt= --trace --dbname=mTests_src_modules_mal clients-hashes.mal +# 14:07:01 > + +# MonetDB server v5.11.0, based on kernel v1.29.0 +# Serving database 'mTests_src_modules_mal', using 1 thread +# Compiled for x86_64-pc-solaris2.11/64bit with 64bit OIDs dynamically linked +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://vienna.da.cwi.nl:35410/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-26774/.s.monetdb.35410 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Start reading the write-ahead log 'sql_logs/sql/log.4' +# Finished reading the write-ahead log 'sql_logs/sql/log.4' +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +# MonetDB/R module loaded + +Ready. + +# 09:46:40 > +# 09:46:40 > "mclient" "-lmal" "-ftest" "-Eutf-8" "--host=/var/tmp/mtest-26774" "--port=35410" +# 09:46:40 > + +[ "4fe67471e97aae17f10bf200ccadc4e4" ] +[ "4751fc28d9a64a043865922548ee7d623743bcad" ] +[ "clients.ripemd160sum not available" ] +[ "ba11e4ad9ac60f775cf1f133a81faf32241d9c136e4d3b193bdbbf1e" ] +[ "38e38a32871128f6c9b84c72c4b6c473e53ab084bffb37c094310045716a8247" ] +[ "d494cbc91a0d3315210af1c2d14e3758ba7d6716393a234cf9f29d8de077110c9009dd840f9c93a5d350b739253f6bd9" ] +[ "a73f1d86383446438ac64f56e15ada38b41fbb18f029d2181723aeb2acac6a831f60e5fdbd64ac2c8c70e035dd44cbbe3b45565ef2d58feb2821a2078c7fad35" ] + +# 14:07:02 > +# 14:07:02 > Done. +# 14:07:02 > + diff --git a/monetdb5/modules/mal/clients.c b/monetdb5/modules/mal/clients.c --- a/monetdb5/modules/mal/clients.c +++ b/monetdb5/modules/mal/clients.c @@ -350,41 +350,67 @@ CLTwakeup(void *ret, int *id) } str CLTmd5sum(str *ret, str *pw) { +#ifdef HAVE_MD5_UPDATE char *mret = mcrypt_MD5Sum(*pw, strlen(*pw)); *ret = GDKstrdup(mret); free(mret); return MAL_SUCCEED; +#else + (void) ret; + (void) pw; + throw(MAL, "clients.md5sum", PROGRAM_NYI); +#endif } str CLTsha1sum(str *ret, str *pw) { +#ifdef
MonetDB: default - Merge with Jun2016 branch.
Changeset: f940a809d0d3 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f940a809d0d3 Modified Files: NT/monetdb_config.h.in clients/mapilib/mapi.rc clients/odbc/driver/driver.rc gdk/libbat.rc monetdb5/mal/Makefile.ag Branch: default Log Message: Merge with Jun2016 branch. diffs (81 lines): diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -345,9 +345,6 @@ /* Define to 1 if you have the `mallopt' function. */ /* #undef HAVE_MALLOPT */ -/* Define to 1 if you have the `MD5_Update' function. */ -#define HAVE_MD5_UPDATE 1 - /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 @@ -430,9 +427,6 @@ /* Define if the compiler supports the restrict keyword */ /* #undef HAVE_RESTRICT */ -/* Define to 1 if you have the `RIPEMD160_Update' function. */ -#define HAVE_RIPEMD160_UPDATE 1 - /* Define to 1 if you have the `round' function. */ #if !defined(_MSC_VER) || _MSC_VER > 1600 #define HAVE_ROUND 1 @@ -459,6 +453,13 @@ /* Define to 1 if you have the `setsid' function. */ /* #undef HAVE_SETSID */ +#ifdef HAVE_OPENSSL +/* Define to 1 if you have the `MD5_Update' function. */ +#define HAVE_MD5_UPDATE 1 + +/* Define to 1 if you have the `RIPEMD160_Update' function. */ +#define HAVE_RIPEMD160_UPDATE 1 + /* Define to 1 if you have the `SHA1_Update' function. */ #define HAVE_SHA1_UPDATE 1 @@ -473,6 +474,7 @@ /* Define to 1 if you have the `SHA512_Update' function. */ #define HAVE_SHA512_UPDATE 1 +#endif /* Define to 1 if you have the `shutdown' function. */ #define HAVE_SHUTDOWN 1 diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc --- a/clients/mapilib/mapi.rc +++ b/clients/mapilib/mapi.rc @@ -23,7 +23,7 @@ BEGIN // Maintained via vertoo. Please don't modify by hand! // Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. VALUE "InternalName", "Mapi\0" - VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2015\0" + VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2016\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "Mapi.dll\0" VALUE "PrivateBuild", "\0" diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc --- a/clients/odbc/driver/driver.rc +++ b/clients/odbc/driver/driver.rc @@ -23,7 +23,7 @@ BEGIN // Maintained via vertoo. Please don't modify by hand! // Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. VALUE "InternalName", "libMonetODBC\0" - VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2015\0" + VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2016\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libMonetODBC.dll\0" VALUE "PrivateBuild", "\0" diff --git a/gdk/libbat.rc b/gdk/libbat.rc --- a/gdk/libbat.rc +++ b/gdk/libbat.rc @@ -23,7 +23,7 @@ BEGIN // Maintained via vertoo. Please don't modify by hand! // Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. VALUE "InternalName", "libbat\0" - VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2015\0" + VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2016\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libbat.dll\0" VALUE "PrivateBuild", "\0" ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: f7256d223b90 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f7256d223b90 Modified Files: common/utils/mcrypt.c common/utils/mcrypt.h monetdb5/mal/mal_authorize.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_session.c Branch: default Log Message: Merge with Jun2016 branch. diffs (11 lines): diff --git a/common/utils/mcrypt.h b/common/utils/mcrypt.h --- a/common/utils/mcrypt.h +++ b/common/utils/mcrypt.h @@ -19,7 +19,4 @@ char *mcrypt_SHA512Sum(const char *strin char *mcrypt_RIPEMD160Sum(const char *string, size_t len); char *mcrypt_BackendSum(const char *string, size_t len); char *mcrypt_hashPassword(const char *algo, const char *password, const char *challenge); -#ifdef HAVE_EMBEDDED -char* mcrypt_sum_fail(const char *string, size_t len); #endif -#endif ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: c7f197b16264 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c7f197b16264 Modified Files: common/utils/mcrypt.c Branch: default Log Message: Merge with Jun2016 branch. diffs (22 lines): diff --git a/common/utils/mcrypt.c b/common/utils/mcrypt.c --- a/common/utils/mcrypt.c +++ b/common/utils/mcrypt.c @@ -44,7 +44,7 @@ mcrypt_getHashAlgorithms(void) * desire. */ #if !defined(HAVE_EMBEDDED) && (defined(HAVE_RIPEMD160_UPDATE) || defined(HAVE_SHA256_UPDATE) || defined(HAVE_SHA1_UPDATE) || defined(HAVE_MD5_UPDATE)) - return strdup( + const char *algorithms = #ifdef HAVE_RIPEMD160_UPDATE "RIPEMD160" #endif @@ -66,7 +66,8 @@ mcrypt_getHashAlgorithms(void) #endif "MD5" #endif - ); + ; + return strdup(algorithms); #else fprintf(stderr, "There are no digest functions available.\n"); exit(1); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 570a2bbcecc8 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=570a2bbcecc8 Modified Files: NT/monetdb_config.h.in buildtools/ChangeLog.Jun2016 clients/mapilib/mapi.c common/utils/mcrypt.c common/utils/muuid.c configure.ag monetdb5/mal/mal_authorize.c monetdb5/modules/atoms/uuid.c monetdb5/modules/mal/mal_mapi.c tools/merovingian/utils/control.c tools/merovingian/utils/utils.c tools/mserver/monet_version.c.in Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 1061 to 300 lines): diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -345,8 +345,8 @@ /* Define to 1 if you have the `mallopt' function. */ /* #undef HAVE_MALLOPT */ -/* Define to 1 if you have the `MD5' function. */ -#define HAVE_MD5 1 +/* Define to 1 if you have the `MD5_Update' function. */ +#define HAVE_MD5_UPDATE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 @@ -430,8 +430,8 @@ /* Define if the compiler supports the restrict keyword */ /* #undef HAVE_RESTRICT */ -/* Define to 1 if you have the `RIPEMD160' function. */ -#define HAVE_RIPEMD160 1 +/* Define to 1 if you have the `RIPEMD160_Update' function. */ +#define HAVE_RIPEMD160_UPDATE 1 /* Define to 1 if you have the `round' function. */ #if !defined(_MSC_VER) || _MSC_VER > 1600 @@ -459,20 +459,20 @@ /* Define to 1 if you have the `setsid' function. */ /* #undef HAVE_SETSID */ -/* Define to 1 if you have the `SHA1' function. */ -#define HAVE_SHA1 1 +/* Define to 1 if you have the `SHA1_Update' function. */ +#define HAVE_SHA1_UPDATE 1 -/* Define to 1 if you have the `SHA224' function. */ -#define HAVE_SHA224 1 +/* Define to 1 if you have the `SHA224_Update' function. */ +#define HAVE_SHA224_UPDATE 1 -/* Define to 1 if you have the `SHA256' function. */ -#define HAVE_SHA256 1 +/* Define to 1 if you have the `SHA256_Update' function. */ +#define HAVE_SHA256_UPDATE 1 -/* Define to 1 if you have the `SHA384' function. */ -#define HAVE_SHA384 1 +/* Define to 1 if you have the `SHA384_Update' function. */ +#define HAVE_SHA384_UPDATE 1 -/* Define to 1 if you have the `SHA512' function. */ -#define HAVE_SHA512 1 +/* Define to 1 if you have the `SHA512_Update' function. */ +#define HAVE_SHA512_UPDATE 1 /* Define to 1 if you have the `shutdown' function. */ #define HAVE_SHUTDOWN 1 diff --git a/buildtools/ChangeLog.Jun2016 b/buildtools/ChangeLog.Jun2016 --- a/buildtools/ChangeLog.Jun2016 +++ b/buildtools/ChangeLog.Jun2016 @@ -1,3 +1,7 @@ # ChangeLog file for buildtools # This file is updated with Maddlog +* Mon Sep 26 2016 Sjoerd Mullender+- We now use the CommonCrypto library instead of the OpenSSL library + on Darwin. + diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -2587,9 +2587,15 @@ mapi_reconnect(Mapi mid) char *byteo = NULL; char *serverhash = NULL; char *algsv[] = { +#ifdef HAVE_RIPEMD160_UPDATE "RIPEMD160", +#endif +#ifdef HAVE_SHA1_UPDATE "SHA1", +#endif +#ifdef HAVE_MD5_UPDATE "MD5", +#endif NULL }; char **algs = algsv; @@ -2643,28 +2649,49 @@ mapi_reconnect(Mapi mid) /* hash password, if not already */ if (mid->password[0] != '\1') { char *pwdhash = NULL; +#ifdef HAVE_RIPEMD160_UPDATE if (strcmp(serverhash, "RIPEMD160") == 0) { pwdhash = mcrypt_RIPEMD160Sum(mid->password, strlen(mid->password)); - } else if (strcmp(serverhash, "SHA512") == 0) { + } else +#endif +#ifdef HAVE_SHA512_UPDATE + if (strcmp(serverhash, "SHA512") == 0) { pwdhash = mcrypt_SHA512Sum(mid->password, strlen(mid->password)); - } else if (strcmp(serverhash, "SHA384") == 0) { + } else +#endif +#ifdef HAVE_SHA384_UPDATE + if (strcmp(serverhash, "SHA384") == 0) { pwdhash = mcrypt_SHA384Sum(mid->password, strlen(mid->password)); - } else if (strcmp(serverhash, "SHA256") == 0) { + } else +#endif +#ifdef HAVE_SHA256_UPDATE + if (strcmp(serverhash, "SHA256") == 0) { pwdhash = mcrypt_SHA256Sum(mid->password, strlen(mid->password)); - } else if (strcmp(serverhash,
MonetDB: default - Merge with Jun2016 branch.
Changeset: 9c4d86d2983d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9c4d86d2983d Modified Files: clients/mapilib/mapi.c configure.ag sql/server/rel_dump.c sql/server/rel_optimizer.c sql/server/rel_select.c sql/test/BugTracker-2016/Tests/concat_2_integers.Bug-4058.stable.out Branch: default Log Message: Merge with Jun2016 branch. diffs (135 lines): diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -2175,6 +2175,8 @@ mapi_destroy(Mapi mid) free(mid->password); if (mid->language) free(mid->language); + if (mid->motd) + free(mid->motd); if (mid->database) free(mid->database); diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c --- a/sql/server/rel_dump.c +++ b/sql/server/rel_dump.c @@ -72,6 +72,7 @@ exp_print(mvc *sql, stream *fout, sql_ex (void)sql; if (!e) return; + //mnstr_printf(fout, " %p ", e); switch(e->type) { case e_psm: { if (e->flag & PSM_SET) { @@ -319,6 +320,8 @@ rel_print_(mvc *sql, stream *fout, sql_ mnstr_printf(fout, "\n%cREF %d (%d)", decorate?'=':' ', nr, cnt); } + + //mnstr_printf(fout, " %p ", rel); switch (rel->op) { case op_basetable: { sql_table *t = rel->l; diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -5545,6 +5545,8 @@ exps_used(list *l) static void rel_used(sql_rel *rel) { + if (!rel) + return; if (is_join(rel->op) || is_set(rel->op) || is_semi(rel->op)) { if (rel->l) rel_used(rel->l); @@ -5556,7 +5558,7 @@ rel_used(sql_rel *rel) } else if (rel->op == op_table && rel->r) { exp_used(rel->r); } - if (rel->exps) { + if (rel && rel->exps) { exps_used(rel->exps); if (rel->r && (rel->op == op_project || rel->op == op_groupby)) exps_used(rel->r); diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -2360,6 +2360,7 @@ rel_logical_exp(mvc *sql, sql_rel *rel, list *vals = NULL, *ll = sa_list(sql->sa); int correlated = 0; int l_is_value = 1, r_is_rel = 0; + list *pexps = NULL; /* complex case */ if (dl->h->type == type_list) { /* (a,b..) in (.. ) */ @@ -2389,12 +2390,18 @@ rel_logical_exp(mvc *sql, sql_rel *rel, /* first remove the NULLs */ if (sc->token == SQL_NOT_IN && l->card != CARD_ATOM && has_nil(l)) { + sql_exp *ol; + + rel = rel_project(sql->sa, rel, rel_projections(sql, rel, NULL, 1, 1)); + pexps = rel_projections(sql, rel, NULL, 1, 1); + l = exp_label(sql->sa, l, ++sql->label); + append(rel->exps, l); + ol = l; + l = exp_column(sql->sa, exp_relname(ol), exp_name(ol), exp_subtype(ol), ol->card, has_nil(ol), is_intern(ol)); e = rel_unop_(sql, l, NULL, "isnull", card_value); e = exp_compare(sql->sa, e, exp_atom_bool(sql->sa, 0), cmp_equal); - if (!is_select(rel->op) || rel_is_ref(rel)) - left = rel = rel_select(sql->sa, rel, e); - else - rel_select_add_exp(sql->sa, rel, e); + left = rel = rel_select(sql->sa, rel, e); + l = exp_column(sql->sa, exp_relname(ol), exp_name(ol), exp_subtype(ol), ol->card, has_nil(ol), is_intern(ol)); } append(ll, l); @@ -2440,7 +2447,10 @@ rel_logical_exp(mvc *sql, sql_rel *rel, list_append(nvals, r); } e = exp_in(sql->sa, l, nvals, sc->token==SQL_NOT_IN?cmp_notin:cmp_in); - return rel_select(sql->sa, rel, e); + rel = rel_select(sql->sa, rel, e); + if (pexps) + rel = rel_project(sql->sa, rel, pexps); + return rel; } else { /* complex case */ vals = new_exp_list(sql->sa); n = dl->h->next; @@ -2474,12 +2484,6 @@
MonetDB: default - Merge with Jun2016 branch.
Changeset: 64bf074b6f46 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=64bf074b6f46 Modified Files: configure.ag sql/test/emptydb-upgrade-chain/Tests/check.stable.out sql/test/emptydb-upgrade/Tests/check.stable.out sql/test/emptydb/Tests/All sql/test/emptydb/Tests/check.stable.out Branch: default Log Message: Merge with Jun2016 branch. diffs (12 lines): diff --git a/sql/test/emptydb/Tests/All b/sql/test/emptydb/Tests/All --- a/sql/test/emptydb/Tests/All +++ b/sql/test/emptydb/Tests/All @@ -1,5 +1,5 @@ HAVE_GEOM?load -RELEASERUN&!HAVE_HGE&!HAVE_NETCDF&!HAVE_FITS_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!BITS32?package -RELEASERUN_HGE&!HAVE_NETCDF&!HAVE_FITS_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!BITS32?package-hge +RELEASERUN&!HAVE_HGE&!HAVE_LIDAR&!HAVE_NETCDF&!HAVE_FITS_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!BITS32?package +RELEASERUN_HGE&!HAVE_LIDAR&!HAVE_NETCDF&!HAVE_FITS_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!BITS32?package-hge HAVE_GEOM?dump -!HAVE_NETCDF&!HAVE_FITS_GEOM&!HAVE_GSL_PCRE&!HAVE_SAMTOOLS&!BITS32?check +!HAVE_LIDAR&!HAVE_NETCDF&!HAVE_FITS_GEOM&!HAVE_GSL_PCRE&!HAVE_SAMTOOLS&!BITS32?check ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 5ff4e5d5ec49 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5ff4e5d5ec49 Modified Files: MonetDB.spec debian/control gdk/gdk_batop.c Branch: default Log Message: Merge with Jun2016 branch. diffs (30 lines): diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1146,6 +1146,8 @@ BATsort(BAT **sorted, BAT **order, BAT * assert(g->ttype == TYPE_oid); grps = (oid *) Tloc(g, 0); prev = grps[0]; + if (BATmaterialize(bn) != GDK_SUCCEED) + goto error; for (r = 0, p = 1, q = BATcount(g); p < q; p++) { if (grps[p] != prev) { /* sub sort [r,p) */ @@ -1179,11 +1181,12 @@ BATsort(BAT **sorted, BAT **order, BAT * b->tsorted = b->trevsorted = 1; } if (!(reverse ? bn->trevsorted : bn->tsorted) && - do_sort(Tloc(bn, 0), - on ? Tloc(on, 0) : NULL, - bn->tvheap ? bn->tvheap->base : NULL, - BATcount(bn), Tsize(bn), on ? Tsize(on) : 0, - bn->ttype, reverse, stable) != GDK_SUCCEED) + (BATmaterialize(bn) != GDK_SUCCEED || +do_sort(Tloc(bn, 0), +on ? Tloc(on, 0) : NULL, +bn->tvheap ? bn->tvheap->base : NULL, +BATcount(bn), Tsize(bn), on ? Tsize(on) : 0, +bn->ttype, reverse, stable) != GDK_SUCCEED)) goto error; bn->tsorted = !reverse; bn->trevsorted = reverse; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: a3a69793cce4 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a3a69793cce4 Modified Files: testing/Mtest.py.in Branch: default Log Message: Merge with Jun2016 branch. diffs (21 lines): diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -3713,6 +3713,17 @@ def main(argv) : CONDITIONALS['HAVE_PERL'] = '#' else: print('Perl available, but MonetDB driver not available') +if CONDITIONALS['HAVE_LIBR'] and CheckExec('R'): +proc = process.Popen(['R', '--slave', '--no-save', '--no-restore', + '-e', 'print(Sys.getenv("R_LIBS_USER"))'], + stdout = process.PIPE, stderr = process.PIPE, + universal_newlines = True) +r_out, r_err = proc.communicate() +res = re.search(r'\[\d+\] "(?P.*)"', r_out) +if res is not None: +rdir = os.path.expanduser(res.group('dir')) +if not os.path.exists(rdir): +os.makedirs(rdir) if CheckExec('php'): proc = process.Popen(['php', '-r', "require 'monetdb/php_monetdb.php';"], stdout = process.PIPE, stderr = process.PIPE, ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: 4d2d4532228a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4d2d4532228a Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 7e13ceb03f09 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7e13ceb03f09 Modified Files: .hgtags MonetDB.spec debian/changelog libversions Branch: default Log Message: Merge with Jun2016 branch. diffs (92 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -632,3 +632,5 @@ 4a05df3932a97865ac7e4037361723d5563490b3 c8b06c670a635978640d742643c317b82c5f4b8c Jun2016_7 4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_SP1_release c8b06c670a635978640d742643c317b82c5f4b8c Jun2016_SP1_release +731a25ce40993c0d73ee4fcefb286b9a0a2e0981 Jun2016_9 +731a25ce40993c0d73ee4fcefb286b9a0a2e0981 Jun2016_SP2_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -114,7 +114,7 @@ Vendor: MonetDB BVGroup: Applications/Databases License: MPLv2.0 URL: http://www.monetdb.org/ -Source: http://dev.monetdb.org/downloads/sources/Jun2016-SP1/%{name}-%{version}.tar.bz2 +Source: http://dev.monetdb.org/downloads/sources/Jun2016-SP2/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 @@ -936,6 +936,23 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Mon Sep 19 2016 Sjoerd Mullender - 11.23.9-20160919 +- Rebuilt. +- BZ#3939: Assert failure on concurrent queries when querying sys.queue +- BZ#4019: Casting a timestamp from a string results in NULL +- BZ#4025: expressions in the WHERE clause that evaluates incorrectly +- BZ#4038: After upgrade from 11.21.19, jdbc couldn't list tables for + non sys users +- BZ#4044: Server crash when trying to delete a table has been added to + a merge table with "cascade" at the end +- BZ#4049: Wrong results for queries with "OR" and "LEFT JOIN" +- BZ#4052: Infinite loop in rel_select +- BZ#4054: copy into file wrongly exports functions +- BZ#4059: Geom functions only visible by user monetdb +- BZ#4060: BAT leak in some aggregate queries +- BZ#4062: Error: SELECT: no such binary operator 'like(varchar,varchar)' + when used in query running in other schema than sys + * Wed Jul 13 2016 Sjoerd Mullender - 11.23.7-20160713 - Rebuilt. - BZ#4014: KILL signal diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,23 @@ +monetdb (11.23.9) unstable; urgency=low + + * Rebuilt. + * BZ#3939: Assert failure on concurrent queries when querying sys.queue + * BZ#4019: Casting a timestamp from a string results in NULL + * BZ#4025: expressions in the WHERE clause that evaluates incorrectly + * BZ#4038: After upgrade from 11.21.19, jdbc couldn't list tables for +non sys users + * BZ#4044: Server crash when trying to delete a table has been added to +a merge table with "cascade" at the end + * BZ#4049: Wrong results for queries with "OR" and "LEFT JOIN" + * BZ#4052: Infinite loop in rel_select + * BZ#4054: copy into file wrongly exports functions + * BZ#4059: Geom functions only visible by user monetdb + * BZ#4060: BAT leak in some aggregate queries + * BZ#4062: Error: SELECT: no such binary operator 'like(varchar,varchar)' +when used in query running in other schema than sys + + -- Sjoerd Mullender Mon, 19 Sep 2016 09:30:29 +0200 + monetdb (11.23.7) unstable; urgency=low * Rebuilt. 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=13:3:0 +GDK_VERSION=13:4:0 # version of the MAPI library (subdirectory clients/mapilib) MAPI_VERSION=8:0:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras) -MONETDB5_VERSION=21:3:0 +MONETDB5_VERSION=21:4:0 # version of the STREAM library (subdirectory common/stream) -STREAM_VERSION=8:1:0 +STREAM_VERSION=8:2:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: 3092fc8ece1f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3092fc8ece1f Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 6c4257dd4a84 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6c4257dd4a84 Modified Files: monetdb5/modules/mal/tablet.c Branch: default Log Message: Merge with Jun2016 branch. diffs (13 lines): diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c --- a/monetdb5/modules/mal/tablet.c +++ b/monetdb5/modules/mal/tablet.c @@ -1994,7 +1994,8 @@ SQLload_file(Client cntxt, Tablet *as, b #endif for (i = 0; i < as->nr_attrs; i++) { BAT *b = task->as->format[i].c; - BATsettrivprop(b); + if (b) + BATsettrivprop(b); GDKfree(task->fields[i]); } GDKfree(task->fields); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 8d99b1b83977 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8d99b1b83977 Modified Files: sql/backends/monet5/vaults/lidar/lidar.c Branch: default Log Message: Merge with Jun2016 branch. diffs (14 lines): diff --git a/sql/backends/monet5/vaults/lidar/lidar.c b/sql/backends/monet5/vaults/lidar/lidar.c --- a/sql/backends/monet5/vaults/lidar/lidar.c +++ b/sql/backends/monet5/vaults/lidar/lidar.c @@ -1013,8 +1013,8 @@ str LIDARloadTable(Client cntxt, MalBlkP "number of returns : %d\n" "scan direction: %d\n" "flight line edge : %d\n" - "scan flags: %lc\n" - "classification: %lc\n" + "scan flags: %d\n" + "classification: %d\n" "time : %f\n" "scan angle rank : %d\n" "point source id : %d\n", ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 4b3f9a28686d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4b3f9a28686d Modified Files: configure.ag Branch: default Log Message: Merge with Jun2016 branch. diffs (12 lines): diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -1107,7 +1107,7 @@ AC_PROG_LN_S AC_CHECK_PROGS([DIFF], [gdiff diff]) AC_DEFINE_UNQUOTED([DIFF], ["$DIFF"], [Program to perform diffs]) -AC_CHECK_PROGS([RPMBUILD], [rpmbuild rpm]) +AC_CHECK_PROGS([RPMBUILD], [rpmbuild]) org_have_perl=auto have_perl=$org_have_perl ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 4f542acdd1fe for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4f542acdd1fe Modified Files: sql/backends/monet5/vaults/lidar/lidar.c Branch: default Log Message: Merge with Jun2016 branch. diffs (18 lines): diff --git a/sql/backends/monet5/vaults/lidar/lidar.c b/sql/backends/monet5/vaults/lidar/lidar.c --- a/sql/backends/monet5/vaults/lidar/lidar.c +++ b/sql/backends/monet5/vaults/lidar/lidar.c @@ -1016,12 +1016,12 @@ str LIDARloadTable(Client cntxt, MalBlkP "scan flags: %lc\n" "classification: %lc\n" "time : %f\n" - "scan angle rank : %lc\n" + "scan angle rank : %d\n" "point source id : %d\n", i, x, rawx, y, rawy, z, rawz, intensity, returnno, noofreturns, scandir, flightline, flags, class, - t, anglerank, sourceid); + t, (signed char) anglerank, sourceid); } #endif //TODO: Add a flag that indicates whether LiDAR points should be validited up front ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 4cacfb260a3e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4cacfb260a3e Modified Files: gdk/gdk_utils.c testing/Mtest.py.in Branch: default Log Message: Merge with Jun2016 branch. diffs (262 lines): diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -656,45 +656,56 @@ def CreateHtmlIndex (env, *body) : 'target': '%s_%s_body' % (DISTVER, TSTDIR), 'class': 'black'}, header) +tr = Element('tr', {'valign': 'top'}, + Element('th', {'class': 'header'}, + header)) +tr.addchildren(body) +hbody = Element('body', +{'bgcolor': white, + 'text': black, + 'link': green, + 'vlink': darkgreen, + 'alink': lime}, +Element('center', {}, +Element('table', +{'align': 'abscenter', + 'border': '1', + 'cellspacing': '0', + 'cellpadding': '3'}, +tr))) else: -header = Element('span', {'class': 'black'}, +header = Element('h3', {}, Text(DISTVER)) -tr = Element('tr', {'valign': 'top'}, - Element('th', {'class': 'header'}, - header)) -tr.addchildren(body) +hbody = Element('body', +{'bgcolor': white, + 'text': black, + 'link': green, + 'vlink': darkgreen, + 'alink': lime}, +header) +hbody.addchildren(body) html = Element('html', {}, Element('head', {}, Element('meta', {'charset':'utf8'}), Element('title', {}, Text(HTMLTITLE)), stylesheet), - Element('body', - {'bgcolor': white, -'text': black, -'link': green, -'vlink': darkgreen, -'alink': lime}, - Element('center', {}, - Element('table', - {'align': 'abscenter', -'border': '1', -'cellspacing': '0', -'cellpadding': '3'}, - tr + hbody) f = open("%s.head.html" % INDEX,"w") html.write(f, True) f.close() if TSTDIR: -ROWS="72" +layout = 'rows' +ROWS="8%" else: -ROWS="54" +layout = 'cols' +ROWS="10%" html = Element('html', {}, Element('head', {}, Element('meta', {'charset':'utf8'}), Element('title', {}, Text(HTMLTITLE))), Element('frameset', - {'rows': '%s,*' % ROWS, + {layout: '%s,*' % ROWS, 'frameborder': 'yes', 'border': '1', 'bordercolor': white, @@ -1056,14 +1067,15 @@ def AddTstToHtmlIndex (env, TST, STABLEo ### AddTstToHtmlIndex (env, TST, STABLEout, STABLEerr, EXT) # def AddSubToHtmlIndex (env, TSTDIR, diff) : -td = Element('td', {'class': 'header'}) -td.addchildren(AddHref('%s/.index.html' % url(TSTDIR), '%s__body' % DISTVER, - TSTDIR, diff)) +elem = Element('p', {}) +elem.addchildren(AddHref('%s/.index.html' % url(TSTDIR), + '%s__body' % DISTVER, + TSTDIR, diff)) if '__BODY_' not in env or \ not env['__BODY_'][0] or \ ( (not env['__BODY_'][1]) and diff ): env['__BODY_'] = ["%s/.index.html" % TSTDIR, diff] -return td +return elem ### AddSubToHtmlIndex (env, TSTDIR, diff) # def SkipTest(env, TST, EXT, REASON, length) : @@ -1129,6 +1141,7 @@ def find_test_dirs(thisdir) : ### find_test_dirs(thisdir) # def PerformDir(env, testdir, testlist, BusyPorts, all_tests = False) : +
MonetDB: default - Merge with Jun2016 branch.
Changeset: 7b5567cc9e68 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7b5567cc9e68 Modified Files: gdk/gdk_system.c sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check0.stable.out.int128 sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5.stable.out.int128 tools/merovingian/utils/utils.c Branch: default Log Message: Merge with Jun2016 branch. diffs (81 lines): diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c --- a/gdk/gdk_system.c +++ b/gdk/gdk_system.c @@ -237,18 +237,25 @@ void join_detached_threads(void) { struct winthread *w; + int waited; - EnterCriticalSection(_cs); - while (winthreads) { - w = winthreads; - winthreads = w->next; + do { + waited = 0; + EnterCriticalSection(_cs); + for (w = winthreads; w; w = w->next) { + if ((w->flags & (DETACHED | WAITING)) == DETACHED) { + w->flags |= WAITING; + LeaveCriticalSection(_cs); + WaitForSingleObject(w->hdl, INFINITE); + CloseHandle(w->hdl); + rm_winthread(w); + waited = 1; + EnterCriticalSection(_cs); + break; + } + } LeaveCriticalSection(_cs); - WaitForSingleObject(w->hdl, INFINITE); - CloseHandle(w->hdl); - free(w); - EnterCriticalSection(_cs); - } - LeaveCriticalSection(_cs); + } while (waited); } int diff --git a/sql/test/Tests/systemfunctions.stable.out b/sql/test/Tests/systemfunctions.stable.out --- a/sql/test/Tests/systemfunctions.stable.out +++ b/sql/test/Tests/systemfunctions.stable.out @@ -690,7 +690,7 @@ Ready. [ "sys", "gethost", 1, "url", "" ] [ "sys", "getport", 0, "clob", "create function getport(theurl url) returns string\n external name url.\"getPort\";" ] [ "sys", "getport", 1, "url", "" ] -[ "sys", "getproj4", 0, "clob", "create function getproj4(srid_in integer) returns string \nbegin\n return select proj4text from spatial_ref_sys where srid=srid_in; \nend;"] +[ "sys", "getproj4", 0, "clob", "create function getproj4(srid_in integer) returns string\nbegin\n return select proj4text from spatial_ref_sys where srid=srid_in;\nend;" ] [ "sys", "getproj4", 1, "int", "" ] [ "sys", "getprotocol", 0, "clob", "create function getprotocol(theurl url) returns string\n external name url.\"getProtocol\";" ] [ "sys", "getprotocol", 1, "url", "" ] @@ -4012,7 +4012,7 @@ Ready. [ "sys", "st_touches", 0, "boolean", "create function st_touches(geom1 geometry, geom2 geometry) returns boolean external name geom.\"Touches\";"] [ "sys", "st_touches", 1, "geometry", "" ] [ "sys", "st_touches", 2, "geometry", "" ] -[ "sys", "st_transform", 0, "geometry", "create function st_transform(geom geometry, srid integer) returns geometry\nbegin\n declare srid_src integer;\n declare proj4_src string;\n declare proj4_dest string;\n select st_srid(geom) into srid_src;\n select getproj4(srid_src) into proj4_src;\n select getproj4(srid) into proj4_dest;\n if proj4_src is null then\n return select internaltransform(geom, srid_src, srid, 'null', proj4_dest); \n else\n if proj4_dest is null then\n return select internaltransform(geom, srid_src, srid, proj4_src, 'null'); \n else\n return select internaltransform(geom, srid_src, srid, proj4_src, proj4_dest);\n end if; \n end if;\nend;"] +[ "sys", "st_transform", 0, "geometry", "create function st_transform(geom geometry, srid integer) returns geometry\nbegin\n declare srid_src integer;\n declare proj4_src string;\n declare proj4_dest string;\n select st_srid(geom) into srid_src;\n select getproj4(srid_src) into proj4_src;\n select getproj4(srid) into proj4_dest;\n if proj4_src is null then\n return select internaltransform(geom, srid_src, srid, 'null', proj4_dest);\n else\n if proj4_dest is null then\n return select internaltransform(geom, srid_src,
MonetDB: default - Merge with Jun2016 branch.
Changeset: 0f356442561f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0f356442561f Modified Files: tools/merovingian/utils/utils.c Branch: default Log Message: Merge with Jun2016 branch. diffs (40 lines): diff --git a/tools/merovingian/utils/utils.c b/tools/merovingian/utils/utils.c --- a/tools/merovingian/utils/utils.c +++ b/tools/merovingian/utils/utils.c @@ -118,25 +118,17 @@ freeConfFile(confkeyval *list) { */ int defaultProperty(const char *property) { - // TODO: find a better way to do this - if (property != NULL && strcmp(property, "type") == 0) { - return 1; - } else if (property != NULL && strcmp(property, "shared") == 0) { - return 1; - } else if (property != NULL && strcmp(property, "nthreads") == 0) { - return 1; - } else if (property != NULL && strcmp(property, "readonly") == 0) { - return 1; - } else if (property != NULL && strcmp(property, "nclients") == 0) { - return 1; - } else if (property != NULL && strcmp(property, "mfunnel") == 0) { - return 1; - } else if (property != NULL && strcmp(property, "embedr") == 0) { - return 1; - } else if (property != NULL && strcmp(property, "embedpy") == 0) { - return 1; - } - return 0; + if (property == NULL) + return 0; + return strcmp(property, "type") == 0 || + strcmp(property, "shared") == 0 || + strcmp(property, "nthreads") == 0 || + strcmp(property, "readonly") == 0 || + strcmp(property, "nclients") == 0 || + strcmp(property, "mfunnel") == 0 || + strcmp(property, "embedr") == 0 || + strcmp(property, "embedpy") == 0 || + strcmp(property, "optpipe") == 0; } /** ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: e927418a247f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e927418a247f Modified Files: gdk/gdk_system.c Branch: default Log Message: Merge with Jun2016 branch. diffs (92 lines): diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c --- a/gdk/gdk_system.c +++ b/gdk/gdk_system.c @@ -233,11 +233,32 @@ join_threads(void) } while (waited); } +void +join_detached_threads(void) +{ + struct winthread *w; + + EnterCriticalSection(_cs); + while (winthreads) { + w = winthreads; + winthreads = w->next; + LeaveCriticalSection(_cs); + WaitForSingleObject(w->hdl, INFINITE); + CloseHandle(w->hdl); + free(w); + EnterCriticalSection(_cs); + } + LeaveCriticalSection(_cs); +} + int MT_create_thread(MT_Id *t, void (*f) (void *), void *arg, enum MT_thr_detach d) { struct winthread *w = malloc(sizeof(*w)); + if (w == NULL) + return -1; + if (winthread_cs_init == 0) { /* we only get here before any threads are created, * and this is the only time that winthread_cs_init is @@ -501,23 +522,18 @@ void join_detached_threads(void) { struct posthread *p; - int waited; pthread_t tid; pthread_mutex_lock(_lock); - do { - waited = 0; - for (p = posthreads; p; p = p->next) { - tid = p->tid; - rm_posthread_locked(p); - free(p); - pthread_mutex_unlock(_lock); - pthread_join(tid, NULL); - pthread_mutex_lock(_lock); - waited = 1; - break; - } - } while (waited); + while (posthreads) { + p = posthreads; + posthreads = p->next; + tid = p->tid; + free(p); + pthread_mutex_unlock(_lock); + pthread_join(tid, NULL); + pthread_mutex_lock(_lock); + } pthread_mutex_unlock(_lock); } @@ -542,6 +558,12 @@ MT_create_thread(MT_Id *t, void (*f) (vo pthread_attr_setdetachstate(, PTHREAD_CREATE_JOINABLE); if (d == MT_THR_DETACHED) { p = malloc(sizeof(struct posthread)); + if (p == NULL) { +#ifdef HAVE_PTHREAD_SIGMASK + MT_thread_sigmask(_mask, NULL); +#endif + return -1; + } p->func = f; p->arg = arg; p->exited = 0; @@ -789,6 +811,9 @@ MT_check_nr_cores_(void) lng t0, t1; MT_Id *threads = malloc(sizeof(MT_Id) * curr); + if (threads == NULL) + break; + t0 = GDKusec(); for (i = 0; i < curr; i++) MT_create_thread(threads + i, smp_thread, NULL, MT_THR_JOINABLE); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: f3f489edfd9f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f3f489edfd9f Modified Files: gdk/gdk_firstn.c gdk/gdk_group.c gdk/gdk_logger.c gdk/gdk_posix.c gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_system_private.h gdk/gdk_utils.c gdk/gdk_value.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_function.c monetdb5/mal/mal_import.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_module.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_session.c monetdb5/mal/mal_stack.h monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/color.c monetdb5/modules/atoms/identifier.c monetdb5/modules/atoms/inet.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/streams.c monetdb5/modules/kernel/algebra.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tokenizer.c monetdb5/optimizer/opt_pipes.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_scenario.c Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 1362 to 300 lines): diff --git a/gdk/gdk_firstn.c b/gdk/gdk_firstn.c --- a/gdk/gdk_firstn.c +++ b/gdk/gdk_firstn.c @@ -656,6 +656,8 @@ BATfirstn_grouped(BAT **topn, BAT **gids * can use the base type */ tpe = ATOMbasetype(tpe); /* takes care of oid */ groups = GDKmalloc(sizeof(*groups) * n); + if( groups == NULL) + return GDK_FAIL; oldcand = cand; if (asc) { switch (tpe) { @@ -960,6 +962,8 @@ BATfirstn_grouped_with_groups(BAT **topn * can use the base type */ tpe = ATOMbasetype(tpe); /* takes care of oid */ groups = GDKmalloc(sizeof(*groups) * n); + if( groups == NULL) + return GDK_FAIL; gv = (const oid *) Tloc(g, 0); oldcand = cand; if (asc) { diff --git a/gdk/gdk_group.c b/gdk/gdk_group.c --- a/gdk/gdk_group.c +++ b/gdk/gdk_group.c @@ -711,6 +711,9 @@ BATgroup_internal(BAT **groups, BAT **ex unsigned char *restrict bgrps = GDKmalloc(256); const unsigned char *restrict w = (const unsigned char *) Tloc(b, 0); unsigned char v; + + if( bgrps == NULL) + goto error; memset(bgrps, 0xFF, 256); if (histo) memset(cnts, 0, maxgrps * sizeof(lng)); @@ -737,6 +740,9 @@ BATgroup_internal(BAT **groups, BAT **ex unsigned short *restrict sgrps = GDKmalloc(65536 * sizeof(short)); const unsigned short *restrict w = (const unsigned short *) Tloc(b, 0); unsigned short v; + + if( sgrps == NULL) + goto error; memset(sgrps, 0xFF, 65536 * sizeof(short)); if (histo) memset(cnts, 0, maxgrps * sizeof(lng)); diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -1219,6 +1219,9 @@ bm_subcommit(logger *lg, BAT *list_bid, BATiter iter = (list_nme)?bat_iterator(list_nme):bat_iterator(list_bid); gdk_return res; + if( n == NULL) + return GDK_FAIL; + n[i++] = 0; /* n[0] is not used */ BATloop(list_bid, p, q) { bat col = *(log_bid *) Tloc(list_bid, p); diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c --- a/gdk/gdk_posix.c +++ b/gdk/gdk_posix.c @@ -582,6 +582,12 @@ MT_mremap(const char *path, int mode, vo if (fd >= 0) close(fd); p = malloc(strlen(path) + 5); + if ( p == NULL){ + GDKsyserror("MT_mremap: malloc() failed\n"); + fprintf(stderr, "= %s:%d: MT_mremap(%s,"PTRFMT","SZFMT","SZFMT"): fd < 0\n", __FILE__, __LINE__, path, PTRFMTCAST old_address, old_size, *new_size); + return NULL; + } + strcat(strcpy(p, path), ".tmp"); fd = open(p, O_RDWR | O_CREAT, MONETDB_MODE); @@ -1048,6 +1054,8 @@ reduce_dir_name(const char *src, char *d if (len >= cap) buf = malloc(len + 1); + if(
MonetDB: default - Merge with Jun2016 branch.
Changeset: e6953d38bed6 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e6953d38bed6 Modified Files: configure.ag monetdb5/modules/mal/mal_mapi.c Branch: default Log Message: Merge with Jun2016 branch. diffs (17 lines): diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -1147,6 +1147,13 @@ AS_VAR_IF([have_perl], [no], PERL_LIBDIR=`"$PERL" -MConfig -e '$x=$Config{installvendorarch}; $x =~ s|$Config{vendorprefix}/||; print $x;' 2>/dev/null` # On Darwin this starts with a slash, remove it PERL_LIBDIR="${PERL_LIBDIR@%:@/}" + AS_VAR_IF([PERL_LIBDIR], [], [ + # if empty (e.g. on FreeBSD) try something else + PERL_LIBDIR=`"$PERL" -MConfig -e '$x=$Config{sitelib}; $x =~ s|$Config{prefix}/||; print $x;' 2>/dev/null` + AS_VAR_IF([PERL_LIBDIR], [], [ + # if still empty, give up + have_perl=no + why_have_perl='(cannot determine location for files)'])]) ], [no], [], [ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: a219824bb780 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a219824bb780 Modified Files: clients/Tests/SQL-dump.SQL.py clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 geom/sql/40_geom.sql sql/backends/monet5/sql_upgrades.c sql/scripts/12_url.sql sql/scripts/14_inet.sql sql/scripts/39_analytics.sql sql/scripts/39_analytics_hge.sql sql/scripts/40_json.sql sql/scripts/40_json_hge.sql sql/scripts/45_uuid.sql sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/check.stable.out sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/check.stable.out sql/test/emptydb-upgrade/Tests/check.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 8562 to 300 lines): diff --git a/clients/Tests/SQL-dump.SQL.py b/clients/Tests/SQL-dump.SQL.py --- a/clients/Tests/SQL-dump.SQL.py +++ b/clients/Tests/SQL-dump.SQL.py @@ -61,7 +61,7 @@ sys.stderr.write(err) # add queries to dump the system tables, but avoid dumping IDs since # they are too volatile, and if it makes sense, dump an identifier # from a referenced table -out = ''' +out = r''' -- helper function create function pcre_replace(origin string, pat string, repl string, flags string) returns string external name pcre.replace; -- schemas diff --git a/clients/Tests/SQL-dump.stable.out b/clients/Tests/SQL-dump.stable.out --- a/clients/Tests/SQL-dump.stable.out +++ b/clients/Tests/SQL-dump.stable.out @@ -1190,15 +1190,11 @@ create function pcre_replace(origin stri -- schemas select name, authorization, owner, system from sys.schemas order by name; -- _tables -select s.name, t.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(t.query, '--.* -', '', ''), '[ -]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; +select s.name, t.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(t.query, '--.*\n', '', ''), '[ \t\n]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, t.type, t.system, t.commit_action, t.access from sys._tables t left outer join sys.schemas s on t.schema_id = s.id order by s.name, t.name; -- _columns select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = c.table_id order by t.name, c.number; -- functions -select s.name, f.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(f.func, '--.* -', '', ''), '[ -]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, query; +select s.name, f.name, replace(replace(pcre_replace(pcre_replace(pcre_replace(f.func, '--.*\n', '', ''), '[ \t\n]+', ' ', 'm'), '^ ', '', ''), '( ', '('), ' )', ')') as query, f.mod, f.language, f.type, f.side_effect, f.varres, f.vararg from sys.functions f left outer join sys.schemas s on f.schema_id = s.id order by s.name, f.name, query; -- args with arg1 (id, id1, name1, type1, type_digits1, type_scale1, inout1) as (select f.id, a1.id, a1.name, a1.type, a1.type_digits, a1.type_scale, a1.inout from sys.functions f left outer join args a1 on a1.func_id = f.id and a1.number = 1), @@ -5231,7 +5227,7 @@ drop function pcre_replace(string, strin % sys.t, sys.a, .p, .g, .p # table_name % name,name, privileges, name, grantable # name % varchar, varchar,int,varchar,
MonetDB: default - Merge with Jun2016 branch.
Changeset: 386936771f91 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=386936771f91 Modified Files: monetdb5/modules/mal/batExtensions.c sql/server/sql_parser.y Branch: default Log Message: Merge with Jun2016 branch. diffs (119 lines): diff --git a/monetdb5/modules/mal/batExtensions.c b/monetdb5/modules/mal/batExtensions.c --- a/monetdb5/modules/mal/batExtensions.c +++ b/monetdb5/modules/mal/batExtensions.c @@ -75,7 +75,7 @@ CMDBATsingle(Client cntxt, MalBlkPtr mb, if (ATOMextern(b->ttype)) u = (ptr) *(str *)u; BUNappend(b, u, FALSE); - BBPincref(*ret = b->batCacheid, TRUE); + BBPkeepref(*ret = b->batCacheid); return MAL_SUCCEED; } diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y --- a/sql/server/sql_parser.y +++ b/sql/server/sql_parser.y @@ -1808,8 +1808,11 @@ func_def: lang = FUNC_LANG_C; else if (l == 'J' || l == 'j') lang = FUNC_LANG_J; - else - yyerror(m, sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l)); + else { + char *msg = sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l); + yyerror(m, msg); + _DELETE(msg); + } append_list(f, $3); append_list(f, $5); @@ -1865,8 +1868,11 @@ func_def: lang = FUNC_LANG_C; else if (l == 'J' || l == 'j') lang = FUNC_LANG_J; - else - yyerror(m, sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l)); + else { + char *msg = sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l); + yyerror(m, msg); + _DELETE(msg); + } append_list(f, $3); append_list(f, $5); @@ -3396,9 +3402,7 @@ like_exp: | scalar_exp ESCAPE string { const char *s = sql2str($3); if (_strlen(s) != 1) { - char *msg = sql_message("\b22025!ESCAPE must be one character"); - yyerror(m, msg); - _DELETE(msg); + yyerror(m, "\b22025!ESCAPE must be one character"); $$ = NULL; YYABORT; } else { @@ -3681,10 +3685,7 @@ simple_scalar_exp: if (!atom_neg(a)) { $$ = $2; } else { - char *msg = sql_message("\b22003!value too large or not a number"); - - yyerror(m, msg); - _DELETE(msg); + yyerror(m, "\b22003!value too large or not a number"); $$ = NULL; YYABORT; } @@ -4977,7 +4978,11 @@ data_type: } } | GEOMETRY { - sql_find_subtype(&$$, "geometry", 0, 0 ); + if (!sql_find_subtype(&$$, "geometry", 0, 0 )) { + yyerror(m, "\b22000!type (geometry) unknown"); + $$.type = NULL; + YYABORT; + } } | GEOMETRY '(' subgeometry_type ')' { int geoSubType = $3; @@ -5010,7 +5015,11 @@ data_type: } } | GEOMETRYA { - sql_find_subtype(&$$, "geometrya", 0, 0 ); + if (!sql_find_subtype(&$$, "geometrya", 0, 0 )) { + yyerror(m, "\b22000!type (geometrya) unknown"); + $$.type = NULL; + YYABORT; + } } | GEOMETRYSUBTYPE { int geoSubType = find_subgeometry_type($1); @@ -5022,7 +5031,7 @@ data_type: _DELETE(msg); YYABORT; } else if (!sql_find_subtype(&$$, "geometry", geoSubType, 0 )) { - char *msg = sql_message("\b22000!type (%s) unknown", $1); + char *msg = sql_message("\b22000!type (%s) unknown", $1); yyerror(m, msg); _DELETE(msg); $$.type = NULL; @@ -5040,7 +5049,7 @@ subgeometry_type: char *msg = sql_message("\b22000!type (%s) unknown", geoSubType); yyerror(m, msg); _DELETE(msg); - + YYABORT; } $$ =
MonetDB: default - Merge with Jun2016 branch.
Changeset: 3f923b35041e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3f923b35041e Added Files: monetdb5/mal/Tests/tst023.malC monetdb5/mal/Tests/tst023.stable.err monetdb5/mal/Tests/tst023.stable.out Modified Files: gdk/gdk_batop.c monetdb5/mal/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (188 lines): diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -612,7 +612,7 @@ BATdel(BAT *b, BAT *d) nd++; if (c == 0 || *o - b->hseqbase >= BATcount(b)) n = b->hseqbase + BATcount(b) - o[-1] - 1; - else if ((oid) (o - s) > *o - *s) + else if ((oid) (o - s) < *o - *s) n = o[0] - o[-1] - 1; else n = 0; @@ -636,6 +636,10 @@ BATdel(BAT *b, BAT *d) b->tnonil = 1; } } + /* not sure about these anymore */ + b->tnosorted = b->tnorevsorted = 0; + b->tnokey[0] = b->tnokey[1] = 0; + return GDK_SUCCEED; } diff --git a/monetdb5/mal/Tests/All b/monetdb5/mal/Tests/All --- a/monetdb5/mal/Tests/All +++ b/monetdb5/mal/Tests/All @@ -20,15 +20,16 @@ tst019 tst020 tst021 tst022 +tst023 tst024 -#tst025 +tst025 tst026 tst027 tst028 tst029 tst030 -#tst031 -#tst032 +tst031 +tst032 tst033 tst034 tst035 diff --git a/monetdb5/mal/Tests/tst023.malC b/monetdb5/mal/Tests/tst023.malC new file mode 100644 --- /dev/null +++ b/monetdb5/mal/Tests/tst023.malC @@ -0,0 +1,24 @@ +b1:= bat.new(:int); +b2:= bat.new(:flt); + +bat.append(b1,1); +bat.append(b1,2); +bat.append(b1,3); +bat.append(b1,4); +bat.append(b1,2); + +bat.append(b2, 12.31); +bat.append(b2, 12.32); +bat.append(b2, 12.33); +bat.append(b2, 12.34); +bat.append(b2, 12.35); +io.print(b1,b2); + +s:= algebra.subselect(b1,2,2,true,true,false); +io.print(s); + +bat.delete(b1,s); +io.print(b1); +bat.delete(b2,s); +io.print(b2); +io.print(b1,b2); diff --git a/monetdb5/mal/Tests/tst023.stable.err b/monetdb5/mal/Tests/tst023.stable.err new file mode 100644 --- /dev/null +++ b/monetdb5/mal/Tests/tst023.stable.err @@ -0,0 +1,35 @@ +stderr of test 'tst023` in directory 'monetdb5/mal` itself: + + +# 10:17:06 > +# 10:17:06 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36074" "--set" "mapi_usock=/var/tmp/mtest-8504/.s.monetdb.36074" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/sjoerd/Monet-stable/var/MonetDB/mTests_monetdb5_mal" "--set" "embedded_r=yes" +# 10:17:06 > + +# builtin opt gdk_dbpath = /ufs/sjoerd/Monet-stable/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 36074 +# cmdline opt mapi_usock = /var/tmp/mtest-8504/.s.monetdb.36074 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /ufs/sjoerd/Monet-stable/var/MonetDB/mTests_monetdb5_mal +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 10:17:07 > +# 10:17:07 > "mclient" "-lmal" "-ftest" "-Eutf-8" "--host=/var/tmp/mtest-8504" "--port=36074" +# 10:17:07 > + + +# 10:17:07 > +# 10:17:07 > "Done." +# 10:17:07 > + diff --git a/monetdb5/mal/Tests/tst023.stable.out b/monetdb5/mal/Tests/tst023.stable.out new file mode 100644 --- /dev/null +++ b/monetdb5/mal/Tests/tst023.stable.out @@ -0,0 +1,68 @@ +stdout of test 'tst023` in directory 'monetdb5/mal` itself: + + +# 10:17:06 > +# 10:17:06 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36074" "--set" "mapi_usock=/var/tmp/mtest-8504/.s.monetdb.36074" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/sjoerd/Monet-stable/var/MonetDB/mTests_monetdb5_mal" "--set" "embedded_r=yes" +# 10:17:06 > + +# MonetDB 5 server v11.23.8 (hg id: b4168ee316f9+) +# This is an unreleased version +# Serving database 'mTests_monetdb5_mal', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 15.589 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2016 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://madrid.da.cwi.nl:36074/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-8504/.s.monetdb.36074 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded +# MonetDB/R module loaded + +Ready. + +# 10:17:07 >
MonetDB: default - Merge with Jun2016 branch.
Changeset: db733bbc40d3 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=db733bbc40d3 Modified Files: common/stream/stream.c Branch: default Log Message: Merge with Jun2016 branch. diffs (12 lines): diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -3236,7 +3236,7 @@ ic_close(stream *s) struct icstream *ic = (struct icstream *) s->stream_data.p; if (ic) { - if (ic->access == ST_WRITE) + if (s->access == ST_WRITE) ic_flush(s); iconv_close(ic->cd); mnstr_close(ic->s); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 102d34b2ff38 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=102d34b2ff38 Added Files: sql/test/BugTracker-2016/Tests/innerjoin-leftjoin-or.Bug-4049.sql sql/test/BugTracker-2016/Tests/innerjoin-leftjoin-or.Bug-4049.stable.err sql/test/BugTracker-2016/Tests/innerjoin-leftjoin-or.Bug-4049.stable.out Modified Files: common/stream/stream.c monetdb5/modules/mal/tablet.c sql/common/sql_list.c sql/include/sql_list.h sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_select.c sql/test/BugTracker-2015/Tests/mserver-crashes-under-specific-combination-of-JOIN-and-WHERE-conditions.Bug-3872.stable.out sql/test/BugTracker-2016/Tests/All sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 462 to 300 lines): diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -1539,8 +1539,8 @@ stream_xzclose(stream *s) if (fwrite(xz->buf, 1, sz, xz->fp) != sz) s->errnr = MNSTR_WRITE_ERROR; } + fflush(xz->fp); } - fflush(xz->fp); fclose(xz->fp); lzma_end(>strm); free(xz); @@ -3236,7 +3236,8 @@ ic_close(stream *s) struct icstream *ic = (struct icstream *) s->stream_data.p; if (ic) { - ic_flush(s); + if (ic->access == ST_WRITE) + ic_flush(s); iconv_close(ic->cd); mnstr_close(ic->s); mnstr_destroy(ic->s); diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c --- a/monetdb5/modules/mal/tablet.c +++ b/monetdb5/modules/mal/tablet.c @@ -59,7 +59,7 @@ void_bat_create(int adt, BUN nr) /* check for correct structures */ if (b == NULL) - return b; + return NULL; BATsetaccess(b, BAT_APPEND); if (nr > BATTINY && adt && BATextend(b, nr) != GDK_SUCCEED) { BBPunfix(b->batCacheid); @@ -202,13 +202,13 @@ TABLETcreate_bats(Tablet *as, BUN est) if (fmt[i].skip) continue; fmt[i].c = void_bat_create(fmt[i].adt, est); - fmt[i].ci = bat_iterator(fmt[i].c); if (!fmt[i].c) { for (j = 0; j < i; j++) if (!fmt[i].skip) BBPdecref(fmt[j].c->batCacheid, FALSE); throw(SQL, "copy", "Failed to create bat of size " BUNFMT "\n", as->nr); } + fmt[i].ci = bat_iterator(fmt[i].c); } return MAL_SUCCEED; } diff --git a/sql/common/sql_list.c b/sql/common/sql_list.c --- a/sql/common/sql_list.c +++ b/sql/common/sql_list.c @@ -256,6 +256,15 @@ list_remove_data(list *s, void *data) } void +list_remove_list(list *l, list *data) +{ + node *n; + + for (n=data->h; n; n = n->next) + list_remove_data(l, n->data); +} + +void list_move_data(list *s, list *d, void *data) { node *n; diff --git a/sql/include/sql_list.h b/sql/include/sql_list.h --- a/sql/include/sql_list.h +++ b/sql/include/sql_list.h @@ -47,6 +47,7 @@ extern list *list_prepend(list *l, void extern node *list_remove_node(list *l, node *n); extern void list_remove_data(list *l, void *data); +extern void list_remove_list(list *l, list *data); extern void list_move_data(list *l, list *d, void *data); diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -6701,7 +6701,7 @@ rel_split_outerjoin(int *changes, mvc *s e = rel->exps->h->data; nll->exps = exps_copy(sql->sa, e->l); nlr->exps = exps_copy(sql->sa, e->r); - nl = rel_or( sql, nll, nlr, NULL, e->l, e->r); + nl = rel_or( sql, nll, nlr, NULL, NULL, NULL); if (rel->op == op_full) { l = rel_dup(l); @@ -7928,6 +7928,7 @@ static sql_rel * if (level <= 0) rel = rewrite_topdown(sql, rel, _semijoin_use_fk, ); } + if (gp.cnt[op_left] || gp.cnt[op_right] || gp.cnt[op_full]) rel = rewrite_topdown(sql, rel, _split_outerjoin, ); diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -1054,34 +1054,41 @@ rel_or(mvc *sql, sql_rel *l, sql_rel *r, { sql_rel *rel, *ll = l->l, *rl = r->l; - if (l == r && is_outerjoin(l->op)) { /* merge both lists */ + assert(!lexps || l == r); + if (l == r && lexps) { /*
MonetDB: default - Merge with Jun2016 branch.
Changeset: 19775df76ede for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=19775df76ede Modified Files: gdk/gdk_aggr.c sql/server/rel_rel.c sql/storage/store.c Branch: default Log Message: Merge with Jun2016 branch. diffs (73 lines): diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -1542,7 +1542,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT n++;\ } \ /* the sum fit, so now we can calculate the average */ \ - *avg = (dbl) sum / n; \ + *avg = n > 0 ? (dbl) sum / n : dbl_nil; \ if (0) {\ overflow##TYPE: \ /* we get here if sum(x[0],...,x[i]) doesn't */ \ @@ -1551,6 +1551,9 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT /* the rest of the calculation is done */ \ /* according to the loop invariant described */ \ /* in the below loop */ \ + /* note that n necessarily is > 0 (else no */ \ + /* overflow possible) */\ + assert(n > 0); \ if (sum >= 0) { \ a = (TYPE) (sum / (lng_hge) n); /* this fits */ \ r = (BUN) (sum % (SBUN) n); \ @@ -1566,24 +1569,25 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT if (cand) \ --cand; \ \ - for (; i < end; i++) { \ + for (;;) { \ /* loop invariant: */ \ /* a + r/n == average(x[0],...,x[n]); */ \ - /* 0 <= r < n (if n > 0) */ \ - /* or if n == 0: a == 0; r == 0 */ \ + /* 0 <= r < n */\ if (cand) { \ - if (i < *cand - b->hseqbase)\ - continue; \ - assert(i == *cand - b->hseqbase); \ - if (++cand == candend) \ - end = i + 1;\ + if (cand == candend)\ + break; \ + i = *cand++ - b->hseqbase; \ + } else {\ + i = start++;\ } \ + if (i >= end) \ + break; \ x = ((const TYPE *) src)[i];\ if (x == TYPE##_nil)\ continue; \ AVERAGE_ITER(TYPE, x, a, r, n); \ } \ - *avg = n > 0 ? a + (dbl) r / n : dbl_nil; \ + *avg = a + (dbl) r / n; \ } \ } while (0) diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -1074,6 +1074,12 @@ rel_or(mvc *sql, sql_rel *l, sql_rel *r, rel_destroy(r); append(nl, e); l->exps = nl; + if (ll->op == l->op) { + list_merge(ll->exps,l->exps, (fdup)NULL); + l->l = NULL; + rel_destroy(l); + return ll; + } return l; } l = rel_project(sql->sa, l, rel_projections(sql, l, NULL, 1, 1)); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: b2acec955af0 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b2acec955af0 Modified Files: clients/odbc/driver/SQLGetFunctions.c gdk/gdk_aggr.c gdk/gdk_atoms.h gdk/gdk_heap.c gdk/gdk_unique.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_runtime.c monetdb5/modules/atoms/uuid.c monetdb5/modules/mal/mkey.c sql/common/sql_keyword.c sql/common/sql_list.c sql/server/sql_datetime.c sql/server/sql_decimal.c sql/test/pg_regress/Tests/interval.stable.err sql/test/pg_regress/Tests/interval.stable.err.int128 sql/test/pg_regress/Tests/interval.stable.out sql/test/pg_regress/Tests/interval.stable.out.int128 tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/handlers.c tools/merovingian/daemon/monetdbd.service.in Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 618 to 300 lines): diff --git a/clients/odbc/driver/SQLGetFunctions.c b/clients/odbc/driver/SQLGetFunctions.c --- a/clients/odbc/driver/SQLGetFunctions.c +++ b/clients/odbc/driver/SQLGetFunctions.c @@ -399,7 +399,7 @@ SQLGetFunctions(SQLHDBC ConnectionHandle UWORD *p; for (p = FuncImplemented; p < [NFUNCIMPLEMENTED]; p++) - FuncExistMap[*p >> 4] |= 1 << (*p & 0xF); + FuncExistMap[*p >> 4] |= (UWORD) 1 << (*p & 0xF); } if (FunctionId == SQL_API_ODBC3_ALL_FUNCTIONS) { diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -235,8 +235,8 @@ BATgroupaggrinit(BAT *b, BAT *g, BAT *e, } \ } else {\ if (nil_if_empty && \ - !(seen[gid >> 5] & (1 << (gid & 0x1F { \ - seen[gid >> 5] |= 1 << (gid & 0x1F); \ + !(seen[gid >> 5] & (1U << (gid & 0x1F { \ + seen[gid >> 5] |= 1U << (gid & 0x1F); \ sums[gid] = 0; \ } \ if (sums[gid] != TYPE2##_nil) { \ @@ -275,8 +275,8 @@ BATgroupaggrinit(BAT *b, BAT *g, BAT *e, } \ } else {\ if (nil_if_empty && \ - !(seen[gid >> 5] & (1 << (gid & 0x1F { \ - seen[gid >> 5] |= 1 << (gid & 0x1F); \ + !(seen[gid >> 5] & (1U << (gid & 0x1F { \ + seen[gid >> 5] |= 1U << (gid & 0x1F); \ sums[gid] = 0; \ } \ if (sums[gid] != TYPE2##_nil) { \ @@ -679,8 +679,8 @@ BATsum(void *res, int tp, BAT *b, BAT *s } \ } else {\ if (nil_if_empty && \ - !(seen[gid >> 5] & (1 << (gid & 0x1F { \ - seen[gid >> 5] |= 1 << (gid & 0x1F); \ + !(seen[gid >> 5] & (1U << (gid & 0x1F { \ + seen[gid >> 5] |= 1U << (gid & 0x1F); \ prods[gid] = 1; \ } \ if (prods[gid] != TYPE2##_nil) { \ @@ -724,8 +724,8 @@ BATsum(void *res, int tp, BAT *b, BAT *s gid = (oid) i; \ } \ if (nil_if_empty && \ - !(seen[gid >> 5] & (1 << (gid & 0x1F { \ - seen[gid >> 5] |= 1 << (gid & 0x1F); \ + !(seen[gid >> 5] & (1U << (gid & 0x1F { \ + seen[gid >> 5] |= 1U << (gid & 0x1F); \
MonetDB: default - Merge with Jun2016 branch.
Changeset: 3962b14fdee5 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3962b14fdee5 Modified Files: NT/monetdb_config.h.in clients/mapiclient/mclient.c configure.ag monetdb5/optimizer/opt_mergetable.c sql/backends/monet5/sql_gencode.c Branch: default Log Message: Merge with Jun2016 branch. diffs (107 lines): diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -187,6 +187,11 @@ /* Define to 1 if you have the `getaddrinfo' function. */ #define HAVE_GETADDRINFO 1 +/* Define to 1 if you have the `GetDynamicTimeZoneInformation' function. */ +#ifdef _MSC_VER +#define HAVE_GETDYNAMICTIMEZONEINFORMATION 1 +#endif + /* Define to 1 if you have the `getexecname' function. */ /* #undef HAVE_GETEXECNAME */ @@ -205,11 +210,6 @@ /* Define to 1 if you have the `gettimeofday' function. */ /* #undef HAVE_GETTIMEOFDAY */ -/* Define to 1 if you have the `_get_timezone' function. */ -#ifdef _MSC_VER -#define HAVE__GET_TIMEZONE 1 -#endif - /* Define to 1 if you have the `getuid' function. */ /* #undef HAVE_GETUID */ diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -2849,15 +2849,33 @@ set_timezone(Mapi mid) MapiHdl hdl; /* figure out our current timezone */ -#ifdef HAVE__GET_TIMEZONE - __time64_t ltime, lt, gt; - struct tm loctime; +#if defined HAVE_GETDYNAMICTIMEZONEINFORMATION + DYNAMIC_TIME_ZONE_INFORMATION tzinf; - _time64(); - _localtime64_s(, ); - lt = _mktime64(); - gt = _mkgmtime64(); - tzone = (int) (lt - gt); + /* documentation says: UTC = localtime + Bias (in minutes), +* but experimentation during DST period says, UTC = localtime +* + Bias + DaylightBias, and presumably during non DST +* period, UTC = localtime + Bias */ + switch (GetDynamicTimeZoneInformation()) { + case TIME_ZONE_ID_STANDARD: + case TIME_ZONE_ID_UNKNOWN: + tzone = (int) tzinf.Bias * 60; + break; + case TIME_ZONE_ID_DAYLIGHT: + tzone = (int) (tzinf.Bias + tzinf.DaylightBias) * 60; + break; + default: + /* call failed, we don't know the time zone */ + tzone = 0; + break; + } +#elif defined HAVE_STRUCT_TM_TM_ZONE + time_t t; + struct tm *tmp; + + t = time(NULL); + tmp = localtime(); + tzone = (int) -tmp->tm_gmtoff; #else time_t t, lt, gt; struct tm *tmp; diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -3193,6 +3193,8 @@ if test $mn_cv_have__sys_siglist = yes; AC_DEFINE(HAVE__SYS_SIGLIST, 1, [Define if you have _sys_siglist]) fi +AC_STRUCT_TIMEZONE + dnl check dependencies (might need more than just SQL) if test x"$enable_sql" = xyes && test x"$enable_monetdb5" = x"no" ; then AC_MSG_ERROR([MonetDB/SQL requires MonetDB5${disable_monetdb5:+ $disable_monetdb5}.]) diff --git a/monetdb5/optimizer/opt_mergetable.c b/monetdb5/optimizer/opt_mergetable.c --- a/monetdb5/optimizer/opt_mergetable.c +++ b/monetdb5/optimizer/opt_mergetable.c @@ -713,7 +713,7 @@ mat_joinNxM(Client cntxt, MalBlkPtr mb, int mv1 = mats[0], i; int mv2 = mats[args-1]; int split = subjoin_split(cntxt, p, args); - int nr_mv1 = split, nr_mv2 = nr_mats-split; + int nr_mv1 = split; if (split < 0) { GDKfree(mats); @@ -729,8 +729,8 @@ mat_joinNxM(Client cntxt, MalBlkPtr mb, getArg(q,1) = newTmpVariable(mb, tpe); for (i = 0; i < nr_mv1; i++ ) getArg(q,q->retc+i) = getArg(mat[mats[i]].mi,k); - for (i = 0; i < nr_mv2; i++ ) - getArg(q,q->retc+split+i) = getArg(mat[mats[i]].mi,k); + for (; i < nr_mats; i++ ) + getArg(q,q->retc+i) = getArg(mat[mats[i]].mi,j); pushInstruction(mb,q); propagatePartnr(ml, getArg(mat[mv1].mi, k), getArg(q,0), nr); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 760c3214f0c5 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=760c3214f0c5 Modified Files: monetdb5/mal/mal_profiler.c tools/mserver/mserver5.c Branch: default Log Message: Merge with Jun2016 branch. diffs (62 lines): diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -693,24 +693,16 @@ TRACEcreate(const char *hnme, const char char buf[BUFSIZ]; snprintf(buf, BUFSIZ, "trace_%s_%s", hnme, tnme); - b = BATdescriptor(BBPindex(buf)); - if (b) { - BBPincref(b->batCacheid, TRUE); - return b; - } - b = COLnew(0, tt, 1 << 16, PERSISTENT); + b = COLnew(0, tt, 1 << 16, TRANSIENT); if (b == NULL) return NULL; - - BATmode(b, PERSISTENT); BBPrename(b->batCacheid, buf); - BATcommit(b); return b; } -#define CLEANUPprofile(X) if (X) { BBPdecref((X)->batCacheid, TRUE); (X)->batPersistence = TRANSIENT; } (X) = NULL; +#define CLEANUPprofile(X) if (X) { BBPunfix((X)->batCacheid); } (X) = NULL; static void _cleanupProfiler(void) @@ -786,19 +778,7 @@ clearTrace(void) return; /* not initialized */ } /* drop all trace tables */ - BBPclear(TRACE_id_event->batCacheid); - BBPclear(TRACE_id_time->batCacheid); - BBPclear(TRACE_id_pc->batCacheid); - BBPclear(TRACE_id_thread->batCacheid); - BBPclear(TRACE_id_ticks->batCacheid); - BBPclear(TRACE_id_rssMB->batCacheid); - BBPclear(TRACE_id_tmpspace->batCacheid); - BBPclear(TRACE_id_inblock->batCacheid); - BBPclear(TRACE_id_oublock->batCacheid); - BBPclear(TRACE_id_minflt->batCacheid); - BBPclear(TRACE_id_majflt->batCacheid); - BBPclear(TRACE_id_nvcsw->batCacheid); - BBPclear(TRACE_id_stmt->batCacheid); + _cleanupProfiler(); TRACE_init = 0; MT_lock_unset(_contextLock); initTrace(); diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -281,6 +281,7 @@ main(int argc, char **av) _CrtSetReportMode(_CRT_ERROR, 0); _CrtSetReportMode(_CRT_ASSERT, 0); _set_invalid_parameter_handler(mserver_invalid_parameter_handler); + _set_output_format(_TWO_DIGIT_EXPONENT); #endif if (setlocale(LC_CTYPE, "") == NULL) { GDKfatal("cannot set locale\n"); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 9a2ff0ca8d49 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9a2ff0ca8d49 Modified Files: clients/mapiclient/stethoscope.c clients/mapiclient/tachograph.c clients/mapiclient/tomograph.c sql/test/emptydb/updatetests Branch: default Log Message: Merge with Jun2016 branch. diffs (54 lines): diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c --- a/clients/mapiclient/stethoscope.c +++ b/clients/mapiclient/stethoscope.c @@ -339,6 +339,9 @@ main(int argc, char **argv) } conn = mapi_get_from(dbh); while ((n = mnstr_read(conn, buffer + len, 1, buflen - len-1)) >= 0) { + if (n == 0 && + (n = mnstr_read(conn, buffer + len, 1, buflen - len-1)) <= 0) + break; buffer[len + n] = 0; response = buffer; if( debug) diff --git a/clients/mapiclient/tachograph.c b/clients/mapiclient/tachograph.c --- a/clients/mapiclient/tachograph.c +++ b/clients/mapiclient/tachograph.c @@ -521,6 +521,9 @@ main(int argc, char **argv) } conn = mapi_get_from(dbh); while ((n = mnstr_read(conn, buffer + len, 1, buflen - len-1)) >= 0) { + if (n == 0 && + (n = mnstr_read(conn, buffer + len, 1, buflen - len-1)) <= 0) + break; buffer[len + n] = 0; response = buffer; while ((e = strchr(response, '\n')) != NULL) { diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c --- a/clients/mapiclient/tomograph.c +++ b/clients/mapiclient/tomograph.c @@ -1877,7 +1877,8 @@ main(int argc, char **argv) resetTomograph(); conn = mapi_get_from(dbh); while ((m = mnstr_read(conn, buffer + len, 1, buflen - len-1)) >= 0) { - if (m == 0 && (m = mnstr_read(conn, buffer + len, 1, buflen - len-1)) <= 0) + if (m == 0 && + (m = mnstr_read(conn, buffer + len, 1, buflen - len-1)) <= 0) break; buffer[len + m] = 0; response = buffer; diff --git a/sql/test/emptydb/updatetests b/sql/test/emptydb/updatetests --- a/sql/test/emptydb/updatetests +++ b/sql/test/emptydb/updatetests @@ -11,7 +11,10 @@ 1) fi ;; 0) -if [ -f Tests/load.sql ] && [ -f Tests/check.SQL.py ]; then +case $0 in +*/*) cd ${0%/*};; +esac +if [ -f Tests/load.sql ] && [ -f Tests/check.SQL.py.src ]; then : else echo "bad directory" ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 04a33eb12363 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=04a33eb12363 Modified Files: clients/mapiclient/tomograph.c monetdb5/mal/mal_runtime.c Branch: default Log Message: Merge with Jun2016 branch. diffs (23 lines): diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c --- a/clients/mapiclient/tomograph.c +++ b/clients/mapiclient/tomograph.c @@ -1877,6 +1877,8 @@ main(int argc, char **argv) resetTomograph(); conn = mapi_get_from(dbh); while ((m = mnstr_read(conn, buffer + len, 1, buflen - len-1)) >= 0) { + if (m == 0 && (m = mnstr_read(conn, buffer + len, 1, buflen - len-1)) <= 0) + break; buffer[len + m] = 0; response = buffer; while ((e = strchr(response, '\n')) != NULL) { diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c --- a/monetdb5/mal/mal_runtime.c +++ b/monetdb5/mal/mal_runtime.c @@ -120,6 +120,7 @@ runtimeProfileFinish(Client cntxt, MalBl } qtop = j; + QRYqueue[qtop].query = NULL; /* sentinel for SYSMONqueue() */ MT_lock_unset(_delayLock); } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: eba84239e9ff for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eba84239e9ff Modified Files: gdk/gdk_join.c gdk/gdk_select.c Branch: default Log Message: Merge with Jun2016 branch. diffs (63 lines): diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -474,6 +474,8 @@ nomatch(BAT *r1, BAT *r2, BAT *l, BAT *r } else { cnt = lend - lstart; HEAPfree(>theap, 1); + r1->theap.storage = r1->theap.newstorage = STORE_MEM; + r1->theap.size = 0; r1->ttype = TYPE_void; r1->tvarsized = 1; r1->twidth = 0; @@ -486,6 +488,8 @@ nomatch(BAT *r1, BAT *r2, BAT *l, BAT *r r1->tnorevsorted = !(r1->trevsorted = BATcount(r1) <= 1); if (r2) { HEAPfree(>theap, 1); + r2->theap.storage = r2->theap.newstorage = STORE_MEM; + r2->theap.size = 0; r2->ttype = TYPE_void; r2->tvarsized = 1; r2->twidth = 0; @@ -617,6 +621,9 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l, * the result is the other * range and thus dense */ HEAPfree(>theap, 1); + r1->theap.storage = STORE_MEM; + r1->theap.newstorage = STORE_MEM; + r1->theap.size = 0; r1->ttype = TYPE_void; r1->tvarsized = 1; r1->twidth = 0; @@ -646,6 +653,9 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l, } r1->tdense = 1; HEAPfree(>theap, 1); + r1->theap.storage = STORE_MEM; + r1->theap.newstorage = STORE_MEM; + r1->theap.size = 0; r1->ttype = TYPE_void; r1->tvarsized = 1; r1->twidth = 0; @@ -690,6 +700,9 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l, if (r2) { r2->tdense = 1; HEAPfree(>theap, 1); + r2->theap.storage = STORE_MEM; + r2->theap.newstorage = STORE_MEM; + r2->theap.size = 0; r2->ttype = TYPE_void; r2->tvarsized = 1; r2->twidth = 0; diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -59,6 +59,8 @@ virtualize(BAT *bn) bn->tseqbase = * (const oid *) Tloc(bn, 0); bn->tdense = 1; HEAPfree(>theap, 1); + bn->theap.storage = bn->theap.newstorage = STORE_MEM; + bn->theap.size = 0; bn->ttype = TYPE_void; bn->tvarsized = 1; bn->twidth = 0; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 238d6c0ea486 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=238d6c0ea486 Modified Files: testing/MkillUsers.in testing/Mtest.py.in Branch: default Log Message: Merge with Jun2016 branch. diffs (130 lines): diff --git a/testing/MkillUsers.in b/testing/MkillUsers.in --- a/testing/MkillUsers.in +++ b/testing/MkillUsers.in @@ -71,7 +71,7 @@ if [ "$TEMPLATE_BUILD" ] ; then BINPAT if ["$SQL_BUILD" ] ; then BINPATH="$BINPATH $SQL_BUILD/src/tools$SQL_BUILD/src/tools/.libs" ; fi if [ "$GEOM_BUILD" ] ; then BINPATH="$BINPATH $GEOM_BUILD/src/tools $GEOM_BUILD/src/tools/.libs" ; fi for b in $BINPATH ; do - files="$files `ls $b/* 2>/dev/null | egrep '/(lt-)?(mserver5|Mserver|mclient|mclient\.py|Mdiff|Mlog|Mtimeout|pf|actuator|sensor)$'`" + files="$files `ls $b/* 2>/dev/null | egrep '/(lt-)?(mserver5|mclient|mclient\.py|Mdiff|Mlog|Mtimeout)$'`" done if type -p fuser >/dev/null diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -1528,7 +1528,7 @@ def returnCode(proc, f = None): def GetBitsAndModsAndThreads(env) : global setpgrp rtrn = 0 -cmd = splitcommand(env['exe']['Mserver'][1]) +cmd = splitcommand(env['exe']['mserver5'][1]) cmd.append('--dbpath=%s' % os.path.join(env['GDK_DBFARM'], TSTPREF)) if env.get('MULTIFARM'): cmd.append('--dbextra=%s' % os.path.join(env['GDK_DBFARM'], TSTPREF + '_transient')) @@ -1627,7 +1627,7 @@ def GetBitsAndModsAndThreads(env) : rtrn = 1 else: rtrn = 1 -ErrMsg("No output from Mserver/mserver5 when checking for Bits, Modules & Threads!?") +ErrMsg("No output from mserver5 when checking for Bits, Modules & Threads!?") if qErr: STDERR.write(' '.join(cmd) + "\n\n") STDERR.write(qErr) @@ -1905,10 +1905,10 @@ def RunTest(env, TST, BusyPorts, COND, o elif EXT == ".sql" and not env['exe']['SQL_Dump'][0]: reason = "as %s is not available." % env['SQLDUMP'].split(None, 1)[0] elem = SkipTest(env, TST, EXT, reason, length) -elif SERVER in ["MAL", "SQL"] and not env['exe']['Mserver'][0]: +elif SERVER in ["MAL", "SQL"] and not env['exe']['mserver5'][0]: reason = "as %s is not available." % env['MSERVER'].split(None, 1)[0] elem = SkipTest(env, TST, EXT, reason, length) -elif EXT == ".malS" and not env['exe']['Mserver'][0]: +elif EXT == ".malS" and not env['exe']['mserver5'][0]: reason = "as %s is not available." % env['MSERVER'].split(None, 1)[0] elem = SkipTest(env, TST, EXT, reason, length) elif CALL == "python" and not env['exe']['python'][0]: @@ -2467,7 +2467,7 @@ def CheckSocket2(env,SERVER) : #,SrvrEr os.environ[SERVER+'PORT'] = env[SERVER+'PORT'] op = 'port=%d' % port np = 'port=%s' % env[SERVER+'PORT'] -env['exe']['Mserver'] = env['exe']['Mserver'][0] , env['exe']['Mserver'][1].replace(op, np) +env['exe']['mserver5'] = env['exe']['mserver5'][0] , env['exe']['mserver5'][1].replace(op, np) env['exe']['MAL_Client']= env['exe']['MAL_Client'][0], env['exe']['MAL_Client'][1].replace(op, np) env['exe']['SQL_Client']= env['exe']['SQL_Client'][0], env['exe']['SQL_Client'][1].replace(op, np) env['exe']['SQL_Dump'] = env['exe']['SQL_Dump'][0] , env['exe']['SQL_Dump'][1].replace(op, np) @@ -2496,7 +2496,7 @@ def CheckSocket3(env,SERVER,ErrFileName) res = F_SOCK Smsg = """ ! Socket-Check failed for %sserver on <%s:%d> with #%d; '%s' ! -! %sPORT was not properly released by Mserver/mserver5 ! +! %sPORT was not properly released by mserver5 ! """ % (SERVER, host, port, Serrno, Serrstr, SERVER) STDERR.write(Smsg) STDERR.flush() @@ -2746,7 +2746,7 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR if dbinit: DBINIT = ['--dbinit=%s' % dbinit] -Srvr = splitcommand(exe['Mserver'][1]) + LOCAL_CONF +Srvr = splitcommand(exe['mserver5'][1]) + LOCAL_CONF if nomito: try: Srvr.remove('--forcemito') @@ -2849,7 +2849,7 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR cmd = splitcommand(exe['python'][1]) + [TST + EXT, TST] + PRELUDE returncode = RunIt(cmd, "", ClntOut, ClntErr, CTIMEOUT) elif CALL in ["mal", "malXs"]: -cmd = splitcommand(exe['Mserver'][1]) + LOCAL_CONF + PRELUDE +cmd = splitcommand(exe['mserver5'][1]) + LOCAL_CONF + PRELUDE cmd.append('--dbpath=%s' % os.path.join(env['GDK_DBFARM'], TSTDB)) if env.get('MULTIFARM'): cmd.append('--dbextra=%s' % os.path.join(env['GDK_DBFARM'], TSTDB + '_transient')) @@ -2938,7 +2938,7 @@ def DoIt(env, SERVER,
MonetDB: default - Merge with Jun2016 branch.
Changeset: 40809a0d2615 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=40809a0d2615 Modified Files: clients/Tests/exports.stable.out common/stream/stream.h gdk/gdk.h monetdb5/mal/mal_session.c tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/discoveryrunner.c tools/merovingian/daemon/merovingian.c tools/merovingian/utils/utils.c tools/merovingian/utils/utils.h Branch: default Log Message: Merge with Jun2016 branch. diffs (272 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -2558,7 +2558,7 @@ char *buffer_get_buf(buffer *b); void buffer_init(buffer *b, char *buf, size_t size); stream *buffer_rastream(buffer *b, const char *name); stream *buffer_wastream(buffer *b, const char *name); -stream *callback_stream(void *private, ssize_t( *read)(void *private, void *buf, size_t elmsize, size_t cnt), void( *close)(void *private), void( *destroy)(void *private), const char *name); +stream *callback_stream(void *priv, ssize_t( *read)(void *priv, void *buf, size_t elmsize, size_t cnt), void( *close)(void *priv), void( *destroy)(void *priv), const char *name); void close_stream(stream *s); stream *file_rastream(FILE *fp, const char *name); stream *file_rstream(FILE *fp, const char *name); diff --git a/common/stream/stream.h b/common/stream/stream.h --- a/common/stream/stream.h +++ b/common/stream/stream.h @@ -252,10 +252,10 @@ typedef enum mnstr_errors { * private pointer is passed on to the callback functions when they * are invoked. */ stream_export stream *callback_stream( - void *private, - ssize_t (*read) (void *private, void *buf, size_t elmsize, size_t cnt), - void (*close) (void *private), - void (*destroy) (void *private), + void *priv, + ssize_t (*read) (void *priv, void *buf, size_t elmsize, size_t cnt), + void (*close) (void *priv), + void (*destroy) (void *priv), const char *name); stream_export stream* stream_blackhole_create(void); diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1247,7 +1247,7 @@ gdk_export bte ATOMelmshift(int sz); #define bunfastapp(b, t) \ do {\ - register BUN _p = BUNlast(b); \ + BUN _p = BUNlast(b);\ if (_p >= BATcapacity(b)) { \ if (_p == BUN_MAX || BATcount(b) == BUN_MAX) { \ GDKerror("bunfastapp: too many elements to accomodate (" BUNFMT ")\n", BUN_MAX); \ @@ -2475,7 +2475,7 @@ gdk_export void *THRdata[THREADDATA]; #ifndef GDK_NOLINK static inline bat -BBPcheck(register bat x, register const char *y) +BBPcheck(bat x, const char *y) { if (x && x != bat_nil) { assert(x > 0); @@ -2490,9 +2490,9 @@ BBPcheck(register bat x, register const } static inline BAT * -BATdescriptor(register bat i) +BATdescriptor(bat i) { - register BAT *b = NULL; + BAT *b = NULL; if (BBPcheck(i, "BATdescriptor")) { BBPfix(i); diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c --- a/monetdb5/mal/mal_session.c +++ b/monetdb5/mal/mal_session.c @@ -446,7 +446,9 @@ MSserveClient(void *dummy) } else { do { do { - runScenario(c); + msg = runScenario(c); + if (msg != MAL_SUCCEED && msg != M5OutOfMemory) + GDKfree(msg); if (c->mode == FINISHCLIENT) break; resetScenario(c); diff --git a/tools/merovingian/daemon/argvcmds.c b/tools/merovingian/daemon/argvcmds.c --- a/tools/merovingian/daemon/argvcmds.c +++ b/tools/merovingian/daemon/argvcmds.c @@ -448,6 +448,8 @@ command_stop(confkeyval *ckv, int argc, FILE *pfile = NULL; char buf[8]; pid_t daemon; + struct timeval tv; + int i; if (argc != 2) { command_help(2, [-1]); @@ -499,5 +501,14 @@ command_stop(confkeyval *ckv, int argc, return(1); } + /* wait up to 5 seconds for monetdbd to actually stop */ + for (i = 0; i < 10; i++) { + tv.tv_sec = 0; + tv.tv_usec = 500; + select(0, NULL, NULL, NULL, ); + if (kill(daemon, 0) == -1) + break; + } + return(0); } diff --git a/tools/merovingian/daemon/controlrunner.c
MonetDB: default - Merge with Jun2016 branch.
Changeset: 14192af45225 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14192af45225 Added Files: sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.sql sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.stable.err sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.stable.out sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.sql sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128 sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128 Modified Files: java/tests/Test_CisValid.java sql/jdbc/tests/Tests/Test_CisValid.stable.err sql/test/BugTracker-2016/Tests/All testing/Mtest.py.in Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 23166 to 300 lines): diff --git a/java/tests/Test_CisValid.java b/java/tests/Test_CisValid.java --- a/java/tests/Test_CisValid.java +++ b/java/tests/Test_CisValid.java @@ -18,15 +18,23 @@ public class Test_CisValid { Connection conn = DriverManager.getConnection(args[0]); Statement stmt = conn.createStatement(); - conn.setAutoCommit(false); // start a transaction try { + conn.setAutoCommit(false); // start a transaction stmt.execute("SELECT COUNT(*) FROM doesnotexist;"); // let's trigger an error } catch (SQLException e) { - e.printStackTrace(); - System.out.println("Validating connection: conn.isValid? " + conn.isValid(30)); // Can we rollback on this connection? - conn.rollback(); + // e.printStackTrace(); + System.err.println("Expected error: " + e); + + try { + // test calling conn.isValid() + System.out.println("Validating connection: conn.isValid? " + conn.isValid(30)); + // Can we rollback on this connection without causing an error? + conn.rollback(); + } catch (SQLException e2) { + System.err.println("UnExpected error: " + e2); + } } - + stmt.close(); conn.close(); } diff --git a/sql/jdbc/tests/Tests/Test_CisValid.stable.err b/sql/jdbc/tests/Tests/Test_CisValid.stable.err --- a/sql/jdbc/tests/Tests/Test_CisValid.stable.err +++ b/sql/jdbc/tests/Tests/Test_CisValid.stable.err @@ -35,12 +35,7 @@ stderr of test 'Test_CisValid` in direct # 23:03:08 > java Test_CisValid "jdbc:monetdb://toulouse:36086/mTests_sql_jdbc_tests?user=monetdb=monetdb" # 23:03:08 > -java.sql.SQLException: SELECT: no such table 'doesnotexist' - at nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.executeQuery(MonetConnection.java:2602) - at nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.processQuery(MonetConnection.java:2350) - at nl.cwi.monetdb.jdbc.MonetStatement.internalExecute(MonetStatement.java:507) - at nl.cwi.monetdb.jdbc.MonetStatement.execute(MonetStatement.java:345) - at Test_CisValid.main(Test_CisValid.java:23) +Expected error: java.sql.SQLException: SELECT: no such table 'doesnotexist' # 23:03:08 > # 23:03:08 > "Done." diff --git a/sql/test/BugTracker-2016/Tests/All b/sql/test/BugTracker-2016/Tests/All --- a/sql/test/BugTracker-2016/Tests/All +++ b/sql/test/BugTracker-2016/Tests/All @@ -1,3 +1,5 @@ +convert-function-test.Bug-3460 +HAVE_HGE?convert-function-test-hge.Bug-3460 HAVE_GEOM?storagemodel LEFT-JOIN_with_OR_conditions_triggers_assertion.Bug-3908 incorrect_column_name_in_OR_condition_of_LEFT-JOIN_crashes_mserver.Bug-3909 diff --git a/sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.sql b/sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.sql @@ -0,0 +1,97 @@ +-- test SQL functions: convert(fromType, toType) and cast(fromType as toType) for all SQL data types and data values +-- See also https://www.monetdb.org/bugzilla/show_bug.cgi?id=3460 + +-- HUGEINT (for int128 only) +CREATE TABLE T_hugeint (v hugeint); +INSERT into T_hugeint VALUES (1), (0), (-1), (-127), (127), (-32767), (32767), (-2147483647), (2147483647); +INSERT into T_hugeint VALUES (null); +SELECT v FROM T_hugeint ORDER BY v; + +-- test convert() +SELECT v, convert(v, boolean) from T_hugeint; +SELECT v, convert(v, bit) from T_hugeint; -- BIT not valid data type +SELECT v, convert(v, tinyint) from
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: e813a65e083e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e813a65e083e Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: c2d2a09e82e6 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c2d2a09e82e6 Modified Files: .hgtags MonetDB.spec debian/changelog java/ChangeLog-Archive java/ChangeLog.Jun2016 java/Makefile.ag java/build.properties java/pom.xml java/release.txt libversions Branch: default Log Message: Merge with Jun2016 branch. diffs (247 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -629,3 +629,6 @@ 192e3168234a5f9f8a4d1c4ce17805f608f001c3 b29fdfe9c590f674208212bf4ead617beef4b73c Jun2016_release 4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_5 4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_SP1_release +c8b06c670a635978640d742643c317b82c5f4b8c Jun2016_7 +4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_SP1_release +c8b06c670a635978640d742643c317b82c5f4b8c Jun2016_SP1_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -962,6 +962,44 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Wed Jul 13 2016 Sjoerd Mullender- 11.23.7-20160713 +- Rebuilt. +- BZ#4014: KILL signal +- BZ#4021: Analyze query does not escape input [security] +- BZ#4026: JDBC driver incorrectly converts TINYINT fields to String + instead of an integer type. +- BZ#4028: inputs not the same size +- BZ#4032: no decimal places after update. ODBC driver +- BZ#4035: SQL Function call bug +- BZ#4036: Possible sql_catalog corruption due to unclean backuped tail + +* Thu Jul 7 2016 Martin van Dinther - 11.23.7-20160713 +- java: Corrected PROCEDURE_TYPE output value of method DatabaseMetaData.getProcedures(). + It used to return procedureReturnsResult. Now it returns procedureNoResult. + Corrected ORDINAL_POSITION output value of method DatabaseMetaData.getProcedureColumns(). + It used to start with 0, but as procedures do not return a result value it now + starts with 1 for all the procedure arguments, as defined by the JDBC API. +- java: Improved output of method DatabaseMetaData.getProcedures(). The REMARKS + column now contains the procedure definition as stored in sys.functions.func. + The SPECIFIC_NAME column now contains the procedure unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the specific + overloaded procedure which has the same name, but different arguments. + Also improved output of method DatabaseMetaData.getProcedureColumns(). + The SPECIFIC_NAME column now contains the procedure unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the proper + arguments of the specific overloaded procedure by matching the SPECIFIC_NAME + value. +- java: Improved output of method DatabaseMetaData.getFunctions(). The REMARKS + column now contains the function definition as stored in sys.functions.func. + The SPECIFIC_NAME column now contains the function unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the specific + overloaded function which has the same name, but different arguments. + Also improved output of method DatabaseMetaData.getFunctionColumns(). + The SPECIFIC_NAME column now contains the function unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the proper + arguments of the specific overloaded function by matching the SPECIFIC_NAME + value. + * Mon Jul 04 2016 Sjoerd Mullender - 11.23.5-20160704 - Rebuilt. - BZ#4031: mclient doesn't accept - argument to refer to stdin diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,47 @@ +monetdb (11.23.7) unstable; urgency=low + + * Rebuilt. + * BZ#4014: KILL signal + * BZ#4021: Analyze query does not escape input [security] + * BZ#4026: JDBC driver incorrectly converts TINYINT fields to String +instead of an integer type. + * BZ#4028: inputs not the same size + * BZ#4032: no decimal places after update. ODBC driver + * BZ#4035: SQL Function call bug + * BZ#4036: Possible sql_catalog corruption due to unclean backuped tail + + -- Sjoerd Mullender Wed, 13 Jul 2016 14:33:03 +0200 + +monetdb (11.23.7) unstable; urgency=low + + * java: Corrected PROCEDURE_TYPE output value of method DatabaseMetaData.getProcedures(). +It used to return procedureReturnsResult. Now it returns procedureNoResult. +Corrected ORDINAL_POSITION output value of method DatabaseMetaData.getProcedureColumns(). +It used to start with 0, but as procedures do not return a result value it now +starts with 1 for all the procedure arguments, as defined by the JDBC API. + * java: Improved output of method DatabaseMetaData.getProcedures(). The REMARKS +column now contains the procedure definition as stored in sys.functions.func. +The SPECIFIC_NAME column now contains the procedure
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: ee9e0c2372f7 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ee9e0c2372f7 Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 938cec0c246d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=938cec0c246d Modified Files: sql/backends/monet5/sql_execute.c Branch: default Log Message: Merge with Jun2016 branch. diffs (20 lines): diff --git a/sql/backends/monet5/sql_execute.c b/sql/backends/monet5/sql_execute.c --- a/sql/backends/monet5/sql_execute.c +++ b/sql/backends/monet5/sql_execute.c @@ -415,13 +415,9 @@ SQLstatementIntern(Client c, str *expr, if (result) { /* return all results sets */ *result = m->results; } else { - int i; - for (i = 0; i < m->results->nr_cols; i++) { - GDKfree(m->results->cols[i].tn); - GDKfree(m->results->cols[i].name); - } - GDKfree(m->results->cols); - GDKfree(m->results); + if (m->results == o->results) + o->results = NULL; + res_tables_destroy(m->results); } m->results = NULL; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: a152218822a0 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a152218822a0 Modified Files: monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/blob.h monetdb5/modules/atoms/color.h monetdb5/modules/atoms/identifier.c monetdb5/modules/atoms/inet.c monetdb5/modules/atoms/json.h monetdb5/modules/atoms/mcurl.c monetdb5/modules/atoms/mtime.h monetdb5/modules/atoms/str.h monetdb5/modules/atoms/streams.h monetdb5/modules/atoms/url.c monetdb5/modules/atoms/url.h monetdb5/modules/atoms/uuid.c monetdb5/modules/atoms/xml.h monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/alarm.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/bat5.h monetdb5/modules/kernel/batcolor.h monetdb5/modules/kernel/batmmath.h monetdb5/modules/kernel/batstr.c monetdb5/modules/kernel/group.h monetdb5/modules/kernel/logger.c monetdb5/modules/kernel/microbenchmark.h monetdb5/modules/kernel/mmath.h monetdb5/modules/kernel/status.h monetdb5/modules/mal/batExtensions.h monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/bbp.h monetdb5/modules/mal/calc.c monetdb5/modules/mal/clients.h monetdb5/modules/mal/factories.h monetdb5/modules/mal/groupby.h monetdb5/modules/mal/inspect.h monetdb5/modules/mal/iterator.h monetdb5/modules/mal/json_util.h monetdb5/modules/mal/language.h monetdb5/modules/mal/mal_io.h monetdb5/modules/mal/mal_mapi.h monetdb5/modules/mal/manifold.h monetdb5/modules/mal/manual.h monetdb5/modules/mal/mat.h monetdb5/modules/mal/mdb.h monetdb5/modules/mal/mkey.h monetdb5/modules/mal/pcre.c monetdb5/modules/mal/profiler.h monetdb5/modules/mal/projectionpath.h monetdb5/modules/mal/querylog.h monetdb5/modules/mal/recycle.h monetdb5/modules/mal/remote.h monetdb5/modules/mal/sabaoth.h monetdb5/modules/mal/sample.h monetdb5/modules/mal/sysmon.h monetdb5/modules/mal/tablet.h monetdb5/modules/mal/tokenizer.h monetdb5/modules/mal/transaction.c monetdb5/modules/mal/txtsim.h monetdb5/modules/mal/zorder.h monetdb5/optimizer/opt_aliases.h monetdb5/optimizer/opt_candidates.h monetdb5/optimizer/opt_coercion.h monetdb5/optimizer/opt_commonTerms.h monetdb5/optimizer/opt_constants.h monetdb5/optimizer/opt_costModel.h monetdb5/optimizer/opt_dataflow.h monetdb5/optimizer/opt_deadcode.h monetdb5/optimizer/opt_evaluate.h monetdb5/optimizer/opt_factorize.h monetdb5/optimizer/opt_garbageCollector.h monetdb5/optimizer/opt_generator.h monetdb5/optimizer/opt_inline.h monetdb5/optimizer/opt_json.h monetdb5/optimizer/opt_macro.h monetdb5/optimizer/opt_matpack.h monetdb5/optimizer/opt_mergetable.h monetdb5/optimizer/opt_mitosis.h monetdb5/optimizer/opt_multiplex.h monetdb5/optimizer/opt_pipes.h monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_profiler.h monetdb5/optimizer/opt_projectionpath.h monetdb5/optimizer/opt_pushselect.h monetdb5/optimizer/opt_querylog.h monetdb5/optimizer/opt_recycler.h monetdb5/optimizer/opt_reduce.h monetdb5/optimizer/opt_remap.h monetdb5/optimizer/opt_remoteQueries.h monetdb5/optimizer/opt_reorder.h monetdb5/optimizer/opt_statistics.h monetdb5/optimizer/opt_support.h monetdb5/optimizer/opt_volcano.h monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.h monetdb5/scheduler/run_adder.h monetdb5/scheduler/run_isolate.h monetdb5/scheduler/run_memo.h monetdb5/scheduler/run_pipeline.h monetdb5/scheduler/srvpool.h sql/backends/monet5/sql_execute.c tools/merovingian/daemon/merovingian.c Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 6100 to 300 lines): diff --git a/monetdb5/modules/atoms/batxml.c b/monetdb5/modules/atoms/batxml.c --- a/monetdb5/modules/atoms/batxml.c +++ b/monetdb5/modules/atoms/batxml.c @@ -35,32 +35,26 @@ #include "mal_function.h" #include "xml.h" -#ifdef WIN32 -#define batxml_export extern __declspec(dllexport) -#else -#define batxml_export extern -#endif - -batxml_export str BATXMLxml2str(bat *ret, const bat *bid); -batxml_export str BATXMLxmltext(bat *ret, const bat *bid); -batxml_export str BATXMLstr2xml(bat *ret, const bat *bid); -batxml_export str BATXMLdocument(bat *ret, const bat *bid); -batxml_export str BATXMLcontent(bat *ret, const bat *bid); -batxml_export str BATXMLisdocument(bat *ret,
MonetDB: default - Merge with Jun2016 branch.
Changeset: a8b6cc1b2dda for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a8b6cc1b2dda Modified Files: testing/Mtest.py.in Branch: default Log Message: Merge with Jun2016 branch. diffs (133 lines): diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -950,7 +950,7 @@ def CreateSrcIndex (env, TST, EXT) : tr = Element('tr', {}, Element('th', {'class': 'header'}, Text(TST))) -for s in os.listdir(TSTSRCDIR): +for s in listdir(TSTSRCDIR): if s.startswith(TST): slink = Text(s) if URLPREFIX: @@ -1120,7 +1120,7 @@ def find_test_dirs(thisdir) : testdirs = [] thisdir = os.path.realpath(thisdir) dirnme = os.path.basename(thisdir) -dirlst = os.listdir(thisdir) +dirlst = listdir(thisdir) if dirnme == TSTSUFF and "All" in dirlst and os.path.isfile(os.path.join(thisdir,"All")): testdirs.append(os.path.dirname(thisdir)) for d in dirlst: @@ -1264,7 +1264,7 @@ def PerformDir(env, testdir, testlist, B elem = AddSubToHtmlIndex(env, TSTDIR, max(FdOut,FdErr)) # remove extra files created by tests -for f in os.listdir(TSTTRGDIR): +for f in listdir(TSTTRGDIR): ff = os.path.join(TSTTRGDIR, f) if os.path.islink(ff): continue @@ -1409,7 +1409,7 @@ def ApproveOutput (env, TST) : test = re.compile('^%s.*$' % re.escape(file)) list = [] if not NOPATCH: -for f in os.listdir(dir or os.curdir): +for f in listdir(dir or os.curdir): if f.endswith('.rej') or f.endswith('.orig') or f.endswith('~'): pass elif f != thefile and test.match(f): @@ -1703,7 +1703,7 @@ def StableOutErr(env,par,TST,SYST,RELEAS dir,file = os.path.split(TST) outre = re.compile(r'^%s\.stable\.(?Pout|err)(\.(%s(%s)?|%s(%s)?))?(\.%s)?(\.%s)?%s%s%s$' % (re.escape(file), re.escape(SYST), re.escape(RELEASE), re.escape(DIST), re.escape(VERSION), BITS, OIDS, INT128, SINGLE, STATIC)) bestout = besterr = '' -for f in os.listdir(dir or os.curdir): +for f in listdir(dir or os.curdir): res = outre.match(f) if res is not None: if res.group('tp') == 'out': @@ -1953,7 +1953,7 @@ def RunTest(env, TST, BusyPorts, COND, o elem = SkipTest(env, TST, EXT, reason, length) else: test = re.compile("^"+TST+"((_[sp][0-9][0-9])?\..*)?$", re.MULTILINE) -for f in os.listdir(RELSRCDIR): +for f in listdir(RELSRCDIR): if test.match(f): try: SymlinkOrCopy(os.path.join(RELSRCDIR, f), f) @@ -1992,7 +1992,7 @@ def RunTest(env, TST, BusyPorts, COND, o MAPIsockets[1].close() return TX,Failed,Failed,elem,reason,links test = re.compile("^"+TST+"((_[sp][0-9][0-9])?\..*)?\.src$", re.MULTILINE) -for ff in os.listdir(TSTTRGDIR): +for ff in listdir(TSTTRGDIR): if test.match(ff) and not os.path.isfile(ff[:-4]): f = open(ff,"r") TSTSRC = expandvars(path(f.readline().strip()), env) @@ -2007,7 +2007,7 @@ def RunTest(env, TST, BusyPorts, COND, o else: Warn("source file '"+TSTSRC+"` is missing.") test = re.compile("^"+TST+"(_[sp][0-9][0-9])?\..*\.in$", re.MULTILINE) -for ff in os.listdir(TSTTRGDIR): +for ff in listdir(TSTTRGDIR): fff = ff[:-3] if test.match(ff) and not os.path.isfile(fff): f = open(fff,"w") @@ -2048,7 +2048,7 @@ def RunTest(env, TST, BusyPorts, COND, o CTIMEOUT = CTIMEOUT + min(TIMEOUT, par['TIMEOUT']) elif CALL in ["malXs", "sqlXs"]: test = re.compile("^"+TST+"_s[0-9][0-9]"+EXT+"$", re.MULTILINE) -d = os.listdir(os.getcwd()) +d = listdir(os.getcwd()) for f in d: if test.match(f): CTIMEOUT = CTIMEOUT + TIMEOUT @@ -2883,7 +2883,7 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR else: X="_s[0-9][0-9]" test = re.compile("^"+TST+X+EXT+"$", re.MULTILINE) -d = os.listdir(os.getcwd()) +d = listdir(os.getcwd()) d.sort() for f in d: if test.match(f): @@ -2898,7 +2898,7 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR else: X="_s[0-9][0-9]" test = re.compile("^"+TST+X+EXT+"$", re.MULTILINE) -d = os.listdir(os.getcwd()) +d = listdir(os.getcwd()) d.sort() for f in d: if test.match(f): @@ -2920,7 +2920,7 @@
MonetDB: default - Merge with Jun2016 branch.
Changeset: 04f9b9224246 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=04f9b9224246 Added Files: sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.sql sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.err sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.out Modified Files: monetdb5/mal/mal_resolve.c sql/test/BugTracker-2016/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (135 lines): diff --git a/monetdb5/mal/mal_resolve.c b/monetdb5/mal/mal_resolve.c --- a/monetdb5/mal/mal_resolve.c +++ b/monetdb5/mal/mal_resolve.c @@ -586,7 +586,7 @@ typeChecker(stream *out, Module scope, M p->typechk = TYPE_UNKNOWN; olderrors = mb->errors; - if (p->fcn && p->token >= FCNcall && p->token <= PATcall) { + if ((p->fcn || p->blk) && p->token >= FCNcall && p->token <= PATcall) { p->token = ASSIGNsymbol; p->fcn = NULL; p->blk = NULL; diff --git a/sql/test/BugTracker-2016/Tests/All b/sql/test/BugTracker-2016/Tests/All --- a/sql/test/BugTracker-2016/Tests/All +++ b/sql/test/BugTracker-2016/Tests/All @@ -36,3 +36,4 @@ RELEASE_SAVEPOINT_after_ALTER_TABLE_cras RELEASE_SAVEPOINT_after_UPDATE_crash.Bug-4010 analyze-quotes-incorrectly.Bug-4021 boolean-evaluation.Bug-4025 +HAVE_GEOM?nested-mal-with-multiplex.Bug-4035 diff --git a/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.sql b/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.sql @@ -0,0 +1,15 @@ +CREATE FUNCTION geographic_to_cartesian(lat FLOAT, lon FLOAT) RETURNS POINT /* convert geographic coordinates to Cartesian while creating a point */ +BEGIN +DECLARE deg_to_rad FLOAT, lat_rad FLOAT, lon_rad FLOAT, aux1 FLOAT, aux2 FLOAT; +SET deg_to_rad = pi() / 180; +SET lat_rad = lat * deg_to_rad; +SET lon_rad = lon * deg_to_rad; +SET aux1 = sys.cos(lat_rad); +SET aux2 = 6371 * aux1; +RETURN sys.st_makepoint(aux2 * sys.cos(lon_rad), aux2 * sys.sin(lon_rad), 6371 * sys.sin(lat_rad)); +END; +CREATE TABLE test_table (lat FLOAT, lon FLOAT); +SELECT geographic_to_cartesian(lat, lon) AS calc_point FROM test_table; + +DROP TABLE test_table; +DROP FUNCTION geographic_to_cartesian; diff --git a/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.err b/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.err @@ -0,0 +1,35 @@ +stderr of test 'nested-mal-with-multiplex.Bug-4035` in directory 'sql/test/BugTracker-2016` itself: + + +# 15:47:42 > +# 15:47:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=33295" "--set" "mapi_usock=/var/tmp/mtest-30631/.s.monetdb.33295" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2016" "--set" "embedded_r=yes" +# 15:47:42 > + +# builtin opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 33295 +# cmdline opt mapi_usock = /var/tmp/mtest-30631/.s.monetdb.33295 +# cmdline opt monet_prompt = +# cmdline opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2016 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 15:47:43 > +# 15:47:43 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-30631" "--port=33295" +# 15:47:43 > + + +# 15:47:43 > +# 15:47:43 > "Done." +# 15:47:43 > + diff --git a/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.out b/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.out @@ -0,0 +1,50 @@ +stdout of test 'nested-mal-with-multiplex.Bug-4035` in directory 'sql/test/BugTracker-2016` itself: + + +# 15:47:42 > +# 15:47:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=33295" "--set" "mapi_usock=/var/tmp/mtest-30631/.s.monetdb.33295" "--set" "monet_prompt=" "--forcemito" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test_BugTracker-2016" "--set" "embedded_r=yes" +# 15:47:42 > + +# MonetDB 5 server v11.23.6 (hg
MonetDB: default - Merge with Jun2016 branch.
Changeset: 9c7ae15b57cc for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9c7ae15b57cc Modified Files: NT/Makefile NT/monetdb_config.h.in gdk/gdk_bbp.c Branch: default Log Message: Merge with Jun2016 branch. diffs (86 lines): diff --git a/NT/Makefile b/NT/Makefile --- a/NT/Makefile +++ b/NT/Makefile @@ -16,7 +16,7 @@ all: _all !INCLUDE "$(TOPDIR)\..\NT\rules.msc" -_all: update_winconfig_conds_py "$(srcdir)\Makefile.msc" monetdb_config.h unistd.h inttypes.h .monetdb +_all: update_winconfig_conds_py "$(srcdir)\Makefile.msc" monetdb_config.h unistd.h .monetdb $(MAKE) /nologo /f "$(srcdir)\Makefile.msc" "prefix=$(prefix)" "bits=$(bits)" all install: targetdirs all @@ -46,14 +46,6 @@ unistd.h: $(ECHO) #endif >> unistd.h $(ECHO) #endif >> unistd.h -inttypes.h: - $(ECHO) typedef signed char int8_t; > inttypes.h - $(ECHO) typedef unsigned char uint8_t; >> inttypes.h - $(ECHO) typedef short int16_t; >> inttypes.h - $(ECHO) typedef unsigned short uint16_t; >> inttypes.h - $(ECHO) typedef int int32_t; >> inttypes.h - $(ECHO) typedef unsigned int uint32_t; >> inttypes.h - .monetdb: $(ECHO) user=monetdb> .monetdb $(ECHO) password=monetdb>> .monetdb diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -148,7 +148,7 @@ /* #undef HAVE_FDATASYNC */ /* Define to 1 if you have the header file. */ -#if !defined(_MSC_VER) || _MSC_VER > 1600 +#if !defined(_MSC_VER) || _MSC_VER >= 1800 #define HAVE_FENV_H 1 #endif @@ -234,7 +234,9 @@ /* #undef HAVE_IEEEFP_H */ /* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 /* generated by the Makefile */ +#if !defined(_MSC_VER) || _MSC_VER >= 1800 +#define HAVE_INTTYPES_H 1 +#endif /* Define to 1 if you have the header file. */ #define HAVE_IO_H 1 @@ -526,13 +528,15 @@ #define HAVE_SQLGETPRIVATEPROFILESTRING 1 /* Define to 1 if stdbool.h conforms to C99. */ -/* #undef HAVE_STDBOOL_H */ +#if !defined(_MSC_VER) || _MSC_VER >= 1800 +#define HAVE_STDBOOL_H 1 +#endif /* Define to 1 if you have the header file. */ #define HAVE_STDDEF_H 1 /* Define to 1 if you have the header file. */ -#if !defined(_MSC_VER) || _MSC_VER > 1600 +#if !defined(_MSC_VER) || _MSC_VER >= 1600 #define HAVE_STDINT_H 1 #endif diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -76,6 +76,14 @@ #include "gdk_private.h" #include "gdk_storage.h" #include "mutils.h" + +#ifndef F_OK +#define F_OK 0 +#endif +#ifdef _MSC_VER +#define access(f, m) _access(f, m) +#endif + /* * The BBP has a fixed address, so re-allocation due to a growing BBP * caused by one thread does not disturb reads to the old entries by ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: e208196ce716 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e208196ce716 Modified Files: gdk/gdk_bbp.c gdk/gdk_logger.c java/ChangeLog.Jun2016 java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 484 to 300 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -3653,6 +3653,18 @@ BBPsync(int cnt, bat *subcommit) if (BBP_status(i) & BBPEXISTING) { if (b != NULL && BBPbackup(b, subcommit != NULL) != GDK_SUCCEED) break; + } else if (subcommit && (b = BBP_desc(i)) && BBP_status(i) & BBPDELETED) { + char o[10]; + char *f; + snprintf(o, sizeof(o), "%o", b->batCacheid); + f = GDKfilepath(b->theap.farmid, BAKDIR, o, "tail"); + if (access(f, F_OK) == 0) + file_move(b->theap.farmid, BAKDIR, SUBDIR, o, "tail"); + GDKfree(f); + f = GDKfilepath(b->theap.farmid, BAKDIR, o, "theap"); + if (access(f, F_OK) == 0) + file_move(b->theap.farmid, BAKDIR, SUBDIR, o, "theap"); + GDKfree(f); } } if (idx < cnt) diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -1250,7 +1250,6 @@ bm_subcommit(logger *lg, BAT *list_bid, n[i++] = catalog_bid->batCacheid; n[i++] = catalog_nme->batCacheid; n[i++] = dcatalog->batCacheid; - assert((BUN) i <= nn); if (BATcount(dcatalog) > (BATcount(catalog_nme)/2) && catalog_bid == list_bid && catalog_nme == list_nme && lg->catalog_bid == catalog_bid) { BAT *bids, *nmes, *tids = bm_tids(catalog_bid, dcatalog), *b; @@ -1276,6 +1275,7 @@ bm_subcommit(logger *lg, BAT *list_bid, lg->catalog_bid = catalog_bid = bids; lg->catalog_nme = catalog_nme = nmes; } + assert((BUN) i <= nn); BATcommit(catalog_bid); BATcommit(catalog_nme); BATcommit(dcatalog); diff --git a/java/ChangeLog.Jun2016 b/java/ChangeLog.Jun2016 --- a/java/ChangeLog.Jun2016 +++ b/java/ChangeLog.Jun2016 @@ -1,3 +1,30 @@ # ChangeLog file for java # This file is updated with Maddlog +* Thu Jul 7 2016 Martin van Dinther+- Corrected PROCEDURE_TYPE output value of method DatabaseMetaData.getProcedures(). + It used to return procedureReturnsResult. Now it returns procedureNoResult. + Corrected ORDINAL_POSITION output value of method DatabaseMetaData.getProcedureColumns(). + It used to start with 0, but as procedures do not return a result value it now + starts with 1 for all the procedure arguments, as defined by the JDBC API. +- Improved output of method DatabaseMetaData.getProcedures(). The REMARKS + column now contains the procedure definition as stored in sys.functions.func. + The SPECIFIC_NAME column now contains the procedure unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the specific + overloaded procedure which has the same name, but different arguments. + Also improved output of method DatabaseMetaData.getProcedureColumns(). + The SPECIFIC_NAME column now contains the procedure unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the proper + arguments of the specific overloaded procedure by matching the SPECIFIC_NAME + value. +- Improved output of method DatabaseMetaData.getFunctions(). The REMARKS + column now contains the function definition as stored in sys.functions.func. + The SPECIFIC_NAME column now contains the function unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the specific + overloaded function which has the same name, but different arguments. + Also improved output of method DatabaseMetaData.getFunctionColumns(). + The SPECIFIC_NAME column now contains the function unique identifier as + stored in sys.functions.id. This allows the caller to retrieve the proper + arguments of the specific overloaded function by matching the SPECIFIC_NAME + value. + diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -21,7 +21,6 @@ import java.util.ArrayList; /** * A DatabaseMetaData object suitable for the MonetDB database. - * * *
MonetDB: default - Merge with Jun2016 branch.
Changeset: 99e2352a098e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=99e2352a098e Modified Files: gdk/gdk_batop.c gdk/gdk_firstn.c sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check5.stable.out Branch: default Log Message: Merge with Jun2016 branch. diffs (125 lines): diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -792,8 +792,7 @@ BATslice(BAT *b, BUN l, BUN h) /* Return whether the BAT is ordered or not. If we don't know, invest * in a scan and record the results in the bat descriptor. If during * the scan we happen to find evidence that the BAT is not reverse - * sorted, we record the location. - */ + * sorted, we record the location. */ int BATordered(BAT *b) { diff --git a/gdk/gdk_firstn.c b/gdk/gdk_firstn.c --- a/gdk/gdk_firstn.c +++ b/gdk/gdk_firstn.c @@ -153,7 +153,7 @@ BATfirstn_unique(BAT *b, BAT *s, BUN n, BATtseqbase(bn, start + b->hseqbase); return bn; } - /* note, we want to do bot calls */ + /* note, we want to do both calls */ if (BATordered(b) | BATordered_rev(b)) { /* trivial: b is sorted so we just need to return the * initial or final part of it (or of the candidate diff --git a/sql/test/leaks/Tests/check1.stable.out b/sql/test/leaks/Tests/check1.stable.out --- a/sql/test/leaks/Tests/check1.stable.out +++ b/sql/test/leaks/Tests/check1.stable.out @@ -101,11 +101,11 @@ Ready. [ "int", 34 ] [ "int", 34 ] [ "int", 34 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] [ "int", 56 ] [ "int", 56 ] [ "int", 253 ] diff --git a/sql/test/leaks/Tests/check2.stable.out b/sql/test/leaks/Tests/check2.stable.out --- a/sql/test/leaks/Tests/check2.stable.out +++ b/sql/test/leaks/Tests/check2.stable.out @@ -101,11 +101,11 @@ Ready. [ "int", 34 ] [ "int", 34 ] [ "int", 34 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] [ "int", 56 ] [ "int", 56 ] [ "int", 253 ] diff --git a/sql/test/leaks/Tests/check3.stable.out b/sql/test/leaks/Tests/check3.stable.out --- a/sql/test/leaks/Tests/check3.stable.out +++ b/sql/test/leaks/Tests/check3.stable.out @@ -101,11 +101,11 @@ Ready. [ "int", 34 ] [ "int", 34 ] [ "int", 34 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] [ "int", 57 ] [ "int", 57 ] [ "int", 256 ] diff --git a/sql/test/leaks/Tests/check4.stable.out b/sql/test/leaks/Tests/check4.stable.out --- a/sql/test/leaks/Tests/check4.stable.out +++ b/sql/test/leaks/Tests/check4.stable.out @@ -101,11 +101,11 @@ Ready. [ "int", 34 ] [ "int", 34 ] [ "int", 34 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] [ "int", 58 ] [ "int", 58 ] [ "int", 259 ] diff --git a/sql/test/leaks/Tests/check5.stable.out b/sql/test/leaks/Tests/check5.stable.out --- a/sql/test/leaks/Tests/check5.stable.out +++ b/sql/test/leaks/Tests/check5.stable.out @@ -101,11 +101,11 @@ Ready. [ "int", 34 ] [ "int", 34 ] [ "int", 34 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] -[ "int", 46 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] +[ "int", 47 ] [ "int", 58 ] [ "int", 58 ] [ "int", 259 ] ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: bd9b7e14808c for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd9b7e14808c Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 0bb0900cc340 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0bb0900cc340 Added Files: ChangeLog-Archive Modified Files: .hgtags ChangeLog.Jun2016 MonetDB.spec debian/changelog java/Makefile.ag java/build.properties java/pom.xml java/release.txt libversions Branch: default Log Message: Merge with Jun2016 branch. diffs (144 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -627,3 +627,5 @@ 192e3168234a5f9f8a4d1c4ce17805f608f001c3 b29fdfe9c590f674208212bf4ead617beef4b73c Jun2016_3 192e3168234a5f9f8a4d1c4ce17805f608f001c3 Jun2016_release b29fdfe9c590f674208212bf4ead617beef4b73c Jun2016_release +4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_5 +4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_SP1_release diff --git a/ChangeLog-Archive b/ChangeLog-Archive new file mode 100644 --- /dev/null +++ b/ChangeLog-Archive @@ -0,0 +1,6 @@ +# DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY +# This file contains past ChangeLog entries + +* Fri Jul 1 2016 Sjoerd Mullender- 11.23.5-20160704 +- Lots of memory leaks have been plugged across the whole system. + diff --git a/ChangeLog.Jun2016 b/ChangeLog.Jun2016 --- a/ChangeLog.Jun2016 +++ b/ChangeLog.Jun2016 @@ -1,6 +1,3 @@ # ChangeLog file for candidate # This file is updated with Maddlog -* Fri Jul 1 2016 Sjoerd Mullender -- Lots of memory leaks have been plugged across the whole system. - diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -119,7 +119,7 @@ Vendor: MonetDB BV Group: Applications/Databases License: MPLv2.0 URL: http://www.monetdb.org/ -Source: http://dev.monetdb.org/downloads/sources/Jun2016/%{name}-%{version}.tar.bz2 +Source: http://dev.monetdb.org/downloads/sources/Jun2016-SP1/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 @@ -962,6 +962,13 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Mon Jul 04 2016 Sjoerd Mullender - 11.23.5-20160704 +- Rebuilt. +- BZ#4031: mclient doesn't accept - argument to refer to stdin + +* Fri Jul 1 2016 Sjoerd Mullender - 11.23.5-20160704 +- MonetDB: Lots of memory leaks have been plugged across the whole system. + * Fri Jun 10 2016 Sjoerd Mullender - 11.23.3-20160610 - Rebuilt. - BZ#4015: Daemon crashes on database release command diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +monetdb (11.23.5) unstable; urgency=low + + * Rebuilt. + * BZ#4031: mclient doesn't accept - argument to refer to stdin + + -- Sjoerd Mullender Mon, 04 Jul 2016 12:57:25 +0200 + +monetdb (11.23.5) unstable; urgency=low + + * MonetDB: Lots of memory leaks have been plugged across the whole system. + + -- Sjoerd Mullender Fri, 1 Jul 2016 12:57:25 +0200 + monetdb (11.23.3) unstable; urgency=low * Rebuilt. diff --git a/java/Makefile.ag b/java/Makefile.ag --- a/java/Makefile.ag +++ b/java/Makefile.ag @@ -16,7 +16,7 @@ JAVA_HOME = @JAVA_HOME@ ant_distjdbc = { COND = HAVE_JAVAJDBC DIR = datadir/monetdb/lib - FILES = monetdb-mcl-1.13.jar monetdb-jdbc-2.21.jar jdbcclient.jar + FILES = monetdb-mcl-1.13.jar monetdb-jdbc-2.22.jar jdbcclient.jar } ant_distmerocontrol = { diff --git a/java/build.properties b/java/build.properties --- a/java/build.properties +++ b/java/build.properties @@ -19,7 +19,7 @@ MCL_MINOR=13 # major release number JDBC_MAJOR=2 # minor release number -JDBC_MINOR=21 +JDBC_MINOR=22 # an additional identifying string JDBC_VER_SUFFIX=Liberica # the default port to connect on, if no port given when using SQL diff --git a/java/pom.xml b/java/pom.xml --- a/java/pom.xml +++ b/java/pom.xml @@ -6,7 +6,7 @@ monetdb monetdb-jdbc - 2.21 + 2.22 ${project.groupId}:${project.artifactId} MonetDB JDBC driver https://www.monetdb.org diff --git a/java/release.txt b/java/release.txt --- a/java/release.txt +++ b/java/release.txt @@ -1,6 +1,6 @@ RELEASE NOTES -MonetDB JDBC driver version 2.21 (Liberica/MCL-1.13) -Release date: 2016-06-10 +MonetDB JDBC driver version 2.22 (Liberica/MCL-1.13) +Release date: 2016-07-04 This JDBC driver is designed for use with MonetDB, a main-memory database. For more information see https://www.monetdb.org/. 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=13:1:0 +GDK_VERSION=13:2:0 # version of the MAPI library (subdirectory clients/mapilib) MAPI_VERSION=8:0:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras) -MONETDB5_VERSION=21:1:0
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: 509756a2262a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=509756a2262a Modified Files: 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 configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: fd9b6f755a1f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fd9b6f755a1f Modified Files: sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.oid32 sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 28119 to 300 lines): diff --git a/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 b/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 --- a/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 +++ b/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 @@ -22,9666 +22,10 @@ stdout of test 'upgrade` in directory 's # MonetDB/R module loaded Ready. -Running database upgrade commands: -set schema "sys"; -delete from sys.dependencies where id < 2000; -delete from sys.types where id < 2000; -insert into sys.types values (0, 'void', 'any', 0, 0, 0, 0, 2000); -insert into sys.types values (1, 'bat', 'table', 0, 0, 0, 1, 2000); -insert into sys.types values (2, 'ptr', 'ptr', 0, 0, 0, 1, 2000); -insert into sys.types values (3, 'bit', 'boolean', 1, 0, 2, 2, 2000); -insert into sys.types values (4, 'str', 'char', 0, 0, 0, 3, 2000); -insert into sys.types values (5, 'str', 'varchar', 0, 0, 0, 4, 2000); -insert into sys.types values (6, 'str', 'clob', 0, 0, 0, 4, 2000); -insert into sys.types values (7, 'oid', 'oid', 31, 0, 2, 6, 2000); -insert into sys.types values (8, 'bte', 'tinyint', 8, 1, 2, 7, 2000); -insert into sys.types values (9, 'sht', 'smallint', 16, 1, 2, 7, 2000); -insert into sys.types values (10, 'int', 'int', 32, 1, 2, 7, 2000); -insert into sys.types values (11, 'lng', 'bigint', 64, 1, 2, 7, 2000); -insert into sys.types values (12, 'lng', 'wrd', 64, 1, 2, 7, 2000); -insert into sys.types values (13, 'hge', 'hugeint', 128, 1, 2, 7, 2000); -insert into sys.types values (14, 'bte', 'decimal', 2, 1, 10, 10, 2000); -insert into sys.types values (15, 'sht', 'decimal', 4, 1, 10, 10, 2000); -insert into sys.types values (16, 'int', 'decimal', 9, 1, 10, 10, 2000); -insert into sys.types values (17, 'lng', 'decimal', 18, 1, 10, 10, 2000); -insert into sys.types values (18, 'hge', 'decimal', 39, 1, 10, 10, 2000); -insert into sys.types values (19, 'flt', 'real', 24, 2, 2, 11, 2000); -insert into sys.types values (20, 'dbl', 'double', 53, 2, 2, 11, 2000); -insert into sys.types values (21, 'int', 'month_interval', 32, 0, 2, 8, 2000); -insert into sys.types values (22, 'lng', 'sec_interval', 13, 1, 10, 9, 2000); -insert into sys.types values (23, 'daytime', 'time', 7, 0, 0, 12, 2000); -insert into sys.types values (24, 'daytime', 'timetz', 7, 1, 0, 12, 2000); -insert into sys.types values (25, 'date', 'date', 0, 0, 0, 13, 2000); -insert into sys.types values (26, 'timestamp', 'timestamp', 7, 0, 0, 14, 2000); -insert into sys.types values (27, 'timestamp', 'timestamptz', 7, 1, 0, 14, 2000); -insert into sys.types values (28, 'sqlblob', 'blob', 0, 0, 0, 5, 2000); -insert into sys.types values (29, 'wkb', 'geometry', 0, 0, 0, 15, 2000); -insert into sys.types values (30, 'wkba', 'geometrya', 0, 0, 0, 16, 2000); -insert into sys.types values (31, 'mbr', 'mbr', 0, 0, 0, 16, 2000); -delete from sys.functions where id < 2000; -delete from sys.args where func_id not in (select id from sys.functions); -insert into sys.functions values (32, 'mbr_overlap', 'mbrOverlaps', 'geom', 0, 1, false, false, false, 2000); -insert into sys.args values (7700, 32, 'res_0', 'boolean', 1, 0, 0, 0); -insert into sys.args values (7701, 32, 'arg_1', 'geometry', 0, 0, 1, 1); -insert into sys.args values (7702, 32, 'arg_2', 'geometry', 0, 0, 1, 2); -insert into sys.functions values (33, 'mbr_overlap', 'mbrOverlaps', 'geom', 0, 1, false, false, false, 2000); -insert into sys.args values (7703, 33, 'res_0', 'boolean', 1, 0, 0, 0); -insert into sys.args values (7704, 33, 'arg_1', 'mbr', 0, 0, 1, 1); -insert into sys.args values (7705, 33, 'arg_2', 'mbr', 0, 0, 1, 2); -insert into sys.functions values (34, 'mbr_above', 'mbrAbove', 'geom', 0, 1, false, false, false, 2000); -insert into sys.args values (7706, 34, 'res_0', 'boolean', 1, 0, 0, 0); -insert into sys.args values (7707, 34, 'arg_1', 'geometry', 0, 0, 1, 1); -insert into sys.args values (7708, 34, 'arg_2', 'geometry', 0, 0, 1, 2); -insert into sys.functions values (35, 'mbr_above', 'mbrAbove', 'geom', 0, 1, false, false, false, 2000); -insert into sys.args values (7709, 35, 'res_0', 'boolean', 1, 0, 0, 0); -insert into sys.args values (7710, 35, 'arg_1', 'mbr', 0, 0, 1, 1); -insert into sys.args values (7711, 35, 'arg_2', 'mbr', 0, 0, 1, 2); -insert into sys.functions values (36, 'mbr_below', 'mbrBelow', 'geom', 0, 1, false, false, false, 2000); -insert into sys.args values (7712, 36, 'res_0', 'boolean', 1, 0, 0, 0); -insert into sys.args values (7713,
MonetDB: default - Merge with Jun2016 branch.
Changeset: ebea0d523b73 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ebea0d523b73 Added Files: ChangeLog.Jun2016 Modified Files: monetdb5/mal/mal_module.c monetdb5/mal/mal_parser.c monetdb5/modules/mal/pcre.c Branch: default Log Message: Merge with Jun2016 branch. diffs (77 lines): diff --git a/ChangeLog.Jun2016 b/ChangeLog.Jun2016 new file mode 100644 --- /dev/null +++ b/ChangeLog.Jun2016 @@ -0,0 +1,6 @@ +# ChangeLog file for candidate +# This file is updated with Maddlog + +* Fri Jul 1 2016 Sjoerd Mullender+- Lots of memory leaks have been plugged across the whole system. + diff --git a/monetdb5/mal/mal_module.c b/monetdb5/mal/mal_module.c --- a/monetdb5/mal/mal_module.c +++ b/monetdb5/mal/mal_module.c @@ -24,8 +24,7 @@ Module mal_scope;/* the root of the Module scopeJump[256][256]; /* to speedup access to correct scope */ static void newSubScope(Module scope){ - int len = (MAXSCOPE)*sizeof(Module); - scope->subscope = (Symbol *) GDKzalloc(len); + scope->subscope = (Symbol *) GDKzalloc(MAXSCOPE * sizeof(Symbol)); } void diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c --- a/monetdb5/mal/mal_parser.c +++ b/monetdb5/mal/mal_parser.c @@ -1149,6 +1149,11 @@ fcnHeader(Client cntxt, int kind) curInstr = getInstrPtr(curBlk, 0); if (currChar(cntxt) != '('){ + if (cntxt->backup) { + freeSymbol(cntxt->curprg); + cntxt->curprg = cntxt->backup; + cntxt->backup = 0; + } parseError(cntxt, "function header '(' expected\n"); skipToEnd(cntxt); return curBlk; @@ -1160,6 +1165,7 @@ fcnHeader(Client cntxt, int kind) if (isModuleDefined(cntxt->nspace, getModuleId(curInstr)) == FALSE) { if (cntxt->backup) { + freeSymbol(cntxt->curprg); cntxt->curprg = cntxt->backup; cntxt->backup = 0; } @@ -1181,6 +1187,7 @@ fcnHeader(Client cntxt, int kind) if (ch == ')') break; if (cntxt->backup) { + freeSymbol(cntxt->curprg); cntxt->curprg = cntxt->backup; cntxt->backup = 0; } @@ -1262,6 +1269,7 @@ fcnHeader(Client cntxt, int kind) if (currChar(cntxt) != ')') { freeInstruction(curInstr); if (cntxt->backup) { + freeSymbol(cntxt->curprg); cntxt->curprg = cntxt->backup; cntxt->backup = 0; } diff --git a/monetdb5/modules/mal/pcre.c b/monetdb5/modules/mal/pcre.c --- a/monetdb5/modules/mal/pcre.c +++ b/monetdb5/modules/mal/pcre.c @@ -33,6 +33,10 @@ #include +#if PCRE_MAJOR < 8 || (PCRE_MAJOR == 8 && PCRE_MINOR < 13) +#define pcre_free_study my_pcre_free +#endif + pcre_export str PCREquote(str *r, const str *v); pcre_export str PCREmatch(bit *ret, const str *val, const str *pat); pcre_export str PCREimatch(bit *ret, const str *val, const str *pat); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 869218e72161 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=869218e72161 Modified Files: clients/mapiclient/mclient.c common/stream/stream.c java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java Branch: default Log Message: Merge with Jun2016 branch. diffs (221 lines): diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -1995,6 +1995,8 @@ doFileBulk(Mapi mid, stream *fp) buf = malloc(bufsize + 1); if (!buf) { fprintf(stderr, "cannot allocate memory for send buffer\n"); + if (fp) + close_stream(fp); return 1; } @@ -2067,6 +2069,8 @@ doFileBulk(Mapi mid, stream *fp) free(buf); mnstr_flush(toConsole); + if (fp) + close_stream(fp); return errseen; } @@ -2637,11 +2641,12 @@ doFile(Mapi mid, stream *fp, int useinse * convert filename from UTF-8 * to locale */ if ((s = open_rastream(line)) == NULL || - mnstr_errnr(s)) + mnstr_errnr(s)) { + if (s) + close_stream(s); fprintf(stderr, "%s: cannot open\n", line); - else + } else doFile(mid, s, 0, 0, 0); - close_stream(s); continue; } case '>': @@ -2832,6 +2837,7 @@ doFile(Mapi mid, stream *fp, int useinse if (prompt) deinit_readline(); #endif + close_stream(fp); return errseen; } @@ -3381,7 +3387,9 @@ main(int argc, char **argv) stream *s; if (fp == NULL && - (fp = fopen(argv[optind], "r")) == NULL) { + (fp = (strcmp(argv[optind], "-") == 0 ? + stdin : + fopen(argv[optind], "r"))) == NULL) { fprintf(stderr, "%s: cannot open\n", argv[optind]); c |= 1; } else if ((s = file_rastream(fp, argv[optind])) == NULL) { @@ -3389,7 +3397,6 @@ main(int argc, char **argv) c |= 1; } else { c |= doFile(mid, s, useinserts, interactive, save_history); - close_stream(s); } fp = NULL; optind++; @@ -3400,7 +3407,6 @@ main(int argc, char **argv) if (!has_fileargs && command == NULL) { stream *s = file_rastream(stdin, ""); c = doFile(mid, s, useinserts, interactive, save_history); - mnstr_destroy(s); } mapi_destroy(mid); diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -4575,6 +4575,8 @@ cb_destroy(stream *s) if (cb->destroy) (*cb->destroy)(cb->private); + free(cb); + s->stream_data.p = NULL; destroy(s); } diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -1190,7 +1190,7 @@ public class MonetDatabaseMetaData exten */ @Override public boolean supportsStoredProcedures() { - return false; + return true; } /** @@ -2476,7 +2476,7 @@ public class MonetDatabaseMetaData exten if (table != null) { query.append(" AND \"tables\".\"name\" ").append(composeMatchPart(table)); } - if (scope != DatabaseMetaData.bestRowSession) { + if (scope != DatabaseMetaData.bestRowSession && scope != DatabaseMetaData.bestRowTransaction && scope != DatabaseMetaData.bestRowTemporary) { query.append(" AND 1 = 0"); } if (!nullable) { diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java ---
MonetDB: default - Merge with Jun2016 branch.
Changeset: 7fe98a9c9a99 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7fe98a9c9a99 Added Files: java/tests/Test_PSgetObject.java sql/jdbc/tests/Tests/Test_PSgetObject.SQL.bat sql/jdbc/tests/Tests/Test_PSgetObject.SQL.sh sql/jdbc/tests/Tests/Test_PSgetObject.stable.err sql/jdbc/tests/Tests/Test_PSgetObject.stable.out Modified Files: java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java sql/jdbc/tests/Tests/All sql/test/pg_regress/Tests/point.sql sql/test/pg_regress/Tests/point.stable.err sql/test/pg_regress/Tests/point.stable.out testing/Mtest.py.in Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 517 to 300 lines): diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java @@ -1737,25 +1737,34 @@ public class MonetResultSet extends Mone public Object getObject(int i, Mapmap) throws SQLException { - Class type; - - if (tlp.values[i - 1] == null) { - lastColumnRead = i - 1; - return null; + String MonetDBtype = null; + try { + MonetDBtype = types[i - 1]; + if (tlp.values[i - 1] == null) { + lastColumnRead = i - 1; + return null; + } + } catch (IndexOutOfBoundsException e) { + throw new SQLException("No such column " + i, "M1M05"); } - if (map.containsKey(types[i - 1])) { - type = map.get(types[i - 1]); - } else { - type = getClassForType(getJavaType(types[i - 1])); + Class type = null; + if (map != null && map.containsKey(MonetDBtype)) { + type = map.get(MonetDBtype); } - - if (type == String.class) { + if (type == null) { + // fallback to the standard Class mappings + type = getClassForType(getJavaType(MonetDBtype)); + } + + if (type == null || type == String.class) { return getString(i); } else if (type == BigDecimal.class) { return getBigDecimal(i); } else if (type == Boolean.class) { return Boolean.valueOf(getBoolean(i)); + } else if (type == Short.class) { + return Short.valueOf(getShort(i)); } else if (type == Integer.class) { return Integer.valueOf(getInt(i)); } else if (type == Long.class) { @@ -1931,7 +1940,7 @@ public class MonetResultSet extends Mone return getRowId(colnum); } }; - x.readSQL(input, types[i - 1]); + x.readSQL(input, MonetDBtype); return x; } else { return getString(i); diff --git a/java/tests/Test_PSgetObject.java b/java/tests/Test_PSgetObject.java new file mode 100644 --- /dev/null +++ b/java/tests/Test_PSgetObject.java @@ -0,0 +1,105 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V. + */ + +import java.sql.*; + +public class Test_PSgetObject { + public static void main(String[] args) throws Exception { + Class.forName("nl.cwi.monetdb.jdbc.MonetDriver"); + final Connection con = DriverManager.getConnection(args[0]); + con.setAutoCommit(false); + // >> false: auto commit was just switched off + System.out.println("0. false\t" + con.getAutoCommit()); + + final Statement stmt = con.createStatement(); + try { + System.out.print("1. creating test table..."); + stmt.executeUpdate("CREATE TABLE table_Test_PSgetObject (ti tinyint, si smallint, i int, bi bigint)"); + stmt.close(); + System.out.println(" passed :)"); + } catch (SQLException e) { + System.out.println(e); + System.out.println("Creation of test table failed! :("); + System.out.println("ABORTING TEST!!!"); +
MonetDB: default - Merge with Jun2016 branch.
Changeset: fcf8cce94fb2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fcf8cce94fb2 Modified Files: configure.ag testing/Makefile.ag Branch: default Log Message: Merge with Jun2016 branch. diffs (36 lines): diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -2729,16 +2729,16 @@ AC_SUBST(GEOS_INCS) AC_SUBST(GEOS_LIBS) # fits, only used by sql -org_have_cfitsio=no -have_cfitsio=$org_have_cfitsio +org_have_fits=no +have_fits=$org_have_fits if test "x$enable_fits" != xno; then PKG_CHECK_MODULES([cfitsio], [cfitsio], - [have_cfitsio=yes; AC_DEFINE(HAVE_FITS, 1, [Define if the fits module is to be enabled])], - [have_cfitsio=no; why_have_cfitsio="(cfitsio library not found)" + [have_fits="yes"; AC_DEFINE(HAVE_FITS, 1, [Define if the fits module is to be enabled])], + [have_fits="no"; why_have_fits="(cfitsio library not found)" if test "x$enable_fits" = xyes; then AC_MSG_ERROR([cfitsio library required for FITS support]); fi; enable_fits=no; disable_fits="(cfitsio library not found)"]) fi -AM_CONDITIONAL(HAVE_FITS, test x"$have_cfitsio" != xno) +AM_CONDITIONAL(HAVE_FITS, test x"$have_fits" != xno) # netcdf, only used by sql org_have_netcdf=no diff --git a/testing/Makefile.ag b/testing/Makefile.ag --- a/testing/Makefile.ag +++ b/testing/Makefile.ag @@ -14,6 +14,7 @@ bin_Mdiff = { bin_Mtimeout = { SOURCES = Mtimeout.c COND = NOT_WIN32 + LIBS = $(PTHREAD_LIBS) } bin_Mapprove.py = bin_Mtest.py ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 1d2f778ed0f8 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1d2f778ed0f8 Modified Files: sql/backends/monet5/sql_gencode.c sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/dump.stable.out sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/dump.stable.out sql/test/testdb-upgrade/Tests/dump.stable.out.Windows sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 111668 to 300 lines): diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -3146,8 +3146,10 @@ backend_create_sql_func(backend *be, sql int varid = 0; char *buf = GDKmalloc(MAXIDENTLEN); - if (buf == NULL) + if (buf == NULL) { + sa_destroy(sa); return -1; + } if (a->name) (void) snprintf(buf, MAXIDENTLEN, "A%s", a->name); else @@ -3160,8 +3162,10 @@ backend_create_sql_func(backend *be, sql } /* announce the transaction mode */ - if (backend_dumpstmt(be, curBlk, s, 0, 1) < 0) + if (backend_dumpstmt(be, curBlk, s, 0, 1) < 0) { + sa_destroy(sa); return -1; + } /* selectively make functions available for inlineing */ /* for the time being we only inline scalar functions */ /* and only if we see a single return value */ diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 --- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 +++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 @@ -26,9476 +26,6 @@ stdout of test 'upgrade` in directory 's Ready. Running database upgrade commands: set schema "sys"; -delete from sys.dependencies where id < 2000; -delete from sys.types where id < 2000; -insert into sys.types values (0, 'void', 'any', 0, 0, 0, 0, 2000); -insert into sys.types values (1, 'bat', 'table', 0, 0, 0, 1, 2000); -insert into sys.types values (2, 'ptr', 'ptr', 0, 0, 0, 1, 2000); -insert into sys.types values (3, 'bit', 'boolean', 1, 0, 2, 2, 2000); -insert into sys.types values (4, 'str', 'char', 0, 0, 0, 3, 2000); -insert into sys.types values (5, 'str', 'varchar', 0, 0, 0, 4, 2000); -insert into sys.types values (6, 'str', 'clob', 0, 0, 0, 4, 2000); -insert into sys.types values (7, 'oid', 'oid', 63, 0, 2, 6, 2000); -insert into sys.types values (8, 'bte', 'tinyint', 8, 1, 2, 7, 2000); -insert into sys.types values (9, 'sht', 'smallint', 16, 1, 2, 7, 2000); -insert into sys.types values (10, 'int', 'int', 32, 1, 2, 7, 2000); -insert into sys.types values (11, 'lng', 'bigint', 64, 1, 2, 7, 2000); -insert into sys.types values (12, 'lng', 'wrd', 64, 1, 2, 7, 2000); -insert into sys.types values (13, 'hge', 'hugeint', 128, 1, 2, 7, 2000); -insert into sys.types values (14, 'bte', 'decimal', 2, 1, 10, 10, 2000); -insert into sys.types values (15, 'sht', 'decimal', 4, 1, 10, 10, 2000); -insert into sys.types values (16, 'int', 'decimal', 9, 1, 10, 10, 2000); -insert into sys.types values (17, 'lng', 'decimal', 18, 1, 10, 10, 2000); -insert into sys.types values (18, 'hge', 'decimal', 39, 1, 10, 10, 2000); -insert into sys.types values (19, 'flt', 'real', 24, 2, 2, 11, 2000); -insert into sys.types values (20, 'dbl', 'double', 53, 2, 2, 11, 2000); -insert into sys.types values (21, 'int', 'month_interval', 32, 0, 2, 8, 2000); -insert into sys.types values (22, 'lng', 'sec_interval', 13, 1, 10, 9, 2000); -insert into sys.types values (23, 'daytime', 'time', 7, 0, 0, 12, 2000); -insert into sys.types values (24, 'daytime', 'timetz', 7, 1, 0, 12, 2000); -insert into sys.types values (25, 'date', 'date', 0, 0, 0, 13, 2000); -insert into sys.types values (26, 'timestamp', 'timestamp', 7, 0, 0, 14, 2000); -insert
MonetDB: default - Merge with Jun2016 branch.
Changeset: e038b4f1dd2b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e038b4f1dd2b Modified Files: gdk/gdk.h monetdb5/mal/mal_factory.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c sql/server/sql_mvc.c sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5.stable.out.int128 Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 345 to 300 lines): diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1293,7 +1293,6 @@ gdk_export bte ATOMelmshift(int sz); #define Treplacevalue(b, p, v) HTreplacevalue(b, p, v, T) #define HTfastins_nocheck(b, p, v, s, HT) \ do {\ - assert((b)->HT->width == (s)); \ (b)->HT->heap.free += (s); \ (b)->HT->heap.dirty |= (s) != 0;\ HTputvalue((b), HT##loc((b), (p)), (v), 0, HT); \ diff --git a/monetdb5/mal/mal_factory.c b/monetdb5/mal/mal_factory.c --- a/monetdb5/mal/mal_factory.c +++ b/monetdb5/mal/mal_factory.c @@ -382,13 +382,12 @@ void mal_factory_reset(void) /* MSresetVariables(mb, pl->stk, 0);*/ /* freeStack(pl->stk); there may be a reference?*/ /* we are inside the body of the factory and about to return */ - pl->factory = 0; - if (pl->stk) + if (pl->stk) { pl->stk->keepAlive = FALSE; - if ( pl->stk) { - //garbageCollector(cntxt, mb, pl->stk,TRUE); + garbageCollector(NULL, pl->factory, pl->stk,TRUE); GDKfree(pl->stk); } + pl->factory = 0; pl->stk=0; pl->pc = 0; pl->inuse = 0; diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c --- a/monetdb5/mal/mal_interpreter.c +++ b/monetdb5/mal/mal_interpreter.c @@ -724,11 +724,13 @@ str runMALsequence(Client cntxt, MalBlkP nstk->up = stk; if (nstk->calldepth > 256) { ret= createException(MAL, "mal.interpreter", MAL_CALLDEPTH_FAIL); + GDKfree(nstk); break; } if ((unsigned)nstk->stkdepth > THREAD_STACK_SIZE / sizeof(mb->var[0]) / 4 && THRhighwater()){ /* we are running low on stack space */ ret= createException(MAL, "mal.interpreter", MAL_STACK_FAIL); + GDKfree(nstk); break; } @@ -1424,8 +1426,10 @@ void garbageCollector(Client cntxt, MalB ValPtr v; #ifdef STACKTRACE - mnstr_printf(cntxt->fdout, "#--->stack before garbage collector\n"); - printStack(cntxt->fdout, mb, stk, 0); + if (cntxt) { + mnstr_printf(cntxt->fdout, "#--->stack before garbage collector\n"); + printStack(cntxt->fdout, mb, stk, 0); + } #endif for (k = 0; k < mb->vtop; k++) { if (isVarCleanup(mb, k) && (flag || isTmpVar(mb, k))) { @@ -1435,8 +1439,10 @@ void garbageCollector(Client cntxt, MalB } } #ifdef STACKTRACE - mnstr_printf(cntxt->fdout, "#-->stack after garbage collector\n"); - printStack(cntxt->fdout, mb, stk, 0); + if (cntxt) { + mnstr_printf(cntxt->fdout, "#-->stack after garbage collector\n"); + printStack(cntxt->fdout, mb, stk, 0); + } #else (void)cntxt; #endif diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++ b/sql/server/sql_mvc.c @@ -64,6 +64,7 @@ mvc_init(int debug, store_type store, in if (first || catalog_version) { sql_schema *s; sql_table *t; + sqlid tid = 0, ntid, cid = 0, ncid; mvc *m = mvc_create(0, stk, 0, NULL, NULL); m->sa = sa_create(); @@ -80,12
MonetDB: default - Merge with Jun2016 branch.
Changeset: e7ebd125b103 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e7ebd125b103 Modified Files: clients/mapiclient/mclient.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_recycle.c monetdb5/modules/mal/pcre.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/optimizer.c monetdb5/optimizer/optimizer_private.h sql/server/rel_semantic.c sql/storage/bat/bat_storage.c Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 623 to 300 lines): diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -3322,6 +3322,7 @@ main(int argc, char **argv) if (command != NULL) { #ifdef HAVE_ICONV iconv_t cd_in; + int free_command = 0; if (encoding != NULL && (cd_in = iconv_open("utf-8", encoding)) != (iconv_t) -1) { @@ -3331,6 +3332,7 @@ main(int argc, char **argv) int factor = 4; size_t tolen = factor * fromlen + 1; char *to = malloc(tolen); + free_command = 1; try_again: command = to; @@ -3367,6 +3369,10 @@ main(int argc, char **argv) timerStart(); c = doRequest(mid, command); timerEnd(); +#ifdef HAVE_ICONV + if (free_command) + free(command); +#endif } if (optind < argc) { diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -626,9 +626,11 @@ static BAT *TRACE_id_stmt = 0; int TRACEtable(BAT **r) { - if (TRACE_init == 0) + MT_lock_set(_profileLock); + if (TRACE_init == 0) { + MT_lock_unset(_profileLock); return -1; /* not initialized */ - MT_lock_set(_profileLock); + } r[0] = COLcopy(TRACE_id_event, TRACE_id_event->ttype, 0, TRANSIENT); r[1] = COLcopy(TRACE_id_time, TRACE_id_time->ttype, 0, TRANSIENT); r[2] = COLcopy(TRACE_id_pc, TRACE_id_pc->ttype, 0, TRANSIENT); @@ -649,35 +651,39 @@ TRACEtable(BAT **r) BAT * getTrace(const char *nme) { - if (TRACE_init == 0) - return NULL; - if (strcmp(nme, "event") == 0) - return COLcopy(TRACE_id_event, TRACE_id_event->ttype, 0, TRANSIENT); - if (strcmp(nme, "time") == 0) - return COLcopy(TRACE_id_time, TRACE_id_time->ttype, 0, TRANSIENT); - if (strcmp(nme, "pc") == 0) - return COLcopy(TRACE_id_pc, TRACE_id_pc->ttype, 0, TRANSIENT); - if (strcmp(nme, "thread") == 0) - return COLcopy(TRACE_id_thread, TRACE_id_thread->ttype, 0, TRANSIENT); - if (strcmp(nme, "usec") == 0) - return COLcopy(TRACE_id_ticks, TRACE_id_ticks->ttype, 0, TRANSIENT); - if (strcmp(nme, "rssMB") == 0) - return COLcopy(TRACE_id_rssMB, TRACE_id_rssMB->ttype, 0, TRANSIENT); - if (strcmp(nme, "tmpspace") == 0) - return COLcopy(TRACE_id_tmpspace, TRACE_id_tmpspace->ttype, 0, TRANSIENT); - if (strcmp(nme, "reads") == 0) - return COLcopy(TRACE_id_inblock, TRACE_id_inblock->ttype, 0, TRANSIENT); - if (strcmp(nme, "writes") == 0) - return COLcopy(TRACE_id_oublock, TRACE_id_oublock->ttype, 0, TRANSIENT); - if (strcmp(nme, "minflt") == 0) - return COLcopy(TRACE_id_minflt, TRACE_id_minflt->ttype, 0, TRANSIENT); - if (strcmp(nme, "majflt") == 0) - return COLcopy(TRACE_id_majflt, TRACE_id_majflt->ttype, 0, TRANSIENT); - if (strcmp(nme, "nvcsw") == 0) - return COLcopy(TRACE_id_nvcsw, TRACE_id_nvcsw->ttype, 0, TRANSIENT); - if (strcmp(nme, "stmt") == 0) - return COLcopy(TRACE_id_stmt, TRACE_id_stmt->ttype, 0, TRANSIENT); - return NULL; + BAT *bn = NULL; + + MT_lock_set(_profileLock); + if (TRACE_init) { + if (strcmp(nme, "event") == 0) + bn = COLcopy(TRACE_id_event, TRACE_id_event->ttype, 0, TRANSIENT); + else if (strcmp(nme, "time") == 0) + bn = COLcopy(TRACE_id_time, TRACE_id_time->ttype, 0, TRANSIENT); + else if (strcmp(nme, "pc") == 0) + bn = COLcopy(TRACE_id_pc, TRACE_id_pc->ttype, 0, TRANSIENT); + else if (strcmp(nme, "thread") == 0) + bn = COLcopy(TRACE_id_thread, TRACE_id_thread->ttype, 0, TRANSIENT); + else if (strcmp(nme, "usec") == 0) + bn = COLcopy(TRACE_id_ticks, TRACE_id_ticks->ttype, 0, TRANSIENT); + else if (strcmp(nme, "rssMB") == 0) + bn =
MonetDB: default - Merge with Jun2016 branch.
Changeset: 5b181bcebe8f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5b181bcebe8f Modified Files: clients/mapiclient/msqldump.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_parser.c monetdb5/modules/atoms/url.c monetdb5/modules/mal/groupby.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c sql/backends/monet5/sql.c sql/backends/monet5/sql_cast.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_user.c sql/backends/monet5/vaults/bam/bam_lib.c sql/server/sql_atom.c sql/test/BugDay_2005-11-09_2.9.3/Tests/hang_on_copy_into.SF-1100504.stable.err sql/test/BugTracker-2011/Tests/All sql/test/BugTracker-2016/Tests/malformed-copy-int.Bug-3987.stable.err Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 336 to 300 lines): diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c --- a/clients/mapiclient/msqldump.c +++ b/clients/mapiclient/msqldump.c @@ -222,12 +222,12 @@ main(int argc, char **argv) c = dump_database(mid, out, describe, useinserts); mnstr_flush(out); - mapi_disconnect(mid); + mapi_destroy(mid); if (mnstr_errnr(out)) { fprintf(stderr, "%s: %s", argv[0], mnstr_error(out)); return 1; } + mnstr_destroy(out); return c; - } diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c --- a/monetdb5/mal/mal_dataflow.c +++ b/monetdb5/mal/mal_dataflow.c @@ -417,6 +417,8 @@ DFLOWworker(void *T) /* only collect one error (from one thread, needed for stable testing) */ if (!flow->error) flow->error = error; + else + GDKfree(error); MT_lock_unset(>flowlock); /* after an error we skip the rest of the block */ q_enqueue(flow->done, fe); diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -617,6 +617,7 @@ getVarName(MalBlkPtr mb, int i) nme = mb->var[i]->name; if (nme == 0 || *nme =='_') { + GDKfree(nme); snprintf(buf, IDLENGTH, "%c_%d", refMarker(mb,i), mb->var[i]->tmpindex); nme = mb->var[i]->name = GDKstrdup(buf); } @@ -1509,7 +1510,7 @@ pushArgument(MalBlkPtr mb, InstrPtr p, i freeInstruction(p); return NULL; } - memcpy((char *) pn, (char *) p, space); + memcpy(pn, p, space); GDKfree(p); pn->maxarg += MAXARG; /* we have to keep track on the maximal arguments/block diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c --- a/monetdb5/mal/mal_parser.c +++ b/monetdb5/mal/mal_parser.c @@ -795,6 +795,7 @@ helpInfo(Client cntxt, str *help) if (MALkeyword(cntxt, "comment", 7)) { skipSpace(cntxt); if ((l = stringLength(cntxt))) { + GDKfree(*help); *help = strCopy(cntxt, l); if (*help) advance(cntxt, l - 1); diff --git a/monetdb5/modules/atoms/url.c b/monetdb5/modules/atoms/url.c --- a/monetdb5/modules/atoms/url.c +++ b/monetdb5/modules/atoms/url.c @@ -416,6 +416,7 @@ URLgetContent(str *retval, url *Str1) (void)memcpy(retbuf + rlen, buf, len); rlen += len; } + mnstr_destroy(f); if (len < 0) { GDKfree(retbuf); throw(MAL, "url.getContent", "read error"); diff --git a/monetdb5/modules/mal/groupby.c b/monetdb5/modules/mal/groupby.c --- a/monetdb5/modules/mal/groupby.c +++ b/monetdb5/modules/mal/groupby.c @@ -145,6 +145,7 @@ GROUPdelete(AGGRtask *a){ for(a->last--; a->last>=0; a->last--){ BBPunfix(a->cols[a->last]->batCacheid); } + GDKfree(a->bid); GDKfree(a->cols); GDKfree(a->unique); GDKfree(a); diff --git a/monetdb5/modules/mal/sysmon.c b/monetdb5/modules/mal/sysmon.c --- a/monetdb5/modules/mal/sysmon.c +++ b/monetdb5/modules/mal/sysmon.c @@ -95,6 +95,7 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb, goto bailout; BUNappend(user, usr, FALSE); + GDKfree(usr); BUNappend(query, QRYqueue[i].query, FALSE); BUNappend(activity, QRYqueue[i].status, FALSE); diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c --- a/monetdb5/modules/mal/tablet.c +++ b/monetdb5/modules/mal/tablet.c @@ -711,7 +711,7 @@ typedef struct { } READERtask; static void
MonetDB: default - Merge with Jun2016 branch.
Changeset: c949ca2c95bd for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c949ca2c95bd Modified Files: geom/lib/libgeom.c geom/monetdb5/geom.c Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 3423 to 300 lines): diff --git a/geom/lib/libgeom.c b/geom/lib/libgeom.c --- a/geom/lib/libgeom.c +++ b/geom/lib/libgeom.c @@ -113,10 +113,10 @@ wkb2geos(wkb *geomWKB) if (wkb_isnil(geomWKB)) return NULL; - geosGeometry = GEOSGeomFromWKB_buf((unsigned char *) ((geomWKB)->data), (geomWKB)->len); + geosGeometry = GEOSGeomFromWKB_buf((unsigned char *) geomWKB->data, geomWKB->len); if (geosGeometry != NULL) - GEOSSetSRID(geosGeometry, (geomWKB)->srid); + GEOSSetSRID(geosGeometry, geomWKB->srid); return geosGeometry; } diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c --- a/geom/monetdb5/geom.c +++ b/geom/monetdb5/geom.c @@ -47,18 +47,18 @@ wkbNULLcopy(void) static void degrees2radians(double *x, double *y, double *z) { - (*x) *= M_PI / 180.0; - (*y) *= M_PI / 180.0; - (*z) *= M_PI / 180.0; + *x *= M_PI / 180.0; + *y *= M_PI / 180.0; + *z *= M_PI / 180.0; } /** convert radians to degrees */ static void radians2degrees(double *x, double *y, double *z) { - (*x) *= 180.0 / M_PI; - (*y) *= 180.0 / M_PI; - (*z) *= 180.0 / M_PI; + *x *= 180.0 / M_PI; + *y *= 180.0 / M_PI; + *z *= 180.0 / M_PI; } static str @@ -67,11 +67,10 @@ transformCoordSeq(int idx, int coordinat double x = 0, y = 0, z = 0; int *errorNum = 0; - GEOSCoordSeq_getX(gcs_old, idx, ); - GEOSCoordSeq_getY(gcs_old, idx, ); - - if (coordinatesNum > 2) - GEOSCoordSeq_getZ(gcs_old, idx, ); + if (!GEOSCoordSeq_getX(gcs_old, idx, ) || + !GEOSCoordSeq_getY(gcs_old, idx, ) || + (coordinatesNum > 2 && !GEOSCoordSeq_getZ(gcs_old, idx, ))) + throw(MAL, "geom.Transform", "Couldn't get coordinates"); /* check if the passed reference system is geographic (proj=latlong) * and change the degrees to radians because pj_transform works with radians*/ @@ -83,9 +82,9 @@ transformCoordSeq(int idx, int coordinat errorNum = pj_get_errno_ref(); if (*errorNum != 0) { if (coordinatesNum > 2) - throw(MAL, "geom.wkbTransform", "Couldn't transform point (%f %f %f): %s\n", x, y, z, pj_strerrno(*errorNum)); + throw(MAL, "geom.Transform", "Couldn't transform point (%f %f %f): %s\n", x, y, z, pj_strerrno(*errorNum)); else - throw(MAL, "geom.wkbTransform", "Couldn't transform point (%f %f): %s\n", x, y, pj_strerrno(*errorNum)); + throw(MAL, "geom.Transform", "Couldn't transform point (%f %f): %s\n", x, y, pj_strerrno(*errorNum)); } /* check if the destination reference system is geographic and change @@ -93,11 +92,10 @@ transformCoordSeq(int idx, int coordinat if (pj_is_latlong(proj4_dst)) radians2degrees(, , ); - GEOSCoordSeq_setX(gcs_new, idx, x); - GEOSCoordSeq_setY(gcs_new, idx, y); - - if (coordinatesNum > 2) - GEOSCoordSeq_setZ(gcs_new, idx, z); + if (!GEOSCoordSeq_setX(gcs_new, idx, x) || + !GEOSCoordSeq_setY(gcs_new, idx, y) || + (coordinatesNum > 2 && !GEOSCoordSeq_setZ(gcs_new, idx, z))) + throw(MAL, "geom.Transform", "Couldn't set coordinates"); return MAL_SUCCEED; } @@ -118,12 +116,12 @@ transformPoint(GEOSGeometry **transforme gcs_old = GEOSGeom_getCoordSeq(geosGeometry); if (gcs_old == NULL) - throw(MAL, "geom.wkbTransform", "GEOSGeom_getCoordSeq failed"); + throw(MAL, "geom.Transform", "GEOSGeom_getCoordSeq failed"); /* create the coordinates sequence for the transformed geometry */ gcs_new = GEOSCoordSeq_create(1, coordinatesNum); if (gcs_new == NULL) - throw(MAL, "geom.wkbTransform", "GEOSGeom_getCoordSeq failed"); + throw(MAL, "geom.Transform", "GEOSGeom_getCoordSeq failed"); /* create the transformed coordinates */ ret = transformCoordSeq(0, coordinatesNum, proj4_src, proj4_dst, gcs_old, gcs_new); @@ -136,7 +134,7 @@ transformPoint(GEOSGeometry **transforme *transformedGeometry = GEOSGeom_createPoint(gcs_new); if (*transformedGeometry == NULL) { GEOSCoordSeq_destroy(gcs_new); - throw(MAL, "geom.wkbTransform", "GEOSGeom_getCoordSeq failed"); + throw(MAL, "geom.Transform", "GEOSGeom_getCoordSeq failed"); } return MAL_SUCCEED; @@ -156,15 +154,16 @@ transformLine(GEOSCoordSeq *gcs_new, con gcs_old = GEOSGeom_getCoordSeq(geosGeometry); if (gcs_old == NULL) -
MonetDB: default - Merge with Jun2016 branch.
Changeset: afa68e3be37f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=afa68e3be37f Removed Files: monetdb5/tests/BugReports/Tests/no.146.stable.out Modified Files: clients/Makefile.ag clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 geom/sql/Makefile.ag sql/backends/monet5/UDF/README Branch: default Log Message: Merge with Jun2016 branch. diffs (55 lines): diff --git a/clients/Makefile.ag b/clients/Makefile.ag --- a/clients/Makefile.ag +++ b/clients/Makefile.ag @@ -6,4 +6,4 @@ SUBDIRS = HAVE_MAPI?mapilib HAVE_MAPI?mapiclient HAVE_ODBC?odbc HAVE_PERL?perl php examples NATIVE_WIN32?NT -EXTRA_DIST_DIR = Tests ruby +EXTRA_DIST_DIR = Tests ruby R diff --git a/clients/Tests/SQL-dump.stable.out b/clients/Tests/SQL-dump.stable.out --- a/clients/Tests/SQL-dump.stable.out +++ b/clients/Tests/SQL-dump.stable.out @@ -7179,6 +7179,7 @@ drop function pcre_replace(string, strin [ 12, "SEQUENCE" ] [ 13, "PROCEDURE" ] [ 14, "BE_DROPPED"] +[ 15, "TYPE" ] #drop function pcre_replace(string, string, string, string); # 13:32:07 > diff --git a/clients/Tests/SQL-dump.stable.out.int128 b/clients/Tests/SQL-dump.stable.out.int128 --- a/clients/Tests/SQL-dump.stable.out.int128 +++ b/clients/Tests/SQL-dump.stable.out.int128 @@ -7728,6 +7728,7 @@ drop function pcre_replace(string, strin [ 12, "SEQUENCE" ] [ 13, "PROCEDURE" ] [ 14, "BE_DROPPED"] +[ 15, "TYPE" ] #drop function pcre_replace(string, string, string, string); # 15:15:20 > diff --git a/geom/sql/Makefile.ag b/geom/sql/Makefile.ag --- a/geom/sql/Makefile.ag +++ b/geom/sql/Makefile.ag @@ -10,4 +10,4 @@ headers_sql = { SOURCES = 40_geom.sql } -EXTRA_DIST_DIR = Tests +EXTRA_DIST_DIR = Tests conformance functions pg_regression diff --git a/monetdb5/tests/BugReports/Tests/no.146.stable.out b/monetdb5/tests/BugReports/Tests/no.146.stable.out deleted file mode 100644 diff --git a/sql/backends/monet5/UDF/README b/sql/backends/monet5/UDF/README --- a/sql/backends/monet5/UDF/README +++ b/sql/backends/monet5/UDF/README @@ -1,3 +1,7 @@ -This directory is a template for extending SQL with a new scalar type. -For further documentation, see the MonetDB website at +This directory is a template for extending SQL with a new user-defined +function (UDF). For further documentation, see the MonetDB website at http://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/UserDefinedFunction +as well as the Mercurial repository at +http://dev.monetdb.org/hg/MonetDB-extend +and especially the file reverse/README.rst in there, which contains a +lot of hands-on information for creating a UDF. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 401aa484fac1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=401aa484fac1 Modified Files: .hgtags MonetDB.spec debian/changelog java/Makefile.ag java/build.properties java/pom.xml java/release.txt libversions Branch: default Log Message: Merge with Jun2016 branch. diffs (105 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -624,3 +624,6 @@ 51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 Jul2015_SP4_release 192e3168234a5f9f8a4d1c4ce17805f608f001c3 Jun2016_1 192e3168234a5f9f8a4d1c4ce17805f608f001c3 Jun2016_release +b29fdfe9c590f674208212bf4ead617beef4b73c Jun2016_3 +192e3168234a5f9f8a4d1c4ce17805f608f001c3 Jun2016_release +b29fdfe9c590f674208212bf4ead617beef4b73c Jun2016_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1012,6 +1012,10 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Fri Jun 10 2016 Sjoerd Mullender- 11.23.3-20160610 +- Rebuilt. +- BZ#4015: Daemon crashes on database release command + * Wed Jun 01 2016 Sjoerd Mullender - 11.23.1-20160601 - Rebuilt. - BZ#2407: Merovingian: allow binds to given ip/interface diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +monetdb (11.23.3) unstable; urgency=low + + * Rebuilt. + * BZ#4015: Daemon crashes on database release command + + -- Sjoerd Mullender Fri, 10 Jun 2016 13:23:50 +0200 + monetdb (11.23.1) unstable; urgency=low * Rebuilt. diff --git a/java/Makefile.ag b/java/Makefile.ag --- a/java/Makefile.ag +++ b/java/Makefile.ag @@ -16,7 +16,7 @@ JAVA_HOME = @JAVA_HOME@ ant_distjdbc = { COND = HAVE_JAVAJDBC DIR = datadir/monetdb/lib - FILES = monetdb-mcl-1.13.jar monetdb-jdbc-2.20.jar jdbcclient.jar + FILES = monetdb-mcl-1.13.jar monetdb-jdbc-2.21.jar jdbcclient.jar } ant_distmerocontrol = { diff --git a/java/build.properties b/java/build.properties --- a/java/build.properties +++ b/java/build.properties @@ -19,7 +19,7 @@ MCL_MINOR=13 # major release number JDBC_MAJOR=2 # minor release number -JDBC_MINOR=20 +JDBC_MINOR=21 # an additional identifying string JDBC_VER_SUFFIX=Liberica # the default port to connect on, if no port given when using SQL diff --git a/java/pom.xml b/java/pom.xml --- a/java/pom.xml +++ b/java/pom.xml @@ -6,7 +6,7 @@ monetdb monetdb-jdbc - 2.20 + 2.21 ${project.groupId}:${project.artifactId} MonetDB JDBC driver https://www.monetdb.org diff --git a/java/release.txt b/java/release.txt --- a/java/release.txt +++ b/java/release.txt @@ -1,6 +1,6 @@ RELEASE NOTES -MonetDB JDBC driver version 2.20 (Liberica/MCL-1.13) -Release date: 2016-06-01 +MonetDB JDBC driver version 2.21 (Liberica/MCL-1.13) +Release date: 2016-06-10 This JDBC driver is designed for use with MonetDB, a main-memory database. For more information see https://www.monetdb.org/. 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=13:0:0 +GDK_VERSION=13:1:0 # version of the MAPI library (subdirectory clients/mapilib) MAPI_VERSION=8:0:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras) -MONETDB5_VERSION=21:0:0 +MONETDB5_VERSION=21:1:0 # version of the STREAM library (subdirectory common/stream) STREAM_VERSION=8:0:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: 7999f1e71260 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7999f1e71260 Modified Files: 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 gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: f0c0f3da92ef for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f0c0f3da92ef Modified Files: 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 gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: a14ff350c496 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a14ff350c496 Modified Files: debian/control Branch: default Log Message: Merge with Jun2016 branch. diffs (21 lines): diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -5,8 +5,6 @@ Maintainer: MonetDB BV= 5), autotools-dev, bison, libatomic-ops-dev, libbam-dev, libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.4.0), libgsl0-dev, libpcre3-dev, libreadline-dev, liblzma-dev, @@ -136,8 +134,6 @@ Description: MonetDB ODBC driver Package: php5-monetdb-client Architecture: all -# wheezy, jessie, precise, trusty, wily: php5-common -# xenial: php-common Depends: ${shlibs:Depends}, ${misc:Depends}, php-common Description: MonetDB php5 client module MonetDB is a database management system that is developed from a ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 6da88eafadbd for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6da88eafadbd Modified Files: MonetDB.spec debian/changelog debian/control debian/fix-deb.sh java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java monetdb5/ChangeLog-Archive sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_upgrades.c sql/scripts/51_sys_schema_extension.sql sql/server/rel_dump.c sql/server/rel_prop.c sql/server/rel_psm.c sql/storage/bat/bat_logger.c sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/check.stable.out sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/check.stable.out sql/test/emptydb-upgrade/Tests/check.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.oid32 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 1262 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -9,7 +9,7 @@ %define bits 32 %else %define bits 64 -%define with_int128=1 +%define with_int128 1 %endif # only add .oidXX suffix if oid size differs from bit size @@ -695,7 +695,7 @@ fi %if %{bits} == 64 %package -n MonetDB5-server-hugeint Summary: MonetDB - 128-bit integer support for MonetDB5-server -Group: Application/Databases +Group: Applications/Databases Requires: MonetDB5-server%{?_isa} %description -n MonetDB5-server-hugeint @@ -910,7 +910,6 @@ Group: Applications/Databases Requires: %{name}-testing = %{version}-%{release} Requires: %{name}-client-tests = %{version}-%{release} Requires: python -BuildArch: noarch %description testing-python MonetDB is a database management system that is developed from a @@ -1276,7 +1275,7 @@ rm -f %{buildroot}%{_bindir}/Maddlog - gdk: Removed all versions of the SORTloop macro. * Tue Apr 5 2016 Sjoerd Mullender- 11.23.1-20160601 -- monetdb5: Removed algerbra.like with a BAT argument. Use algebra.likesubselect +- monetdb5: Removed algebra.like with a BAT argument. Use algebra.likesubselect instead. * Tue Apr 5 2016 Sjoerd Mullender - 11.23.1-20160601 diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -382,7 +382,7 @@ monetdb (11.23.1) unstable; urgency=low monetdb (11.23.1) unstable; urgency=low - * monetdb5: Removed algerbra.like with a BAT argument. Use algebra.likesubselect + * monetdb5: Removed algebra.like with a BAT argument. Use algebra.likesubselect instead. -- Sjoerd Mullender Tue, 5 Apr 2016 16:10:50 +0200 diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -19,6 +19,7 @@ X-Python3-Version: >= 3.0 Package: libmonetdb13 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libmonetdb5-server-geom (< ${source:Version}) Description: MonetDB core library MonetDB is a database management system that is developed from a main-memory perspective with use of a fully decomposed storage model, @@ -58,7 +59,8 @@ Description: MonetDB stream library Package: libmonetdb-stream-dev Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libmonetdb-stream8 +Depends: ${shlibs:Depends}, ${misc:Depends}, + libmonetdb-stream8 (= ${source:Version}) Description: MonetDB stream library development files MonetDB is a database management system that is developed from a main-memory perspective with use of a fully decomposed
MonetDB: default - Merge with Jun2016 branch.
Changeset: 94d47d41e081 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=94d47d41e081 Modified Files: debian/fix-deb.sh Branch: default Log Message: Merge with Jun2016 branch. diffs (63 lines): diff --git a/debian/fix-deb.sh b/debian/fix-deb.sh --- a/debian/fix-deb.sh +++ b/debian/fix-deb.sh @@ -1,16 +1,41 @@ #!/bin/bash -if [ -f /etc/lsb-release ]; then -source /etc/lsb-release -ID=${DISTRIB_ID,,} -VERSION_ID=$DISTRIB_RELEASE -elif [ -f /etc/os-release ]; then -source /etc/os-release -else -echo "don't know what distro this is" -exit 1 -fi +case $# in +0) +# figure out which distribution this is +if [ -f /etc/lsb-release ]; then + source /etc/lsb-release + SUITE=$DISTRIB_CODENAME +elif [ -f /etc/os-release ]; then + source /etc/os-release + if [[ $ID == debian ]]; then + SUITE="${VERSION#*(}" + SUITE="${SUITE%)*}" + else + case $VERSION in + *\(*\)*) + SUITE="${VERSION#*(}" + SUITE="${SUITE% *)*}" + ;; + *) + SUITE="${VERSION#*, }" + SUITE="${SUITE% *)*}" + ;; + esac + SUITE=${SUITE,,} + fi +else + echo "don't know what distro this is" + exit 1 +fi +;; +1) +# we're passed the name of the distribution +SUITE=$1 +;; +esac -if [[ ( $ID == debian && $VERSION_ID -lt 8 ) || ( $ID == ubuntu && $VERSION_ID < 15.10 ) ]]; then +case $SUITE in +wheezy | precise | trusty) # fix control file because these systems don't have liblas and a # too old version of libgeos sed -i 's/, libgeos-dev[^,]*//;s/, liblas-c-dev[^,]*//' debian/control @@ -18,4 +43,5 @@ if [[ ( $ID == debian && $VERSION_ID -lt sed -i '/^Package:.*geom/,/^$/d' debian/control rm debian/libmonetdb5-server-lidar.install debian/libmonetdb5-server-geom.install sed -i '/geo[ms]=yes/s/yes/no/;/gdal=yes/s/yes/no/;/lidar=yes/s/yes/no/;/liblas=yes/s/yes/no/' debian/rules -fi +;; +esac ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 6191486e55aa for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6191486e55aa Added Files: sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.oid32 Modified Files: configure.ag gdk/gdk_bbp.c Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 19998 to 300 lines): diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -162,7 +162,7 @@ AC_ARG_ENABLE(netcdf, [enable support for netcdf (default=auto)]), enable_netcdf=$enableval, enable_netcdf=$dft_netcdf) - + dft_lidar=auto AC_ARG_ENABLE(lidar, AS_HELP_STRING([--enable-lidar], @@ -299,6 +299,13 @@ AC_ARG_ENABLE(developer, enable_developer=$enableval, enable_developer=$dft_developer) +dft_sanitizer=no +AC_ARG_ENABLE(sanitizer, + AS_HELP_STRING([--enable-sanitizer], + [enable support for the GCC address sanitizer (default=no)]), + enable_sanitizer=$enableval, + enable_sanitizer=$dft_sanitizer) + dnl The console is a direct client hooked onto the kernel with full dnl administrative privileges, bypassing any security checks. It is dnl handy only during development. @@ -521,7 +528,7 @@ case "$host_os" in LINUX_DIST=`source /etc/os-release; echo ${ID}:${VERSION_ID}` elif test -s /etc/fedora-release ; then LINUX_DIST="`cat /etc/fedora-release | head -n1 \ - | sed 's|^.*\(Fedora\).* release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" + | sed 's|^.*\(Fedora\).* release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" elif test -s /etc/centos-release ; then LINUX_DIST="`cat /etc/centos-release | head -n1 \ | sed 's|^\(CentOS\).* release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" @@ -533,7 +540,7 @@ case "$host_os" in | sed 's|^.*\(Red\) \(Hat\).* Linux *\([[A-Z]]*\) release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1\2:\4\3|' \ | sed 's|^Red Hat Enterprise Linux \([[AW]]S\) release \([[0-9]][[^ \n]]*\)\( .*\)*$|RHEL:\2\1|' \ | sed 's|^\(CentOS\).* release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|' \ - | sed 's|^\(Scientific\) Linux.* release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" + | sed 's|^\(Scientific\) Linux.* release \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" elif test -s /etc/SuSE-release ; then LINUX_DIST="`cat /etc/SuSE-release | head -n1 \ | sed 's|^.*\(S[[Uu]]SE\) LINUX Enterprise \([[SD]]\)[[ervsktop]]* \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\3E\2|' \ @@ -542,7 +549,7 @@ case "$host_os" in | sed 's|^open\(S[[Uu]]SE\) \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" elif test -s /etc/gentoo-release ; then LINUX_DIST="`cat /etc/gentoo-release | head -n1 \ - | sed 's|^.*\(Gentoo\) Base System.* [[versionrelease]]* \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" + | sed 's|^.*\(Gentoo\) Base System.* [[versionrelease]]* \([[0-9]][[^ \n]]*\)\( .*\)*$|\1:\2|'`" elif test -s /etc/lsb-release ; then LINUX_DIST="`grep '^DISTRIB_ID=' /etc/lsb-release | cut -d'=' -f2`:`grep '^DISTRIB_RELEASE=' /etc/lsb-release | cut -d'=' -f2`" elif test -s /etc/debian_version ; then @@ -604,7 +611,7 @@ dnl Set compiler switches. dnl The idea/goal is to be as strict as possible, i.e., enable preferably dnl *all* warnings and make them errors. This should help keep the code dnl as clean and portable as possible. -dnl It turned out, though, that this, especially turning all warnings into +dnl It turned out, though, that this, especially turning all warnings into dnl errors, is a bit too ambitious for configure/autoconf. Hence, we set dnl all flags that enable specific warnings and those that make the dnl compiler die on them (-Werror) in X_CFLAGS, which are added to the @@ -753,11 +760,31 @@ yes-*-*) dnl # 193: zero used for undefined preprocessing identifier dnl #1357: optimization disabled due to excessive resource requirements; contact Intel Premier Support for assistance dnl #1572: floating-point equality and inequality comparisons are unreliable - dnl #1599: declaration hides variable + dnl #1599: declaration hides variable dnl #2259: non-pointer conversion from "." to "." may lose significant bits ;; esac fi +if test "x$enable_sanitizer" != xno; then +case "$GCC" in +yes) + # if no specific sanitizer was specified, use address sanitizer + if test "x$enable_sanitizer" = xyes; then + MCHECK_ADD_FLAG([-fsanitize=address]) + else + MCHECK_ADD_FLAG([-fsanitize=$enable_sanitizer]) + if test
MonetDB: default - Merge with Jun2016 branch.
Changeset: c04decc5762a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c04decc5762a Modified Files: monetdb5/mal/mal.c monetdb5/modules/mal/mdb.c sql/server/rel_partition.c sql/server/rel_partition.h Branch: default Log Message: Merge with Jun2016 branch. diffs (47 lines): diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c --- a/monetdb5/mal/mal.c +++ b/monetdb5/mal/mal.c @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * - * Copyright 2008-2015 MonetDB B.V. + * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V. */ /* (author) M. Kersten */ diff --git a/monetdb5/modules/mal/mdb.c b/monetdb5/modules/mal/mdb.c --- a/monetdb5/modules/mal/mdb.c +++ b/monetdb5/modules/mal/mdb.c @@ -296,6 +296,7 @@ MDBgetFrame(BAT *b, BAT*bn, Client cntxt BUNappend(b, getVarName(mb, i), FALSE); BUNappend(bn, buf, FALSE); GDKfree(buf); + buf = NULL; } return MAL_SUCCEED; } diff --git a/sql/server/rel_partition.c b/sql/server/rel_partition.c --- a/sql/server/rel_partition.c +++ b/sql/server/rel_partition.c @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * - * Copyright 2008-2015 MonetDB B.V. + * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V. */ /*#define DEBUG*/ diff --git a/sql/server/rel_partition.h b/sql/server/rel_partition.h --- a/sql/server/rel_partition.h +++ b/sql/server/rel_partition.h @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * - * Copyright 2008-2015 MonetDB B.V. + * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V. */ #ifndef _REL_PARTITION_H_ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 3524ecb9c715 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3524ecb9c715 Modified Files: buildtools/doc/windowsbuild.rst common/utils/msabaoth.c gdk/gdk_logger.c java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java monetdb5/mal/mal_interpreter.c monetdb5/modules/atoms/json.c monetdb5/modules/mal/groupby.c monetdb5/modules/mal/mdb.c monetdb5/tools/libmonetdb5.rc sql/jdbc/tests/Tests/Test_PSmetadata.stable.out sql/test/pg_regress/Tests/All tools/mserver/monet_version.c.in tools/mserver/mserver5.c Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 971 to 300 lines): diff --git a/buildtools/doc/windowsbuild.rst b/buildtools/doc/windowsbuild.rst --- a/buildtools/doc/windowsbuild.rst +++ b/buildtools/doc/windowsbuild.rst @@ -727,14 +727,15 @@ Java If you want to build the java component of the MonetDB suite, you need -Java__. Get Java from http://java.sun.com/, but make sure you do -*not* get the latest version. Get the Java Development Kit 1.5. Our -current JDBC driver is not compatible with Java 1.6 yet. +JDK__. Get the Java Development Kit from +http://www.oracle.com/technetwork/java/. +We currently compile for target Java 7, so we do not yet support +JDBC methods/features introduced in Java 8 (or higher). In addition to the Java Development Kit, you will also need `Apache Ant`_ which is responsible for the actual building of the driver. -__ http://java.sun.com/ +__ http://www.oracle.com/technetwork/java/ Apache Ant -- @@ -840,8 +841,8 @@ is an example: version numbers may diffe rem Bison (and Diff) set Path=%ProgramFiles%\GnuWin32\bin;%Path% rem Java is optional, set JAVA_HOME for convenience - set JAVA_HOME=%ProgramFiles%\Java\jdk1.5.0_16 - set Path=%JAVA_HOME%\bin;%ProgramFiles%\Java\jre1.5.0_16\bin;%Path% + set JAVA_HOME=%ProgramFiles%\Java\jdk1.8.0_92 + set Path=%JAVA_HOME%\bin;%ProgramFiles%\Java\jre1.8.0_92\bin;%Path% rem Apache Ant is optional, but required for Java compilation set Path=%ProgramFiles%\apache-ant-1.7.1\bin;%Path% diff --git a/common/utils/msabaoth.c b/common/utils/msabaoth.c --- a/common/utils/msabaoth.c +++ b/common/utils/msabaoth.c @@ -849,7 +849,7 @@ msab_getUplogInfo(sabuplog *ret, const s int c; start = stop = up = 0; p = data; - while ((c = (char)fgetc(f)) != EOF) { + while ((c = getc(f)) != EOF) { *p = (char)c; switch (*p) { case '\t': diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -1106,9 +1106,11 @@ logger_readlogs(logger *lg, FILE *fp, ch if (lid < lg->id) { lg->id = lid; } - /* if this is a shared logger, write the id in -* the shared file */ - logger_update_catalog_file(lg, lg->local_dir, LOGFILE_SHARED, lg->local_dbfarm_role); + if (lg->shared) { + /* if this is a shared logger, write the id in +* the shared file */ + logger_update_catalog_file(lg, lg->local_dir, LOGFILE_SHARED, lg->local_dbfarm_role); + } } } return res; @@ -1862,6 +1864,7 @@ logger_new(int debug, const char *fn, co lg->debug = debug; lg->shared = shared; + lg->local_dbfarm_role = 0; /* only used if lg->shared */ lg->changes = 0; lg->version = version; diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -439,7 +439,7 @@ public class MonetDatabaseMetaData exten try { st = con.createStatement(); rs = st.executeQuery(query); - // Fetch the first column output and concatenate the values into a StringBuffer separated by comma's + // Fetch the first column output and concatenate the values into a StringBuilder separated by comma's boolean isfirst = true; while (rs.next()) { String value = rs.getString(1); @@ -496,12 +496,23 @@ public class MonetDatabaseMetaData exten public String getSystemFunctions() { String wherePart = "WHERE \"id\" NOT IN (SELECT \"func_id\" FROM \"sys\".\"args\"
MonetDB: default - Merge with Jun2016 branch.
Changeset: abdcbeeebb4a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=abdcbeeebb4a Added Files: debian/libmonetdb-client8.install debian/libmonetdb-stream8.install debian/libmonetdb13.install Removed Files: buildtools/ChangeLog.Jul2015 clients/ChangeLog.Jul2015 clients/mapilib/ChangeLog.Jul2015 clients/python2/ChangeLog.Jul2015 clients/python3/ChangeLog.Jul2015 common/stream/ChangeLog.Jul2015 debian/libmonetdb-client7.install debian/libmonetdb-stream7.install debian/libmonetdb12.install gdk/ChangeLog.Jul2015 geom/ChangeLog.Jul2015 java/ChangeLog.Jul2015 monetdb5/ChangeLog.Jul2015 sql/ChangeLog.Jul2015 testing/ChangeLog.Jul2015 tools/merovingian/ChangeLog.Jul2015 Modified Files: .hgtags MonetDB.spec buildtools/ChangeLog-Archive buildtools/ChangeLog.Jun2016 clients/ChangeLog-Archive clients/ChangeLog.Jun2016 debian/changelog debian/control gdk/ChangeLog-Archive gdk/ChangeLog.Jun2016 geom/ChangeLog-Archive geom/ChangeLog.Jun2016 java/ChangeLog-Archive java/ChangeLog.Jun2016 java/Makefile.ag java/build.properties java/pom.xml java/release.txt libversions monetdb5/ChangeLog-Archive monetdb5/ChangeLog.Jun2016 sql/ChangeLog-Archive sql/ChangeLog.Jun2016 Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 1812 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -622,3 +622,5 @@ ee54e50fccb17db48bbfd983882e8491a869131c ee54e50fccb17db48bbfd983882e8491a869131c Jul2015_SP3_release 51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 Jul2015_19 51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 Jul2015_SP4_release +192e3168234a5f9f8a4d1c4ce17805f608f001c3 Jun2016_1 +192e3168234a5f9f8a4d1c4ce17805f608f001c3 Jun2016_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -110,7 +110,7 @@ Vendor: MonetDB BVGroup: Applications/Databases License: MPLv2.0 URL: http://www.monetdb.org/ -Source: http://dev.monetdb.org/downloads/sources/Jul2015-SP4/%{name}-%{version}.tar.bz2 +Source: http://dev.monetdb.org/downloads/sources/Jun2016/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 @@ -1013,6 +1013,337 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Wed Jun 01 2016 Sjoerd Mullender - 11.23.1-20160601 +- Rebuilt. +- BZ#2407: Merovingian: allow binds to given ip/interface +- BZ#2815: No SRID support +- BZ#3460: incomplete implementation of JDBC driver supportsConvert(), + supportsConvert(int fromType, int toType) methods in + MonetDatabaseMetaData.java +- BZ#3711: JDBC connection using jdbcclient.jar is very slow +- BZ#3877: MonetDBLite should allow close then re-open databases? + without restarting R +- BZ#3911: Invalid connect() call in 'redirect' mode +- BZ#3920: query with DISTINCT and correlated scalar subquery in SELECT + list causes Assertion failure and crash of mserver5 +- BZ#3927: COUNT( distinct my_clob ) , QUANTILE( my_double , number ) + fails in dev build +- BZ#3956: MonetDBLite unable to execute LIMIT 1 statement +- BZ#3972: Drastic Memory leak of 600GBs while generating plan for Query + with 25 joins +- BZ#3974: Prepared statement rel_bin.c:2378: rel2bin_project: Assertion + `0' failed. +- BZ#3975: Suspicious code in store_manager() on exit path +- BZ#3978: SQL returns TypeException 'aggr.subcorr' undefined for + sys.corr function +- BZ#3980: JOIN with references on both sides crashes mserver +- BZ#3981: Incorrect LEFT JOIN when FROM clause contains nested subqueries +- BZ#3983: Creation of a Foreign Key which partially maps to a primary + key is accepted without a warning +- BZ#3984: Multiple paths in the .profile +- BZ#3985: ruby-monetdb-sql gem fails for negative timezone offset + (USA, etc.) +- BZ#3987: Segfault on malformed csv import +- BZ#3991: MonetDBLite feature request: default monetdb.sequential to + FALSE on windows +- BZ#3994: MonetDBLite dbDisconnect with shutdown=TRUE freezes the + console on windows +- BZ#3995: NullPointerException when calling getObject() +- BZ#3997: calling scalar functions sys.isaUUID(str) or sys.isaUUID(uuid) + fail +- BZ#3999: length() returns wrong length for strings which have spaces + at the end of the string +- BZ#4010: RELEASE SAVEPOINT after ALTER TABLE crashes mserver5 +- BZ#4011: sys.sessions.user column always shows 'monetdb' +- BZ#4013: GDKextendf does not free up memory when it fails due to + insufficient resources + +* Thu May 26 2016 Martin van Dinther - 11.23.1-20160601 +- java: Fixed problem in DatabaseMetaData.getUDTs() when it was
MonetDB: default - Merge with Jun2016 branch, not changing any f...
Changeset: da201a02d759 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=da201a02d759 Modified Files: 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 gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: default Log Message: Merge with Jun2016 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: e35bf57e40f3 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e35bf57e40f3 Modified Files: NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj Branch: default Log Message: Merge with Jun2016 branch. diffs (246 lines): diff --git a/NT/installer32/MonetDB5-SQL-Installer.vdproj b/NT/installer32/MonetDB5-SQL-Installer.vdproj --- a/NT/installer32/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer32/MonetDB5-SQL-Installer.vdproj @@ -111,12 +111,6 @@ } "Entry" { -"MsmKey" = "8:_1BC0095AF28F4FA89B8C63C9A1E6E4CA" -"OwnerKey" = "8:_UNDEFINED" -"MsmSig" = "8:_UNDEFINED" -} -"Entry" -{ "MsmKey" = "8:_1EB34EF8EFB84BAF952F92AD02EEB00C" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -687,12 +681,6 @@ } "Entry" { -"MsmKey" = "8:_AE686CBAB379451B9E7E836DFC1E2E8B" -"OwnerKey" = "8:_UNDEFINED" -"MsmSig" = "8:_UNDEFINED" -} -"Entry" -{ "MsmKey" = "8:_B04121FE9B884D19BE4D330CA83E9ED8" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -861,12 +849,6 @@ } "Entry" { -"MsmKey" = "8:_DE24FFC57F274EE2B69A2727A960003E" -"OwnerKey" = "8:_UNDEFINED" -"MsmSig" = "8:_UNDEFINED" -} -"Entry" -{ "MsmKey" = "8:_E0896DBB80744539988DDE841F630AAE" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -1388,26 +1370,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1BC0095AF28F4FA89B8C63C9A1E6E4CA" -{ -"SourcePath" = "8:lib\\monetdb5\\lib_rapi.dll" -"TargetName" = "8:lib_rapi.dll" -"Tag" = "8:" -"Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" -"Condition" = "8:" -"Transitive" = "11:FALSE" -"Vital" = "11:TRUE" -"ReadOnly" = "11:FALSE" -"Hidden" = "11:FALSE" -"System" = "11:FALSE" -"Permanent" = "11:FALSE" -"SharedLegacy" = "11:FALSE" -"PackageAs" = "3:1" -"Register" = "3:1" -"Exclude" = "11:FALSE" -"IsDependency" = "11:FALSE" -"IsolateTo" = "8:" -} "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1EB34EF8EFB84BAF952F92AD02EEB00C" { "SourcePath" = "8:lib\\monetdb5\\clients.mal" @@ -3288,26 +3250,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_AE686CBAB379451B9E7E836DFC1E2E8B" -{ -"SourcePath" = "8:lib\\monetdb5\\autoload\\50_rapi.mal" -"TargetName" = "8:50_rapi.mal" -"Tag" = "8:" -"Folder" = "8:_A4A821D237B943CFACE8D54F3F3971E3" -"Condition" = "8:" -"Transitive" = "11:FALSE" -"Vital" = "11:TRUE" -"ReadOnly" = "11:FALSE" -"Hidden" = "11:FALSE" -"System" = "11:FALSE" -"Permanent" = "11:FALSE" -"SharedLegacy" = "11:FALSE" -"PackageAs" = "3:1" -"Register" = "3:1" -"Exclude" = "11:FALSE" -"IsDependency" = "11:FALSE" -"IsolateTo" = "8:" -} "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B04121FE9B884D19BE4D330CA83E9ED8" { "SourcePath" = "8:lib\\monetdb5\\status.mal" @@ -3868,26 +3810,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DE24FFC57F274EE2B69A2727A960003E" -{ -"SourcePath" = "8:lib\\monetdb5\\rapi.mal" -"TargetName" = "8:rapi.mal" -"Tag" = "8:" -"Folder" = "8:_B593DAA0787744D6A44D17884E0C3951" -"Condition" = "8:" -"Transitive" = "11:FALSE" -"Vital" = "11:TRUE" -"ReadOnly" = "11:FALSE" -"Hidden" = "11:FALSE" -"System" = "11:FALSE" -"Permanent" = "11:FALSE" -"SharedLegacy" = "11:FALSE" -"PackageAs" = "3:1" -"Register" = "3:1" -"Exclude" = "11:FALSE" -"IsDependency" = "11:FALSE" -"IsolateTo" = "8:" -} "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E0896DBB80744539988DDE841F630AAE" { "SourcePath" = "8:lib\\monetdb5\\identifier.mal" diff --git a/NT/installer64/MonetDB5-SQL-Installer.vdproj b/NT/installer64/MonetDB5-SQL-Installer.vdproj --- a/NT/installer64/MonetDB5-SQL-Installer.vdproj +++ b/NT/installer64/MonetDB5-SQL-Installer.vdproj @@ -111,12 +111,6 @@ }
MonetDB: default - Merge with Jun2016 branch.
Changeset: 322e01f32648 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=322e01f32648 Modified Files: clients/R/Tests/dbi.R clients/R/Tests/dbi.stable.out configure.ag gdk/gdk_utils.c monetdb5/extras/rapi/rapi.R monetdb5/extras/rapi/rapi.c monetdb5/optimizer/opt_pipes.c sql/backends/monet5/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 2216 to 300 lines): diff --git a/clients/R/Tests/dbi.R b/clients/R/Tests/dbi.R --- a/clients/R/Tests/dbi.R +++ b/clients/R/Tests/dbi.R @@ -152,7 +152,6 @@ dbWriteTable(conn,tname,mtcars,append=T, stopifnot(identical(as.integer(2*nrow(mtcars)),tsize(conn,tname))) dbRemoveTable(conn,tname) -dbRemoveTable(conn,tname) dbWriteTable(conn,tname,mtcars,append=F,overwrite=F,insert=T) dbRemoveTable(conn,tname) diff --git a/clients/R/Tests/dbi.stable.out b/clients/R/Tests/dbi.stable.out --- a/clients/R/Tests/dbi.stable.out +++ b/clients/R/Tests/dbi.stable.out @@ -62,7 +62,6 @@ Ready. [1] TRUE [1] TRUE [1] TRUE -[1] FALSE [1] TRUE [1] TRUE [1] TRUE diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -3393,6 +3393,9 @@ AC_SUBST(Erundir) Qlibdir="$libdir" Xlibdir="`$translatepath "$libdir"`" QXlibdir="`echo "$Xlibdir" | sed 's///g'`" +Elibdir="`echo "$Xlibdir" | sed 's/{exec_prefix}/{prefix}/'`" +eval "Elibdir=${Elibdir}" +QElibdir="`echo "$Elibdir" | sed 's///g'`" AC_SUBST(Qlibdir) AC_SUBST(Xlibdir) AC_SUBST(QXlibdir) @@ -3469,6 +3472,7 @@ AC_SUBST(QXSOURCE) AC_DEFINE_UNQUOTED(LOCALSTATEDIR,"$QElocalstatedir",[modifiable single-machine data]) AC_DEFINE_UNQUOTED(DATA_DIR,"$QEdatadir",[read-only architecture-independent data]) AC_DEFINE_UNQUOTED(BINDIR,"$QEbindir",[location where binaries are installed]) +AC_DEFINE_UNQUOTED(LIBDIR,"$QElibdir",[location where libraries are installed]) dnl On Solaris, libxml2 enables threading only when _REENTRANT, __MT__ dnl or _POSIX_C_SOURCE >= 199506L is defined. The latter is only diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -421,6 +421,1056 @@ MT_init(void) #endif } +/* + * @+ Session Initialization + * The interface code to the operating system is highly dependent on + * the processing environment. It can be filtered away with + * compile-time flags. Suicide is necessary due to some system + * implementation errors. + * + * The kernel requires file descriptors for I/O with the user. They + * are thread specific and should be obtained by a function. + * + * The arguments relevant for the kernel are extracted from the list. + * Their value is turned into a blanc space. + */ + +#define CATNAP 50 /* time to sleep in ms for catnaps */ + +static MT_Id GDKvmtrim_id; + +static void +GDKvmtrim(void *limit) +{ + int highload = 0; + ssize_t prevmem = 0, prevrss = 0; + + (void) limit; + + do { + int t; + size_t rss; + ssize_t rssdiff, memdiff; + size_t cursize; + + /* sleep using catnaps so we can exit in a timely fashion */ + for (t = highload ? 500 : 5000; t > 0; t -= CATNAP) { + MT_sleep_ms(CATNAP); + if (GDKexiting()) + return; + } + rss = MT_getrss(); + rssdiff = (ssize_t) rss - (ssize_t) prevrss; + cursize = GDKvm_cursize(); + memdiff = (ssize_t) cursize - (ssize_t) prevmem; + MEMDEBUG fprintf(stderr, "alloc = " SZFMT " %+zd rss = " SZFMT " %+zd\n", cursize, memdiff, rss, rssdiff); + prevmem = cursize; + prevrss = rss; + if (memdiff >= 0 && rssdiff < -32 * (ssize_t) MT_pagesize()) { + BBPtrim(rss); + highload = 1; + } else { + highload = 0; + } + } while (!GDKexiting()); +} + +static void THRinit(void); +static void GDKlockHome(void); + +int +GDKinit(opt *set, int setlen) +{ + char *dbpath = mo_find_option(set, setlen, "gdk_dbpath"); + char *p; + opt *n; + int i, nlen = 0; + char buf[16]; + + /* some sanity checks (should also find if symbols are not defined) */ + assert(sizeof(char) == SIZEOF_CHAR); + assert(sizeof(short) == SIZEOF_SHORT); + assert(sizeof(int) == SIZEOF_INT); + assert(sizeof(long) == SIZEOF_LONG); + assert(sizeof(lng) == SIZEOF_LNG); +#ifdef HAVE_HGE + assert(sizeof(hge) == SIZEOF_HGE); +#endif + assert(sizeof(oid) == SIZEOF_OID); + assert(sizeof(void *) == SIZEOF_VOID_P); + assert(sizeof(size_t) == SIZEOF_SIZE_T); + assert(sizeof(ptrdiff_t) == SIZEOF_PTRDIFF_T); + assert(SIZEOF_OID == SIZEOF_INT || SIZEOF_OID == SIZEOF_LNG); + +#ifdef NEED_MT_LOCK_INIT +
MonetDB: default - Merge with Jun2016 branch.
Changeset: 54f4523dc7df for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54f4523dc7df Modified Files: gdk/gdk_storage.c monetdb5/mal/mal_dataflow.c monetdb5/optimizer/opt_reorder.c Branch: default Log Message: Merge with Jun2016 branch. diffs (112 lines): diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c --- a/gdk/gdk_storage.c +++ b/gdk/gdk_storage.c @@ -353,7 +353,8 @@ GDKextendf(int fd, size_t size, const ch /* extending failed, try to reduce file size * back to original */ int err = errno; - (void) ftruncate(fd, stb.st_size); + if (ftruncate(fd, stb.st_size)) + perror("ftruncate"); errno = err; /* restore for error message */ GDKsyserror("GDKextendf: could not extend file\n"); } diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c --- a/monetdb5/mal/mal_dataflow.c +++ b/monetdb5/mal/mal_dataflow.c @@ -97,8 +97,12 @@ mal_dataflow_reset(void) { stopMALdataflow(); memset((char*) workers, 0, sizeof(workers)); - if( todo) + if( todo) { + GDKfree(todo->data); + MT_lock_destroy(>l); + MT_sema_destroy(>s); GDKfree(todo); + } todo = 0; /* pending instructions */ exiting = 0; } diff --git a/monetdb5/optimizer/opt_reorder.c b/monetdb5/optimizer/opt_reorder.c --- a/monetdb5/optimizer/opt_reorder.c +++ b/monetdb5/optimizer/opt_reorder.c @@ -59,6 +59,17 @@ typedef struct{ int stmt[FLEXIBLE_ARRAY_MEMBER]; } *Node, NodeRecord; +static void +OPTremoveDep(Node *list, int lim) +{ + int i; + + for (i=0; i< lim; i++) + if (list[i]) + GDKfree(list[i]); + GDKfree(list); +} + static Node * OPTdependencies(Client cntxt, MalBlkPtr mb, int **Ulist) { @@ -81,9 +92,7 @@ OPTdependencies(Client cntxt, MalBlkPtr block |= p->barrier != 0; list[i]= (Node) GDKzalloc(offsetof(NodeRecord, stmt) + sizeof(int) * p->argc); if (list[i] == NULL){ - for (i--; i>=0; i--) - GDKfree(list[i]); - GDKfree(list); + OPTremoveDep(list, i); GDKfree(var); return 0; } @@ -97,9 +106,7 @@ OPTdependencies(Client cntxt, MalBlkPtr if ( var[ getArg(p,j)] ) { //list[i]->stmt[j] = var [getArg(p,j)]; // escape we should avoid reused variables. - for (i--; i>=0; i--) - GDKfree(list[i]); - GDKfree(list); + OPTremoveDep(list, i + 1); GDKfree(var); return 0; } @@ -148,10 +155,8 @@ OPTdependencies(Client cntxt, MalBlkPtr */ if ( block ){ - for (i--; i>=0; i--) - GDKfree(list[i]); + OPTremoveDep(list, mb->stop); GDKfree(uselist); - GDKfree(list); GDKfree(var); return NULL; } @@ -160,17 +165,6 @@ OPTdependencies(Client cntxt, MalBlkPtr return list; } -static void -OPTremoveDep(Node *list, int lim) -{ - int i; - - for (i=0; i< lim; i++) - if (list[i]) - GDKfree(list[i]); - GDKfree(list); -} - static int OPTbreadthfirst(Client cntxt, MalBlkPtr mb, int pc, int max, InstrPtr old[], Node dep[], int *uselist) { @@ -279,7 +273,7 @@ OPTreorderImplementation(Client cntxt, M old = mb->stmt; if ( newMalBlkStmt(mb, mb->ssize) < 0) { GDKfree(uselist); - GDKfree(dep); + OPTremoveDep(dep, limit); return 0; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 52f3618ebba3 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=52f3618ebba3 Modified Files: MonetDB.spec configure.ag Branch: default Log Message: Merge with Jun2016 branch. diffs (103 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -9,10 +9,8 @@ %define bits 32 %else %define bits 64 -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %define with_int128=1 %endif -%endif # only add .oidXX suffix if oid size differs from bit size %if %{bits} == 64 && %{?oid32:1}%{!?oid32:0} @@ -594,7 +592,7 @@ Requires: %{name}-client%{?_isa} = %{ver Obsoletes: MonetDB5-server-rdf %if (0%{?fedora} >= 22) Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release} -%if %{?with_int128:1}%{!?with_int128:0} +%if %{bits} == 64 Recommends: MonetDB5-server-hugeint%{?_isa} = %{version}-%{release} %endif Suggests: %{name}-client%{?_isa} = %{version}-%{release} @@ -655,7 +653,7 @@ fi %exclude %{_libdir}/monetdb5/rapi.mal %endif %exclude %{_libdir}/monetdb5/sql*.mal -%if %{?with_int128:1}%{!?with_int128:0} +%if %{bits} == 64 %exclude %{_libdir}/monetdb5/*_hge.mal %exclude %{_libdir}/monetdb5/autoload/*_hge.mal %endif @@ -694,7 +692,7 @@ fi %docdir %{_datadir}/doc/MonetDB %{_datadir}/doc/MonetDB/* -%if %{?with_int128:1}%{!?with_int128:0} +%if %{bits} == 64 %package -n MonetDB5-server-hugeint Summary: MonetDB - 128-bit integer support for MonetDB5-server Group: Application/Databases @@ -749,7 +747,7 @@ Requires: %{_bindir}/systemd-tmpfiles Obsoletes: MonetDB-SQL-devel Obsoletes: %{name}-SQL %if (0%{?fedora} >= 22) -%if %{?with_int128:1}%{!?with_int128:0} +%if %{bits} == 64 Recommends: %{name}-SQL-server5-hugeint%{?_isa} = %{version}-%{release} %endif Suggests: %{name}-client%{?_isa} = %{version}-%{release} @@ -802,7 +800,7 @@ systemd-tmpfiles --create %{_sysconfdir} %endif %{_libdir}/monetdb5/createdb/*.sql %{_libdir}/monetdb5/sql*.mal -%if %{?with_int128:1}%{!?with_int128:0} +%if %{bits} == 64 %exclude %{_libdir}/monetdb5/createdb/*_hge.sql %exclude %{_libdir}/monetdb5/sql*_hge.mal %endif @@ -812,7 +810,7 @@ systemd-tmpfiles --create %{_sysconfdir} %docdir %{_datadir}/doc/MonetDB-SQL %{_datadir}/doc/MonetDB-SQL/* -%if %{?with_int128:1}%{!?with_int128:0} +%if %{bits} == 64 %package SQL-server5-hugeint Summary: MonetDB5 128 bit integer (hugeint) support for SQL Group: Applications/Databases diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -2842,14 +2842,14 @@ if test "x$have_gdal" != xno && test "x$ LIBS="" found_gdal_h=yes AC_CHECK_HEADER(gdal.h,, - AC_CHECK_HEADER(gdal/gdal.h, + [AC_CHECK_HEADER(gdal/gdal.h, [if test "x$GDAL_CFLAGS" = x; then GDAL_CFLAGS="-I/usr/include/gdal" else GDAL_CFLAGS="$GDAL_CFLAGS/gdal" fi CPPFLAGS="$save_CPPFLAGS $GDAL_CFLAGS"], - [found_gdal_h=no])) + [found_gdal_h=no])]) if test "x$found_gdal_h" = xyes; then AC_CHECK_LIB(gdal, GDALAllRegister, [AC_DEFINE(HAVE_GDAL, 1, [Define if you have the gdal library]) @@ -3116,8 +3116,12 @@ case "$enable_int128" in yes|auto) have_hge=no why_have_hge='(no 128-bit integer type found)' - AC_CHECK_TYPES([__int128, __int128_t, __uint128_t], [have_hge=yes; why_have_hge=''], - [if test x$enable_int128 = xyes; then AC_MSG_ERROR([128-bit integers not supported by platform]); fi]) + AC_CHECK_TYPES([__int128, __int128_t, __uint128_t], [have_hge=yes; why_have_hge='']) + if test $have_hge = no; then + if test x$enable_int128 = xyes; then + AC_MSG_ERROR([128-bit integers not supported by platform]) + fi + fi ;; no) have_hge=no ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Jun2016 branch.
Changeset: 91827c387520 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=91827c387520 Removed Files: monetdb5/optimizer/opt_qep.c monetdb5/optimizer/opt_qep.h Modified Files: MonetDB.spec clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/Tests/malcheck.sh gdk/gdk_system.c monetdb5/extras/rapi/rapi.c monetdb5/mal/mal_builder.c monetdb5/mal/mal_client.c monetdb5/mal/mal_import.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_recycle.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_resource.c monetdb5/mal/mal_resource.h monetdb5/mal/mal_runtime.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/str.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batExtensions.h monetdb5/modules/mal/inspect.c monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tokenizer.c monetdb5/optimizer/Makefile.ag monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.mal Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 1707 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -9,8 +9,10 @@ %define bits 32 %else %define bits 64 +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %define with_int128=1 %endif +%endif # only add .oidXX suffix if oid size differs from bit size %if %{bits} == 64 && %{?oid32:1}%{!?oid32:0} @@ -592,7 +594,7 @@ Requires: %{name}-client%{?_isa} = %{ver Obsoletes: MonetDB5-server-rdf %if (0%{?fedora} >= 22) Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release} -%if %{bits} == 64 +%if %{?with_int128:1}%{!?with_int128:0} Recommends: MonetDB5-server-hugeint%{?_isa} = %{version}-%{release} %endif Suggests: %{name}-client%{?_isa} = %{version}-%{release} @@ -653,7 +655,7 @@ fi %exclude %{_libdir}/monetdb5/rapi.mal %endif %exclude %{_libdir}/monetdb5/sql*.mal -%if %{bits} == 64 +%if %{?with_int128:1}%{!?with_int128:0} %exclude %{_libdir}/monetdb5/*_hge.mal %exclude %{_libdir}/monetdb5/autoload/*_hge.mal %endif @@ -692,7 +694,7 @@ fi %docdir %{_datadir}/doc/MonetDB %{_datadir}/doc/MonetDB/* -%if %{bits} == 64 +%if %{?with_int128:1}%{!?with_int128:0} %package -n MonetDB5-server-hugeint Summary: MonetDB - 128-bit integer support for MonetDB5-server Group: Application/Databases @@ -747,7 +749,7 @@ Requires: %{_bindir}/systemd-tmpfiles Obsoletes: MonetDB-SQL-devel Obsoletes: %{name}-SQL %if (0%{?fedora} >= 22) -%if %{bits} == 64 +%if %{?with_int128:1}%{!?with_int128:0} Recommends: %{name}-SQL-server5-hugeint%{?_isa} = %{version}-%{release} %endif Suggests: %{name}-client%{?_isa} = %{version}-%{release} @@ -800,7 +802,7 @@ systemd-tmpfiles --create %{_sysconfdir} %endif %{_libdir}/monetdb5/createdb/*.sql %{_libdir}/monetdb5/sql*.mal -%if %{bits} == 64 +%if %{?with_int128:1}%{!?with_int128:0} %exclude %{_libdir}/monetdb5/createdb/*_hge.sql %exclude %{_libdir}/monetdb5/sql*_hge.mal %endif @@ -810,7 +812,7 @@ systemd-tmpfiles --create %{_sysconfdir} %docdir %{_datadir}/doc/MonetDB-SQL %{_datadir}/doc/MonetDB-SQL/* -%if %{bits} == 64 +%if %{?with_int128:1}%{!?with_int128:0} %package SQL-server5-hugeint Summary: MonetDB5 128 bit integer (hugeint) support for SQL Group: Applications/Databases @@ -966,7 +968,7 @@ developer, but if you do want to test, t --with-ant=no \ --with-bz2=yes \ --with-curl=yes \ - --with-gdal=yes \ + --with-gdal=%{?with_lidar:yes}%{!?with_lidar:no} \ --with-geos=%{?with_geos:yes}%{!?with_geos:no} \ --with-java=no \ --with-liblas=%{?with_lidar:yes}%{!?with_lidar:no} \ diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -31335,12 +31335,6 @@ comment Handle simple type coercions pattern optimizer.coercions():str address OPTwrapper; -pattern optimizer.dumpQEP(mod:str,fcn:str):str -address OPTwrapper; -comment Produce an indented tree visualisation - -pattern optimizer.dumpQEP():void -address OPTwrapper; pattern optimizer.derivePath(mod:str,fcn:str):str address OPTwrapper; comment Join path constructor diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -40756,12 +40756,6 @@ comment Handle simple type coercions pattern optimizer.coercions():str
MonetDB: default - Merge with Jun2016 branch.
Changeset: 38d729b48779 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=38d729b48779 Modified Files: MonetDB.spec NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj clients/odbc/driver/ODBCConvert.c debian/control debian/fix-deb.sh debian/monetdb-r.install debian/monetdb5-sql.install debian/rules gdk/gdk_posix.c gdk/gdk_storage.c Branch: default Log Message: Merge with Jun2016 branch. diffs (230 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -9,6 +9,7 @@ %define bits 32 %else %define bits 64 +%define with_int128=1 %endif # only add .oidXX suffix if oid size differs from bit size @@ -134,6 +135,7 @@ BuildRequires: liblas >= 1.8.0 %endif BuildRequires: libatomic_ops-devel BuildRequires: libcurl-devel +BuildRequires: xz-devel # BuildRequires: libmicrohttpd-devel # BuildRequires: libsphinxclient-devel BuildRequires: libuuid-devel @@ -937,31 +939,43 @@ developer, but if you do want to test, t --enable-console=yes \ --enable-debug=no \ --enable-developer=no \ + --enable-embedded=no \ + --enable-embedded-r=no \ --enable-fits=%{?with_fits:yes}%{!?with_fits:no} \ --enable-gdk=yes \ --enable-geom=%{?with_geos:yes}%{!?with_geos:no} \ --enable-gsl=yes \ --enable-instrument=no \ + --enable-int128=%{?with_int128:yes}%{!?with_int128:no} \ --enable-jdbc=no \ --enable-lidar=%{?with_lidar:yes}%{!?with_lidar:no} \ + --enable-mapi=yes \ --enable-merocontrol=no \ --enable-microhttpd=no \ --enable-monetdb5=yes \ + --enable-netcdf=no \ --enable-odbc=yes \ --enable-oid32=%{?oid32:yes}%{!?oid32:no} \ --enable-optimize=yes \ --enable-profile=no \ --enable-rintegration=%{?with_rintegration:yes}%{!?with_rintegration:no} \ + --enable-shp=no \ --enable-sql=yes \ --enable-strict=no \ --enable-testing=yes \ --with-ant=no \ --with-bz2=yes \ + --with-curl=yes \ + --with-gdal=yes \ --with-geos=%{?with_geos:yes}%{!?with_geos:no} \ --with-java=no \ --with-liblas=%{?with_lidar:yes}%{!?with_lidar:no} \ + --with-libxml2=yes \ + --with-lzma=yes \ + --with-openssl=yes \ --with-perl=yes \ --with-perl-libdir=lib/perl5 \ + --with-proj=no \ --with-pthread=yes \ --with-python2=yes \ --with-python3=%{?rhel:no}%{!?rhel:yes} \ @@ -969,6 +983,7 @@ developer, but if you do want to test, t --with-samtools=%{?with_samtools:yes}%{!?with_samtools:no} \ --with-sphinxclient=no \ --with-unixodbc=yes \ + --with-uuid=yes \ --with-valgrind=no \ %{?comp_cc:CC="%{comp_cc}"} diff --git a/clients/odbc/driver/ODBCConvert.c b/clients/odbc/driver/ODBCConvert.c --- a/clients/odbc/driver/ODBCConvert.c +++ b/clients/odbc/driver/ODBCConvert.c @@ -1344,7 +1344,8 @@ ODBCFetch(ODBCStmt *stmt, case SQL_INTEGER: case SQL_BIGINT: case SQL_BIT: { - int f, n; + SQLUBIGINT f; + int n; data = (char *) ptr; diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ Vcs-Hg: http://dev.monetdb.org/hg/MonetD # http://www.debian.org/doc/debian-policy/ch-relationships.html Build-Depends: debhelper (>= 5), autotools-dev, bison, libatomic-ops-dev, libbam-dev, libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.4.0), - libgsl0-dev, libpcre3-dev, libreadline-dev, + libgsl0-dev, libpcre3-dev, libreadline-dev, liblzma-dev, libssl-dev, libxml2-dev, perl, pkg-config, python, python3, unixodbc-dev, uuid-dev, zlib1g-dev, liblas-c-dev (>= 1.8.0), r-base Standards-Version: 3.8.0 diff --git a/debian/fix-deb.sh b/debian/fix-deb.sh --- a/debian/fix-deb.sh +++ b/debian/fix-deb.sh @@ -17,5 +17,5 @@ if [[ ( $ID == debian && $VERSION_ID -lt sed -i '/^Package:.*lidar/,/^$/d' debian/control sed -i '/^Package:.*geom/,/^$/d' debian/control rm debian/libmonetdb5-server-lidar.install debian/libmonetdb5-server-geom.install -sed -i '/geo[ms]=yes/s/yes/no/;/lidar=yes/s/yes/no/;/liblas=yes/s/yes/no/' debian/rules +sed -i '/geo[ms]=yes/s/yes/no/;/gdal=yes/s/yes/no/;/lidar=yes/s/yes/no/;/liblas=yes/s/yes/no/' debian/rules fi diff --git a/debian/monetdb-r.install b/debian/monetdb-r.install --- a/debian/monetdb-r.install +++ b/debian/monetdb-r.install @@ -1,3 +1,4 @@ debian/tmp/usr/lib/monetdb5/rapi.mal usr/lib/monetdb5 +debian/tmp/usr/lib/monetdb5/rapi.R usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/autoload/??_rapi.mal usr/lib/monetdb5/autoload debian/tmp/usr/lib/monetdb5/lib_rapi.so usr/lib/monetdb5 diff --git
MonetDB: default - Merge with Jun2016 branch.
Changeset: c6a0b6430948 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c6a0b6430948 Added Files: sql/test/BugTracker-2015/Tests/concurrent-schema.Bug-3826.timeout Modified Files: debian/rules java/ChangeLog.Jun2016 java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/tests/Test_Dobjects.java sql/jdbc/tests/Tests/Test_Dobjects.stable.out sql/test/BugTracker-2015/Tests/concurrent-schema.Bug-3826.stable.err sql/test/BugTracker-2015/Tests/concurrent-schema.Bug-3826.stable.out sql/test/BugTracker-2016/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (208 lines): diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -31,7 +31,7 @@ override_dh_auto_configure: --enable-oid32=no \ --enable-optimize=yes \ --enable-profile=no \ - --enable-rintegration=no \ + --enable-rintegration=yes \ --enable-sql=yes \ --enable-strict=no \ --enable-testing=yes \ diff --git a/java/ChangeLog.Jun2016 b/java/ChangeLog.Jun2016 --- a/java/ChangeLog.Jun2016 +++ b/java/ChangeLog.Jun2016 @@ -1,6 +1,12 @@ # ChangeLog file for java # This file is updated with Maddlog +* Thu May 26 2016 Martin van Dinther+- Fixed problem in DatabaseMetaData.getUDTs() when it was called with + types parameter filled. It used to throw SQException with message: + SELECT: identifier 'DATA_TYPE' unknown. Now it returns the UDTs which + match the provided array of data types. + * Thu May 19 2016 Martin van Dinther - Implemented MonetDatabaseMetaData.supportsConvert() and MonetDatabaseMetaData.supportsConvert(int fromType, int toType) methods. diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -3239,6 +3239,9 @@ public class MonetDatabaseMetaData exten ) throws SQLException { StringBuilder query = new StringBuilder(990); + if (types != null && types.length > 0) { + query.append("SELECT * FROM ("); + } query.append("SELECT cast(null as char(1)) AS \"TYPE_CAT\", " + "\"schemas\".\"name\" AS \"TYPE_SCHEM\", " + "\"types\".\"sqlname\" AS \"TYPE_NAME\", " + @@ -3269,7 +3272,7 @@ public class MonetDatabaseMetaData exten query.append(" AND \"types\".\"sqlname\" ").append(composeMatchPart(typeNamePattern)); } if (types != null && types.length > 0) { - query.append(" AND \"DATA_TYPE\" IN ("); + query.append(") AS getUDTs WHERE \"DATA_TYPE\" IN ("); for (int i = 0; i < types.length; i++) { if (i > 0) { query.append(", "); diff --git a/java/tests/Test_Dobjects.java b/java/tests/Test_Dobjects.java --- a/java/tests/Test_Dobjects.java +++ b/java/tests/Test_Dobjects.java @@ -38,6 +38,9 @@ public class Test_Dobjects { // dumpResultSet(dbmd.getSchemas()); // this produces different outputs on different platforms due to dependency on SAMTOOLS and NETCDF. so exclude it dumpResultSet(dbmd.getSchemas(null, "sys")); dumpResultSet(dbmd.getTables(null, "sys", null, null)); + dumpResultSet(dbmd.getUDTs(null, "sys", null, null)); + int[] UDTtypes = { Types.STRUCT, Types.DISTINCT }; + dumpResultSet(dbmd.getUDTs(null, "sys", null, UDTtypes)); } catch (SQLException e) { System.out.println("FAILED :( "+ e.getMessage()); System.out.println("ABORTING TEST!!!"); diff --git a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out --- a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out +++ b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out @@ -107,8 +107,16 @@ as select "schema","table",max(count) as from sys.storagemodel() group by "schema","table"; nullnullnull nullnull null sys tracelogSYSTEM VIEW create view sys.tracelog as select * from sys.tracelog(); nullnullnullnullnull null sys users SYSTEM VIEW SELECT u."name" AS "name", ui."fullname", ui."default_schema" FROM db_users() AS u LEFT JOIN "sys"."db_user_info" AS ui ON u."name" = ui."name" ; nullnullnull nullnull +Resultset with 7 columns +TYPE_CAT TYPE_SCHEM TYPE_NAME CLASS_NAME
MonetDB: default - Merge with Jun2016 branch.
Changeset: 27a1b439ac98 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=27a1b439ac98 Added Files: debian/monetdb-r.install Modified Files: debian/control debian/fix-deb.sh debian/monetdb5-server.install java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java sql/backends/monet5/vaults/shp/shp.h Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 1041 to 300 lines): diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Build-Depends: debhelper (>= 5), autotoo libbam-dev, libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.4.0), libgsl0-dev, libpcre3-dev, libreadline-dev, libssl-dev, libxml2-dev, perl, pkg-config, python, python3, - unixodbc-dev, uuid-dev, zlib1g-dev, liblas-c-dev (>= 1.8.0) + unixodbc-dev, uuid-dev, zlib1g-dev, liblas-c-dev (>= 1.8.0), r-base Standards-Version: 3.8.0 X-Python-Version: >= 2.6 X-Python3-Version: >= 3.0 @@ -283,6 +283,22 @@ Description: MonetDB5 128 bit integer (h This package provides HUGEINT (128-bit integer) support for the SQL frontend of MonetDB. +Package: monetdb-r +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, monetdb5-sql (= ${source:Version}) +Description: MonetDB5 128 bit integer (hugeint) support for SQL + MonetDB is a database management system that is developed from a + main-memory perspective with use of a fully decomposed storage model, + automatic index management, extensibility of data types and search + accelerators. It also has an SQL frontend. + . + This package contains the interface to use the R language from within + SQL queries. + . + NOTE: INSTALLING THIS PACKAGE OPENS UP SECURITY ISSUES. If you don't + know how this package affects the security of your system, do not + install it. + Package: monetdb-testing Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} diff --git a/debian/fix-deb.sh b/debian/fix-deb.sh --- a/debian/fix-deb.sh +++ b/debian/fix-deb.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash if [ -f /etc/lsb-release ]; then source /etc/lsb-release ID=${DISTRIB_ID,,} diff --git a/debian/monetdb-r.install b/debian/monetdb-r.install new file mode 100644 --- /dev/null +++ b/debian/monetdb-r.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/monetdb5/rapi.mal usr/lib/monetdb5 +debian/tmp/usr/lib/monetdb5/autoload/??_rapi.mal usr/lib/monetdb5/autoload +debian/tmp/usr/lib/monetdb5/lib_rapi.so usr/lib/monetdb5 diff --git a/debian/monetdb5-server.install b/debian/monetdb5-server.install --- a/debian/monetdb5-server.install +++ b/debian/monetdb5-server.install @@ -1,25 +1,26 @@ debian/tmp/usr/bin/mserver5 usr/bin debian/tmp/usr/lib/libmonetdb5.so.* usr/lib -# usr/lib/monetdb5/lib_*.so EXCEPT: lib_{bam,geom,gsl,lidar,sql}.so +# usr/lib/monetdb5/lib_*.so EXCEPT: lib_{bam,geom,gsl,lidar,rapi,sql}.so debian/tmp/usr/lib/monetdb5/lib_generator.so usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/lib_lsst.so usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/lib_opt_sql_append.so usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/lib_udf.so usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/lib_vault.so usr/lib/monetdb5 -# usr/lib/monetdb5/*.mal EXCEPT: {bam,geom,gsl,lidar,sql*,*_hge}.mal -debian/tmp/usr/lib/monetdb5/[!bglsu]*.mal usr/lib/monetdb5 +# usr/lib/monetdb5/*.mal EXCEPT: {bam,geom,gsl,lidar,rapi,sql*,*_hge}.mal +debian/tmp/usr/lib/monetdb5/[!bglrsu]*.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/ba[!m]*.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/b[!a]*.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/generator.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/g[!es]*.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/l[!i]*.mal usr/lib/monetdb5 +debian/tmp/usr/lib/monetdb5/r[!a]*.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/s[!q]*.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/udf.mal usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/u[!d]*.mal usr/lib/monetdb5 -# usr/lib/monetdb5/autoload/*.mal EXCEPT: *_{bam,geom,gsl,hge,lidar,sql}.mal +# usr/lib/monetdb5/autoload/*.mal EXCEPT: *_{bam,geom,gsl,hge,lidar,rapi,sql}.mal debian/tmp/usr/lib/monetdb5/autoload/??_batcalc.mal usr/lib/monetdb5/autoload debian/tmp/usr/lib/monetdb5/autoload/??_calc.mal usr/lib/monetdb5/autoload debian/tmp/usr/lib/monetdb5/autoload/??_generator.mal usr/lib/monetdb5/autoload diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java @@ -137,7 +137,7 @@ public class MonetResultSet extends Mone } /** -* Constructor used by MonetFillableResultSet. +* Constructor used by MonetVirtualResultSet. * DO NOT USE THIS CONSTRUCTOR IF YOU ARE NOT EXTENDING THIS OBJECT! * * @param columns the column names @@ -300,14 +300,14
MonetDB: default - Merge with Jun2016 branch.
Changeset: 08dec86bd606 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=08dec86bd606 Added Files: clients/R/Tests/install.timeout Removed Files: clients/R/MonetDB.R/DESCRIPTION clients/R/MonetDB.R/NAMESPACE clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/R/control.R clients/R/MonetDB.R/R/dbapply.R clients/R/MonetDB.R/R/dbi.R clients/R/MonetDB.R/R/dplyr.R clients/R/MonetDB.R/R/mapi.R clients/R/MonetDB.R/man/MonetDB.R.Rd clients/R/MonetDB.R/man/MonetDBLite.Rd clients/R/MonetDB.R/man/control.Rd clients/R/MonetDB.R/man/dbApply.Rd clients/R/MonetDB.R/man/dbSendUpdate.Rd clients/R/MonetDB.R/man/dbTransaction.Rd clients/R/MonetDB.R/man/mc.Rd clients/R/MonetDB.R/man/monetdb.read.csv.Rd clients/R/MonetDB.R/man/monetdbRtype.Rd clients/R/MonetDB.R/man/monetdb_queryinfo.Rd clients/R/MonetDB.R/man/monetdbd.liststatus.Rd clients/R/MonetDB.R/man/mq.Rd clients/R/MonetDB.R/man/sqlitecompat.Rd clients/R/MonetDB.R/man/src_monetdb.Rd clients/R/MonetDB.R/src/mapisplit-r.c clients/R/MonetDB.R/src/mapisplit.c clients/R/MonetDB.R/src/mapisplit.h clients/R/Tests/survey.R clients/R/Tests/survey.reqtests clients/R/Tests/survey.stable.err clients/R/Tests/survey.stable.out clients/R/build-for-cran.sh tools/embedded/Makefile.ag tools/embedded/Tests/All tools/embedded/Tests/dbi.R tools/embedded/Tests/dbi.reqtests tools/embedded/Tests/dbi.stable.err tools/embedded/Tests/dbi.stable.out tools/embedded/Tests/deps-test.R tools/embedded/Tests/deps-test.stable.err tools/embedded/Tests/deps-test.stable.out tools/embedded/Tests/deps-test.timeout tools/embedded/Tests/dplyr.R tools/embedded/Tests/install-binary.R tools/embedded/Tests/install-binary.stable.err tools/embedded/Tests/install-binary.stable.out tools/embedded/Tests/install-source.R tools/embedded/Tests/install-source.stable.err tools/embedded/Tests/install-source.stable.out tools/embedded/Tests/install-source.timeout tools/embedded/Tests/install.reqtests tools/embedded/Tests/lowlevel.R tools/embedded/Tests/lowlevel.reqtests tools/embedded/Tests/lowlevel.stable.err tools/embedded/Tests/lowlevel.stable.out tools/embedded/build-on-windows.bat tools/embedded/build-rpkg.sh tools/embedded/demo.c tools/embedded/embedded.c tools/embedded/embedded.h tools/embedded/embeddedr.c tools/embedded/embeddedr.h tools/embedded/inlined_scripts.c tools/embedded/inlined_scripts.py tools/embedded/inlined_scripts.sh tools/embedded/pcre-for-osx.h tools/embedded/pkg-excludes tools/embedded/rcheck.sh tools/embedded/rpackage/DESCRIPTION tools/embedded/rpackage/NAMESPACE tools/embedded/rpackage/R/monetdb.R tools/embedded/rpackage/configure tools/embedded/rpackage/configure.win tools/embedded/rpackage/man/embedded.Rd tools/embedded/undef.h tools/embedded/windows/libtool.sh tools/embedded/windows/pmc.sh tools/embedded/windows/sedscript.tpl Modified Files: clients/Makefile.ag clients/R/Tests/All clients/R/Tests/dbapply.R clients/R/Tests/dbi.R clients/R/Tests/dbi.stable.err clients/R/Tests/deps-install.R clients/R/Tests/deps-test.R clients/R/Tests/dplyr-flights.R clients/R/Tests/dplyr.R clients/R/Tests/install.R clients/R/Tests/install.stable.out clients/R/Tests/testrandom.R sql/test/Users/Tests/copyinto.SQL.py tools/Makefile.ag Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 7880 to 300 lines): diff --git a/clients/Makefile.ag b/clients/Makefile.ag --- a/clients/Makefile.ag +++ b/clients/Makefile.ag @@ -6,4 +6,4 @@ SUBDIRS = HAVE_MAPI?mapilib HAVE_MAPI?mapiclient HAVE_ODBC?odbc HAVE_PERL?perl php examples HAVE_PYTHON2?python2 HAVE_PYTHON3?python3 NATIVE_WIN32?NT -EXTRA_DIST_DIR = Tests R ruby +EXTRA_DIST_DIR = Tests ruby diff --git a/clients/R/MonetDB.R/DESCRIPTION b/clients/R/MonetDB.R/DESCRIPTION deleted file mode 100644 --- a/clients/R/MonetDB.R/DESCRIPTION +++ /dev/null @@ -1,15 +0,0 @@ -Package: MonetDB.R -Version: 1.0.2 -Title: Connect MonetDB to R -Authors@R: c(person("Hannes Muehleisen", role = c("aut", "cre"),email = "han...@cwi.nl"), - person("Anthony Damico", role = "aut"), - person("Thomas Lumley", role = "ctb")) -Author: Hannes Muehleisen [aut, cre], Anthony Damico [aut], Thomas Lumley [ctb] -Maintainer: Hannes Muehleisen-Imports: DBI (>= 0.3.1), digest (>= 0.6.4), methods, codetools -Enhances: dplyr
MonetDB: default - Merge with Jun2016 branch.
Changeset: deac451e6cca for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=deac451e6cca Added Files: sql/test/bugs/Tests/WHERE_and_multiple_LEFT_JOIN_incorrect_results-JIRA-43.sql sql/test/bugs/Tests/WHERE_and_multiple_LEFT_JOIN_incorrect_results-JIRA-43.stable.err sql/test/bugs/Tests/WHERE_and_multiple_LEFT_JOIN_incorrect_results-JIRA-43.stable.out Modified Files: MonetDB.spec common/stream/stream.c gdk/gdk.h monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows.single monetdb5/mal/mal_module.c monetdb5/modules/atoms/inet.c monetdb5/modules/atoms/json.c sql/backends/monet5/vaults/netcdf/netcdf.c sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit sql/benchmarks/tpch/fileleak/Tests/leaks.stable.out.Windows sql/server/sql_mvc.c sql/test/bugs/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 733 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -44,17 +44,21 @@ # and build the geom modules. On RedHat Enterprise Linux and # derivatives (CentOS, Scientific Linux), the geos library is not # available. However, the geos library is available in the Extra -# Packages for Enterprise Linux (EPEL). In other words, we can check -# the fedpkgs macro (see above). +# Packages for Enterprise Linux (EPEL). However, On RHEL 6, the geos +# library is too old for us, so we need an extra check for an +# up-to-date version of RHEL. %if %{fedpkgs} +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %define with_geos 1 %endif +%endif # On Fedora, the liblas library is available, and so we can require it # and build the lidar modules. On RedHat Enterprise Linux and -# derivatives (CentOS, Scientific Linux), the liblas library is not -# available, even with EPEL available. -%if %{?rhel:0}%{!?rhel:1} +# derivatives (CentOS, Scientific Linux), the liblas library is only +# available if EPEL is enabled, and then only on version 7. +%if %{fedpkgs} +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 # If the _without_lidar macro is not set, the MonetDB-lidar RPM will # be created. The macro can be set when using mock by passing it the # flag --without=lidar. @@ -62,6 +66,7 @@ %define with_lidar 1 %endif %endif +%endif %if %{?rhel:0}%{!?rhel:1} # If the _without_samtools macro is not set, the MonetDB-bam-MonetDB5 @@ -117,13 +122,15 @@ BuildRequires: bzip2-devel BuildRequires: cfitsio-devel %endif %if %{?with_geos:1}%{!?with_geos:0} -BuildRequires: geos-devel >= 3.0.0 +BuildRequires: geos-devel >= 3.4.0 %endif BuildRequires: gsl-devel %if %{?with_lidar:1}%{!?with_lidar:0} -BuildRequires: liblas-devel gdal-devel libgeotiff-devel +BuildRequires: liblas-devel >= 1.8.0 +BuildRequires: gdal-devel +BuildRequires: libgeotiff-devel # Fedora 22 liblas-devel does not depend on liblas: -BuildRequires: liblas +BuildRequires: liblas >= 1.8.0 %endif BuildRequires: libatomic_ops-devel BuildRequires: libcurl-devel diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -2113,7 +2113,11 @@ socket_write(stream *s, const void *buf, #ifdef _MSC_VER WSAGetLastError() == WSAEWOULDBLOCK && #else - (errno == EAGAIN || errno == EWOULDBLOCK) && /* it was! */ + (errno == EAGAIN +#if EAGAIN != EWOULDBLOCK +|| errno == EWOULDBLOCK +#endif + ) && /* it was! */ #endif s->timeout_func != NULL && /* callback function exists */ !(*s->timeout_func)()) /* callback says don't stop */ @@ -2139,7 +2143,11 @@ socket_write(stream *s, const void *buf, #ifdef _MSC_VER WSAGetLastError() == WSAEWOULDBLOCK #else - (errno == EAGAIN || errno == EWOULDBLOCK) + (errno == EAGAIN +#if EAGAIN != EWOULDBLOCK +|| errno == EWOULDBLOCK +#endif + ) #endif ) s->errnr = MNSTR_TIMEOUT; diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1148,6 +1148,7 @@ gdk_export bte ATOMelmshift(int sz); * @end itemize */ /* NOTE: `p' is evaluated after a possible upgrade of the heap */ +#if SIZEOF_VAR_T == 8 #define HTputvalue(b, p, v, copyall, HT) \ do {\
MonetDB: default - Merge with Jun2016 branch.
Changeset: d492ed0b6667 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d492ed0b6667 Added Files: sql/test/bugs/Tests/cur_date_crash-JIRA-42.sql sql/test/bugs/Tests/cur_date_crash-JIRA-42.stable.err sql/test/bugs/Tests/cur_date_crash-JIRA-42.stable.out Modified Files: MonetDB.spec gdk/gdk_bat.c sql/backends/monet5/sql.c sql/server/rel_optimizer.c sql/test/bugs/Tests/All tools/merovingian/daemon/connections.c tools/merovingian/daemon/connections.h Branch: default Log Message: Merge with Jun2016 branch. diffs (225 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -107,7 +107,10 @@ URL: http://www.monetdb.org/ Source: http://dev.monetdb.org/downloads/sources/Jul2015-SP4/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 +# RHEL >= 7, and all current Fedora BuildRequires: systemd +%endif BuildRequires: bison BuildRequires: bzip2-devel %if %{?with_fits:1}%{!?with_fits:0} @@ -763,13 +766,15 @@ systemd-tmpfiles --create %{_sysconfdir} %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 # RHEL >= 7, and all current Fedora %{_sysconfdir}/tmpfiles.d/monetdbd.conf +%{_unitdir}/monetdbd.service %else # RedHat Enterprise Linux < 7 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/run/monetdb %exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf +# no _unitdir macro +%exclude %{_prefix}/lib/systemd/system/monetdbd.service %endif %config(noreplace) %{_localstatedir}/monetdb5/dbfarm/.merovingian_properties -%{_unitdir}/monetdbd.service %{_libdir}/monetdb5/autoload/??_sql.mal %{_libdir}/monetdb5/lib_sql.so %{_libdir}/monetdb5/*.sql diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -328,6 +328,7 @@ BATattach(int tt, const char *heapfile, * are no NIL values, we cannot safely assume there are none. */ bn->T->nonil = 0; + bn->T->nil = 0; if (cap > 1) { bn->tsorted = 0; bn->trevsorted = 0; diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -2241,6 +2241,8 @@ ambigious_refs( list *exps, list *refs) { node *n; + if (!refs) + return 0; for(n=refs->h; n; n = n->next) { if (ambigious_ref(exps, n->data)) return 1; diff --git a/sql/test/bugs/Tests/All b/sql/test/bugs/Tests/All --- a/sql/test/bugs/Tests/All +++ b/sql/test/bugs/Tests/All @@ -105,3 +105,4 @@ polymorphism emili substring_limit_bug apply_with_union_assertion +cur_date_crash-JIRA-42 diff --git a/sql/test/bugs/Tests/cur_date_crash-JIRA-42.sql b/sql/test/bugs/Tests/cur_date_crash-JIRA-42.sql new file mode 100644 --- /dev/null +++ b/sql/test/bugs/Tests/cur_date_crash-JIRA-42.sql @@ -0,0 +1,10 @@ +CREATE TABLE foo (bar int); +CREATE TABLE foo1 (bar int); + +SELECT bar FROM foo WHERE bar NOT IN (SELECT bar FROM foo1); + +SELECT CURDATE() FROM foo; + +SELECT CURDATE() FROM foo WHERE bar NOT IN (SELECT bar FROM foo1); +drop table foo1; +drop table foo; diff --git a/sql/test/bugs/Tests/cur_date_crash-JIRA-42.stable.err b/sql/test/bugs/Tests/cur_date_crash-JIRA-42.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/bugs/Tests/cur_date_crash-JIRA-42.stable.err @@ -0,0 +1,37 @@ +stderr of test 'cur_date_crash-JIRA-42` in directory 'sql/test/bugs` itself: + + +# 19:47:16 > +# 19:47:16 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36422" "--set" "mapi_usock=/var/tmp/mtest-30463/.s.monetdb.36422" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_bugs" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 19:47:16 > + +# builtin opt gdk_dbpath = /home/niels/scratch/rc-monetdb/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 36422 +# cmdline opt mapi_usock = /var/tmp/mtest-30463/.s.monetdb.36422 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_bugs +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 19:47:17 > +# 19:47:17 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-30463" "--port=36422" +# 19:47:17 > + + +# 19:47:17 > +# 19:47:17 >
MonetDB: default - Merge with Jun2016 branch.
Changeset: 15f11c880d5c for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=15f11c880d5c Added Files: sql/test/BugTracker-2016/Tests/RELEASE_SAVEPOINT_after_UPDATE_crash.Bug-4010.sql sql/test/BugTracker-2016/Tests/RELEASE_SAVEPOINT_after_UPDATE_crash.Bug-4010.stable.err sql/test/BugTracker-2016/Tests/RELEASE_SAVEPOINT_after_UPDATE_crash.Bug-4010.stable.out Modified Files: java/ChangeLog.Jun2016 java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java sql/test/BugTracker-2016/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 579 to 300 lines): diff --git a/java/ChangeLog.Jun2016 b/java/ChangeLog.Jun2016 --- a/java/ChangeLog.Jun2016 +++ b/java/ChangeLog.Jun2016 @@ -1,6 +1,12 @@ # ChangeLog file for java # This file is updated with Maddlog +* Thu May 19 2016 Martin van Dinther+- Implemented MonetDatabaseMetaData.supportsConvert() and + MonetDatabaseMetaData.supportsConvert(int fromType, int toType) methods. + It used to always return false. Now it returns true for the supported conversions. + This fixes Bug 3460. + * Sun May 8 2016 Jennie Zhang - ResultSet.setFetchSize(): added a dummy implementation to get rid of the SQLFeatureNotSupportedException. In MonetDB, it does not diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -396,48 +396,16 @@ public class MonetDatabaseMetaData exten /** * Get a comma separated list of all a database's SQL keywords that * are NOT also SQL:2003 keywords. -* * * @return a comma separated list of MonetDB keywords */ @Override public String getSQLKeywords() { - StringBuilder sb = new StringBuilder(1000); - Statement st = null; - ResultSet rs = null; - try { - st = con.createStatement(); - rs = st.executeQuery("SELECT \"keyword\" FROM \"sys\".\"keywords\" ORDER BY 1"); - // Fetch the keywords and concatenate them into a StringBuffer separated by comma's - boolean isfirst = true; - while (rs.next()) { - String keyword = rs.getString(1); - if (keyword != null) { - if (isfirst) { - isfirst = false; - } else { - sb.append(","); - } - sb.append(keyword); - } - } - } catch (SQLException e) { - /* This may occur for old (before Jul2015 release) MonetDB servers which do not have the sys.keywords table. */ - } finally { - if (rs != null) { - try { - rs.close(); - } catch (SQLException e) { /* ignore */ } - } - if (st != null) { - try { -st.close(); - } catch (SQLException e) { /* ignore */ } - } - } - - return (sb.length() > 0) ? sb.toString() : - /* else fallback and return old static list (as returned in clients/odbc/driver/SQLGetInfo.c case SQL_KEYWORDS:) */ + String keywords = getConcatenatedStringFromQuery("SELECT \"keyword\" FROM \"sys\".\"keywords\" ORDER BY 1"); + + /* An old MonetDB server (pre Jul2015 release) will not have a table sys.keywords and return an empty String */ + return (keywords.length() > 0) ? keywords : + /* for old servers return static list (as returned in clients/odbc/driver/SQLGetInfo.c case SQL_KEYWORDS:) */ "ADMIN,AFTER,AGGREGATE,ALWAYS,ASYMMETRIC,ATOMIC," + "AUTO_INCREMENT,BEFORE,BIGINT,BIGSERIAL,BINARY,BLOB," + "CALL,CHAIN,CLOB,COMMITTED,COPY,CORR,CUME_DIST," + @@ -460,68 +428,32 @@ public class MonetDatabaseMetaData exten } /** -* getMonetDBSysFunctions(int kind) -* args: int kind, value must be 1 or 2 or 3 or 4. -* internal utility method to query the MonetDB sys.functions table -* to dynamically get the function names (for a specific kind) and -* concatenate
MonetDB: default - Merge with Jun2016 branch.
Changeset: 934dbfa3c66b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=934dbfa3c66b Added Files: sql/test/BugTracker-2016/Tests/RELEASE_SAVEPOINT_after_ALTER_TABLE_crash.Bug-4010.sql sql/test/BugTracker-2016/Tests/RELEASE_SAVEPOINT_after_ALTER_TABLE_crash.Bug-4010.stable.err sql/test/BugTracker-2016/Tests/RELEASE_SAVEPOINT_after_ALTER_TABLE_crash.Bug-4010.stable.out Modified Files: monetdb5/mal/mal_instruction.c monetdb5/mal/mal_namespace.c sql/backends/monet5/sql_decimal.mal sql/backends/monet5/sql_decimal.mal.sh sql/backends/monet5/sql_decimal_hge.mal sql/backends/monet5/sql_decimal_hge.mal.sh sql/test/BugTracker-2016/Tests/All Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 2005 to 300 lines): diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -929,7 +929,7 @@ cloneVariable(MalBlkPtr tm, MalBlkPtr mb return res; } -/* generate a new variable name based on a patter with 1 %d argument*/ +/* generate a new variable name based on a pattern with 1 %d argument*/ void renameVariable(MalBlkPtr mb, int id, str pattern, int newid) { diff --git a/monetdb5/mal/mal_namespace.c b/monetdb5/mal/mal_namespace.c --- a/monetdb5/mal/mal_namespace.c +++ b/monetdb5/mal/mal_namespace.c @@ -19,57 +19,49 @@ #define HASHMASK 4095 /* taken from gdk_atoms */ -#define NME_HASH(x,y,K)\ -do {\ -const char *_key = (const char *) (x); \ -size_t _i; \ -for (_i = y = 0; K-- && _key[_i]; _i++) { \ -y += _key[_i]; \ -y += (y << 10); \ -y ^= (y >> 6); \ -} \ -y += (y << 3); \ -y ^= (y >> 11); \ -y += (y << 15); \ - y = y & HASHMASK; \ +#define NME_HASH(_key,y,K) \ +do { \ +size_t _i; \ +for (_i = y = 0; _i < K && _key[_i]; _i++) { \ +y += _key[_i]; \ +y += (y << 10); \ +y ^= (y >> 6); \ +} \ +y += (y << 3); \ +y ^= (y >> 11); \ +y += (y << 15); \ + y = y & HASHMASK; \ } while (0) typedef struct NAME{ - size_t length; struct NAME *next; - char nme[FLEXIBLE_ARRAY_MEMBER]; + char nme[IDLENGTH + 1]; + unsigned short length; } *NamePtr; -static NamePtr *hash= NULL, *ehash = NULL; +static NamePtr hash[MAXIDENTIFIERS]; + +static struct namespace { + struct namespace *next; + int count; + struct NAME data[4096]; +} *namespace; void initNamespace(void) { - if(hash == NULL) hash= (NamePtr *) GDKzalloc(sizeof(NamePtr) * MAXIDENTIFIERS); - if(ehash == NULL) ehash= (NamePtr *) GDKzalloc(sizeof(NamePtr) * MAXIDENTIFIERS); - if ( hash == NULL || ehash == NULL){ -/* absolute an error we can not recover from */ -showException(GDKout, MAL,"initNamespace",MAL_MALLOC_FAIL); -mal_exit(); - } } void mal_namespace_reset(void) { - int i; - NamePtr n,m; + struct namespace *ns; /* assume we are at the end of the server session */ MT_lock_set(_namespaceLock); - for ( i =0; i < HASHMASK; i++){ - n = hash[i]; - hash[i] = ehash[i] = 0; - for( ; n; n = m){ - m = n->next; - GDKfree(n); - } + memset(hash, 0, sizeof(hash)); + while (namespace) { + ns = namespace->next; + GDKfree(namespace); + namespace = ns; } - GDKfree(hash); - GDKfree(ehash); - hash = ehash = 0; MT_lock_unset(_namespaceLock); } @@ -80,29 +72,76 @@ void mal_namespace_reset(void) { * is conflict free. */ +static str findName(const char *nme, size_t len, int allocate) +{ + NamePtr *n, m; + size_t key; + + assert(len == 0 || nme != NULL); +
MonetDB: default - Merge with Jun2016 branch.
Changeset: c23e5573a476 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c23e5573a476 Modified Files: java/ChangeLog.Jun2016 java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java monetdb5/optimizer/opt_costModel.c sql/server/sql_parser.y sql/test/pg_regress/Tests/without_oid.stable.out.oid32 Branch: default Log Message: Merge with Jun2016 branch. diffs (244 lines): diff --git a/java/ChangeLog.Jun2016 b/java/ChangeLog.Jun2016 --- a/java/ChangeLog.Jun2016 +++ b/java/ChangeLog.Jun2016 @@ -2,7 +2,7 @@ # This file is updated with Maddlog * Sun May 8 2016 Jennie Zhang-- ResultSet.setFetchSize(): added a dumy implementation to get rid +- ResultSet.setFetchSize(): added a dummy implementation to get rid of the SQLFeatureNotSupportedException. In MonetDB, it does not make sense to set the fetch size of a result set. If one really wants to set the fetch size, one should use Statement.setFetchSize() diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -1597,16 +1597,14 @@ public class MonetDatabaseMetaData exten "cast(null as char(1)) AS \"Field5\", " + "cast(null as char(1)) AS \"Field6\", " + "cast(null as char(1)) AS \"REMARKS\", " + - "CAST(CASE (SELECT COUNT(*) FROM \"sys\".\"args\" where \"args\".\"func_id\" = \"functions\".\"id\" and \"args\".\"number\" = 0)" + - " WHEN 0 THEN ").append(DatabaseMetaData.procedureNoResult) - .append(" WHEN 1 THEN ").append(DatabaseMetaData.procedureReturnsResult) - .append(" ELSE ").append(DatabaseMetaData.procedureResultUnknown).append(" END AS smallint) AS \"PROCEDURE_TYPE\", " + + "CAST(CASE \"args\".\"type\" WHEN NULL THEN ").append(DatabaseMetaData.procedureNoResult) + .append(" ELSE ").append(DatabaseMetaData.procedureReturnsResult).append(" END AS smallint) AS \"PROCEDURE_TYPE\", " + "CAST(CASE \"functions\".\"language\" WHEN 0 THEN \"functions\".\"mod\" || '.' || \"functions\".\"func\"" + " ELSE \"schemas\".\"name\" || '.' || \"functions\".\"name\" END AS VARCHAR(1500)) AS \"SPECIFIC_NAME\" " + - "FROM \"sys\".\"functions\", \"sys\".\"schemas\" " + - "WHERE \"functions\".\"schema_id\" = \"schemas\".\"id\" " + + "FROM \"sys\".\"functions\" JOIN \"sys\".\"schemas\" ON (\"functions\".\"schema_id\" = \"schemas\".\"id\")" + + " LEFT OUTER JOIN \"sys\".\"args\" ON (\"args\".\"func_id\" = \"functions\".\"id\" and \"args\".\"number\" = 0) " + // include procedures only (type = 2). Others will be returned via getFunctions() - "AND \"functions\".\"type\" = 2"); + "WHERE \"functions\".\"type\" = 2"); if (catalog != null && catalog.length() > 0) { // none empty catalog selection. @@ -2051,8 +2049,7 @@ public class MonetDatabaseMetaData exten * * @param catalog a catalog name; "" retrieves those without a catalog; *currently ignored -* @param schemaPattern a schema name pattern; "" retrieves those -* without a schema +* @param schemaPattern a schema name pattern; "" retrieves those without a schema * @param tableNamePattern a table name pattern * @param columnNamePattern a column name pattern * @return ResultSet each row is a column description @@ -2233,8 +2230,7 @@ public class MonetDatabaseMetaData exten * * * @param catalog a catalog name; "" retrieves those without a catalog -* @param schemaPattern a schema name pattern; "" retrieves those -* without a schema +* @param schemaPattern a schema name pattern; "" retrieves those without a schema * @param tableNamePattern a table name pattern * @return ResultSet each row is a table privilege description * @see #getSearchStringEscape @@ -3144,23 +3140,23 @@ public class MonetDatabaseMetaData exten ) throws SQLException { StringBuilder query = new StringBuilder(990); - query.append("SELECT cast(null as char(1)) AS \"TYPE_CAT\", ") - .append("\"schemas\".\"name\" AS \"TYPE_SCHEM\", ") - .append("\"types\".\"sqlname\" AS \"TYPE_NAME\", ") - .append("CASE \"types\".\"sqlname\"") + query.append("SELECT cast(null as char(1)) AS \"TYPE_CAT\", " + +
MonetDB: default - Merge with Jun2016 branch.
Changeset: 929ca52aa5b0 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=929ca52aa5b0 Modified Files: gdk/gdk_bbp.c gdk/gdk_storage.c monetdb5/extras/rapi/rapi.c monetdb5/mal/mal.c monetdb5/modules/mal/manifold.c sql/server/sql_mvc.c tools/mserver/mserver5.c Branch: default Log Message: Merge with Jun2016 branch. diffs (179 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -1389,7 +1389,11 @@ BBPinit(void) GDKfatal("BBPinit: cannot properly prepare process %s. Please check whether your disk is full or write-protected", BAKDIR); /* cleanup any leftovers (must be done after BBPrecover) */ - BBPdiskscan(GDKfilepath(0, NULL, BATDIR, NULL)); + { + char *d = GDKfilepath(0, NULL, BATDIR, NULL); + BBPdiskscan(d); + GDKfree(d); + } #if SIZEOF_SIZE_T == 8 && SIZEOF_OID == 8 if (oidsize == SIZEOF_INT) @@ -4065,6 +4069,7 @@ BBPrecover_subdir(void) struct dirent *dent; gdk_return ret = GDK_SUCCEED; + GDKfree(subdirpath); if (dirp == NULL) { return GDK_SUCCEED; /* nothing to do */ } @@ -4094,7 +4099,6 @@ BBPrecover_subdir(void) if (ret != GDK_SUCCEED) GDKerror("BBPrecover_subdir: recovery failed. Please check whether your disk is full or write-protected.\n"); - GDKfree(subdirpath); return ret; } @@ -4323,10 +4327,19 @@ BBPatom_load(int atom) void gdk_bbp_reset(void) { - memset((char*) BBP, 0, sizeof(BBP)); + int i; + + while (BBPlimit > 0) { + BBPlimit -= BBPINIT; + assert(BBPlimit >= 0); + GDKfree(BBP[BBPlimit >> BBPINITLOG]); + } + memset(BBP, 0, sizeof(BBP)); BBPlimit = 0; BBPsize = 0; - memset((char*) BBPfarms, 0, sizeof(BBPfarms)); + for (i = 0; i < MAXFARMS; i++) + GDKfree((void *) BBPfarms[i].dirname); /* loose "const" */ + memset(BBPfarms, 0, sizeof(BBPfarms)); BBP_hash = 0; BBP_mask = 0; stamp = 0; @@ -4339,8 +4352,8 @@ gdk_bbp_reset(void) locked_by = 0; BBPunloadCnt = 0; - memset((char*) lastused, 0, sizeof(lastused)); - memset((char*) bbptrim, 0, sizeof(bbptrim)); + memset(lastused, 0, sizeof(lastused)); + memset(bbptrim, 0, sizeof(bbptrim)); bbptrimfirst = BBPMAXTRIM; bbptrimlast = 0; bbptrimmax = BBPMAXTRIM; diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c --- a/gdk/gdk_storage.c +++ b/gdk/gdk_storage.c @@ -1044,6 +1044,7 @@ BATprintcolumns(stream *s, int argc, BAT mnstr_write(s, " ]\n", 1, 4); } + GDKfree(buf); GDKfree(colinfo); return GDK_SUCCEED; diff --git a/monetdb5/extras/rapi/rapi.c b/monetdb5/extras/rapi/rapi.c --- a/monetdb5/extras/rapi/rapi.c +++ b/monetdb5/extras/rapi/rapi.c @@ -191,8 +191,11 @@ static char *RAPIinstalladdons(void) { UNPROTECT(1); // run rapi.R environment setup script - snprintf(rapiinclude, sizeof(rapiinclude), "source(\"%s\")", -locate_file("rapi", ".R", 0)); + { + char *f = locate_file("rapi", ".R", 0); + snprintf(rapiinclude, sizeof(rapiinclude), "source(\"%s\")", f); + GDKfree(f); + } #if DIR_SEP != '/' { char *p; diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c --- a/monetdb5/mal/mal.c +++ b/monetdb5/mal/mal.c @@ -143,6 +143,7 @@ void mserver_reset(void) */ mal_factory_reset(); mal_dataflow_reset(); + THRdel(mal_clients->mythread); GDKreset(0);// terminate all other threads mal_client_reset(); mal_module_reset(); diff --git a/monetdb5/modules/mal/manifold.c b/monetdb5/modules/mal/manifold.c --- a/monetdb5/modules/mal/manifold.c +++ b/monetdb5/modules/mal/manifold.c @@ -111,6 +111,7 @@ typedef struct{ if (msg) \ break; \ bunfastapp(mut->args[0].b, (void*) y); \ + GDKfree(y); y = NULL; \ for( i = mut->fvar; i<= mut->lvar; i++) { \ if(ATOMstorage(mut->args[i].type) == TYPE_void ){ \ args[i] = (void*) >args[i].o; \ diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++
MonetDB: default - Merge with Jun2016 branch.
Changeset: ec5c89b4b05e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec5c89b4b05e Added Files: MacOSX/MonetDB_logo.png clients/R/Tests/dplyr.timeout sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.err.single sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out.single sql/test/BugTracker-2016/Tests/storagemodel.sql sql/test/BugTracker-2016/Tests/storagemodel.stable.err sql/test/BugTracker-2016/Tests/storagemodel.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit Removed Files: MacOSX/MonetDB logo.png sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.sql sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.stable.err sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.stable.out Modified Files: MacOSX/MonetDB.pkgproj clients/R/Tests/All clients/R/Tests/dbapply.R clients/R/Tests/dbi.R clients/R/Tests/deps-install.R clients/R/Tests/deps-test.R clients/R/Tests/dplyr-flights.R clients/R/Tests/dplyr-flights.stable.out clients/R/Tests/dplyr.R clients/Tests/exports.stable.out gdk/gdk.h gdk/gdk_bbp.c gdk/gdk_logger.c gdk/gdk_tm.c gdk/gdk_utils.c monetdb5/modules/kernel/status.c monetdb5/modules/mal/bbp.c monetdb5/optimizer/Tests/manifold2.stable.out.single sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit sql/test/BugTracker-2016/Tests/All sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.32bit sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit sql/test/Dependencies/Tests/Dependencies.stable.out testing/Mtest.py.in Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 19926 to 300 lines): diff --git a/MacOSX/MonetDB.pkgproj b/MacOSX/MonetDB.pkgproj --- a/MacOSX/MonetDB.pkgproj +++ b/MacOSX/MonetDB.pkgproj @@ -544,7 +544,7 @@ BACKGROUND_PATH PATH - MonetDB logo.png + MonetDB_logo.png PATH_TYPE 1 diff --git a/MacOSX/MonetDB logo.png b/MacOSX/MonetDB_logo.png rename from MacOSX/MonetDB logo.png rename to MacOSX/MonetDB_logo.png diff --git a/clients/R/Tests/All b/clients/R/Tests/All --- a/clients/R/Tests/All +++ b/clients/R/Tests/All @@ -1,6 +1,6 @@ HAVE_LIBR?deps-install +HAVE_LIBR?install HAVE_LIBR?deps-test -HAVE_LIBR?install HAVE_LIBR?dbi HAVE_LIBR?survey HAVE_LIBR?dplyr diff --git a/clients/R/Tests/dbapply.R b/clients/R/Tests/dbapply.R --- a/clients/R/Tests/dbapply.R +++ b/clients/R/Tests/dbapply.R @@ -1,6 +1,5 @@ -ll <- NULL if (Sys.getenv("TSTTRGDIR") != "") { - ll <- paste0(Sys.getenv("TSTTRGDIR"),"/rlibdir") + .libPaths(c(.libPaths(), paste0(Sys.getenv("TSTTRGDIR"),"/rlibdir"))) } library(DBI, quietly = T) diff --git a/clients/R/Tests/dbi.R b/clients/R/Tests/dbi.R --- a/clients/R/Tests/dbi.R +++ b/clients/R/Tests/dbi.R @@ -1,6 +1,5 @@ -ll <- NULL if (Sys.getenv("TSTTRGDIR") != "") { - ll <- paste0(Sys.getenv("TSTTRGDIR"),"/rlibdir") + .libPaths(c(.libPaths(), paste0(Sys.getenv("TSTTRGDIR"),"/rlibdir"))) } library(DBI) diff --git a/clients/R/Tests/deps-install.R b/clients/R/Tests/deps-install.R --- a/clients/R/Tests/deps-install.R +++ b/clients/R/Tests/deps-install.R @@ -3,6 +3,9 @@ dir.create(unlist(strsplit(Sys.getenv("R # autoinstall DBI and digest, we need those to install MonetDB.R dd <- capture.output(suppressMessages(suppressWarnings({ - install.packages(c("devtools", "digest"), repos="http://cran.rstudio.com/;, quiet=T) + repos <- "http://cran.rstudio.com/; + lp <- c("devtools", "digest") + install.packages(lp, repos=repos, quiet=T) + update.packages(repos=repos, ask=F, oldPkgs=lp) devtools::install_github("rstats-db/DBI", quiet=T) }))) diff --git a/clients/R/Tests/deps-test.R b/clients/R/Tests/deps-test.R --- a/clients/R/Tests/deps-test.R +++ b/clients/R/Tests/deps-test.R @@ -5,6 +5,5 @@ dd <- capture.output(suppressMessages(su repos <- c('http://download.r-forge.r-project.org','http://cran.rstudio.com/') if(length(np)) install.packages(np,repos=repos, quiet=T) update.packages(repos=repos, ask=F, oldPkgs=lp, quiet=T) - x <-
MonetDB: default - Merge with Jun2016 branch.
Changeset: e4ea18ea641e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e4ea18ea641e Added Files: sql/jdbc/tests/Tests/Test_CisValid.stable.err sql/jdbc/tests/Tests/Test_CisValid.stable.out Modified Files: NT/monetdb_config.h.in sql/storage/store.c sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 Branch: default Log Message: Merge with Jun2016 branch. diffs (212 lines): diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -1135,11 +1135,11 @@ typedef __uint128_t uhge; #ifdef HAVE_EMBEDDED_R #define _MSC_EXTENSIONS 1 #undef HAVE_CTIME_R -#define PROMPT1"\001\001\n"/* prompt: ready for new query */ -#define PROMPT2"\001\002\n"/* prompt: more data needed */ #else #define HAVE_MAPI 1 #endif +#define PROMPT1"\001\001\n"/* prompt: ready for new query */ +#define PROMPT2"\001\002\n"/* prompt: more data needed */ #endif /* _SEEN_MONETDB_CONFIG_H */ diff --git a/sql/jdbc/tests/Tests/Test_CisValid.stable.err b/sql/jdbc/tests/Tests/Test_CisValid.stable.err new file mode 100644 --- /dev/null +++ b/sql/jdbc/tests/Tests/Test_CisValid.stable.err @@ -0,0 +1,48 @@ +stderr of test 'Test_CisValid` in directory 'sql/jdbc/tests` itself: + + +# 23:03:07 > +# 23:03:07 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36086" "--set" "mapi_usock=/var/tmp/mtest-9079/.s.monetdb.36086" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/export/scratch2/zhang/monet-install/Jul2015/debug/var/MonetDB/mTests_sql_jdbc_tests" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 23:03:07 > + +# builtin opt gdk_dbpath = /export/scratch2/zhang/monet-install/Jul2015/debug/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 36086 +# cmdline opt mapi_usock = /var/tmp/mtest-9079/.s.monetdb.36086 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /export/scratch2/zhang/monet-install/Jul2015/debug/var/MonetDB/mTests_sql_jdbc_tests +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 23:03:08 > +# 23:03:08 > "./Test_CisValid.SQL.sh" "Test_CisValid" +# 23:03:08 > + + +# 23:03:08 > +# 23:03:08 > java Test_CisValid "jdbc:monetdb://toulouse:36086/mTests_sql_jdbc_tests?user=monetdb=monetdb" +# 23:03:08 > + +java.sql.SQLException: SELECT: no such table 'doesnotexist' + at nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.executeQuery(MonetConnection.java:2603) + at nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.processQuery(MonetConnection.java:2351) + at nl.cwi.monetdb.jdbc.MonetStatement.internalExecute(MonetStatement.java:507) + at nl.cwi.monetdb.jdbc.MonetStatement.execute(MonetStatement.java:345) + at Test_CisValid.main(Test_CisValid.java:23) + +# 23:03:08 > +# 23:03:08 > "Done." +# 23:03:08 > + diff --git a/sql/jdbc/tests/Tests/Test_CisValid.stable.out b/sql/jdbc/tests/Tests/Test_CisValid.stable.out new file mode 100644 --- /dev/null +++ b/sql/jdbc/tests/Tests/Test_CisValid.stable.out @@ -0,0 +1,77 @@ +stdout of test 'Test_CisValid` in directory 'sql/jdbc/tests` itself: + + +# 23:03:07 > +# 23:03:07 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36086" "--set" "mapi_usock=/var/tmp/mtest-9079/.s.monetdb.36086" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/export/scratch2/zhang/monet-install/Jul2015/debug/var/MonetDB/mTests_sql_jdbc_tests" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 23:03:07 > + +# MonetDB 5 server v11.21.20 +# This is an unreleased version +# Serving database 'mTests_sql_jdbc_tests', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 15.589 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://toulouse.da.cwi.nl:36086/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-9079/.s.monetdb.36086 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +# MonetDB/R module loaded +
MonetDB: default - Merge with Jun2016 branch.
Changeset: 3661d21cc19b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3661d21cc19b Added Files: sql/test/BugTracker-2016/Tests/data3987.csv sql/test/BugTracker-2016/Tests/malformed-copy-int.Bug-3987.sql.in sql/test/BugTracker-2016/Tests/malformed-copy-int.Bug-3987.stable.err sql/test/BugTracker-2016/Tests/malformed-copy-int.Bug-3987.stable.out Modified Files: common/stream/stream.c java/ChangeLog.Jun2016 java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java java/tests/Test_Rmetadata.java monetdb5/modules/mal/tablet.c sql/backends/monet5/sql.c sql/jdbc/tests/Tests/Test_Rmetadata.stable.out sql/storage/bat/bat_storage.c tools/embedded/build-on-windows.bat tools/embedded/build-rpkg.sh tools/embedded/inlined_scripts.c tools/embedded/inlined_scripts.sh tools/embedded/rpackage/DESCRIPTION tools/embedded/rpackage/configure.win tools/embedded/windows/sedscript.tpl Branch: default Log Message: Merge with Jun2016 branch. diffs (truncated from 3233 to 300 lines): diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -128,7 +128,7 @@ #define UTF8BOM"\xEF\xBB\xBF" /* UTF-8 encoding of Unicode BOM */ #define UTF8BOMLENGTH 3 /* length of above */ -#ifdef WIN32 +#ifdef _MSC_VER /* use intrinsic functions on Windows */ #define short_int_SWAP(s) ((short) _byteswap_ushort((unsigned short) (s))) /* on Windows, long is the same size as int */ diff --git a/java/ChangeLog.Jun2016 b/java/ChangeLog.Jun2016 --- a/java/ChangeLog.Jun2016 +++ b/java/ChangeLog.Jun2016 @@ -1,6 +1,10 @@ # ChangeLog file for java # This file is updated with Maddlog +* Thu Apr 21 2016 Martin van Dinther+- Fixed resource leak in ResultSetMetaData. It created and cached a ResultSet + object for each column but never closed the ResultSet objects. + * Thu Mar 31 2016 Martin van Dinther - Corrected DatabaseMetaData methods which accept a catalog filter argument. Those methods will now filter the results on the specified catalog name, diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java @@ -21,6 +21,7 @@ import java.net.URL; import java.sql.Array; import java.sql.Blob; import java.sql.Clob; +import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.NClob; import java.sql.Ref; @@ -683,44 +684,43 @@ public class MonetResultSet extends Mone * @throws SQLException if there is no such column */ @Override - public boolean getBoolean(int columnIndex) throws SQLException{ - int dataType = getJavaType(types[columnIndex - 1]); - if (dataType == Types.TINYINT || - dataType == Types.SMALLINT || - dataType == Types.INTEGER || - dataType == Types.BIGINT) - { - if (getLong(columnIndex) == 0L) { - return false; - } else { + public boolean getBoolean(int columnIndex) throws SQLException { + switch (getJavaType(types[columnIndex - 1])) { + case Types.TINYINT: + case Types.SMALLINT: + case Types.INTEGER: + if (getInt(columnIndex) == 0) { + return false; + } return true; - } - } else if (dataType == Types.REAL || - dataType == Types.FLOAT || - dataType == Types.DOUBLE) - { - if (getDouble(columnIndex) == 0.0) { - return false; - } else { + case Types.BIGINT: + if (getLong(columnIndex) == 0L) { + return false; + } return true; - } - } else if (dataType == Types.DECIMAL || - dataType == Types.NUMERIC) - { - if (getBigDecimal(columnIndex).compareTo(new BigDecimal(0.0)) == 0) { - return false; - } else { + case Types.DOUBLE: + case Types.FLOAT: + case Types.REAL: + if (getDouble(columnIndex) ==
MonetDB: default - Merge with Jun2016 branch.
Changeset: 10eafa26f1d2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=10eafa26f1d2 Modified Files: geom/monetdb5/geom.c sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.err sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.stable.out sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.sql sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.stable.err sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.stable.out sql/test/Users/Tests/copyinto.stable.err sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out sql/test/Users/Tests/grantMonetdb.stable.err Branch: default Log Message: Merge with Jun2016 branch. diffs (216 lines): diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c --- a/geom/monetdb5/geom.c +++ b/geom/monetdb5/geom.c @@ -2858,13 +2858,14 @@ wkbGetCoordinate(dbl *out, wkb **geom, i } gcs = GEOSGeom_getCoordSeq(geosGeometry); + + if (gcs == NULL) { + GEOSGeom_destroy(geosGeometry); + throw(MAL, "geom.wkbGetCoordinate", "GEOSGeom_getCoordSeq failed"); + } + + GEOSCoordSeq_getOrdinate(gcs, 0, *dimNum, out); GEOSGeom_destroy(geosGeometry); - - if (gcs == NULL) { - throw(MAL, "geom.wkbGetCoordinate", "GEOSGeom_getCoordSeq failed"); - } - - GEOSCoordSeq_getOrdinate(gcs, 0, *dimNum, out); /* gcs shouldn't be freed, it's internal to the GEOSGeom */ return MAL_SUCCEED; diff --git a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py --- a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py +++ b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py @@ -88,9 +88,16 @@ try: c.execute(rtable) c.execute(atable) -c.execute("select * from " + shardtable + workers[0]['tpf'] ) -print str(c.fetchall()) +try: +c.execute("select * from " + shardtable + workers[0]['tpf'] ) +except monetdb.sql.OperationalError as e: +print(e) +else: +print(str(c.fetchall())) finally: +masterproc.communicate() +for worker in workers: +workerrec['proc'].communicate() if os.path.exists(tmpdir): shutil.rmtree(tmpdir) diff --git a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.err b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.err --- a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.err +++ b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.err @@ -66,21 +66,8 @@ stderr of test 'schemadiff.Bug-3778` in # cmdline opt mapi_port = 48845 # cmdline opt gdk_dbpath = /tmp/tmpou_du0/worker_0/worker_0 # cmdline opt gdk_debug = 536870922 -Traceback (most recent call last): - File "schemadiff.Bug-3778.SQL.py", line 85, in -c.execute("select * from " + shardtable + workers[0]['tpf'] ) - File "/home/niels/scratch/monetdb/Linux-x86_64/lib/python2.7/site-packages/monetdb/sql/cursors.py", line 158, in execute -block = self.connection.execute(query) - File "/home/niels/scratch/monetdb/Linux-x86_64/lib/python2.7/site-packages/monetdb/sql/connections.py", line 127, in execute -return self.command('s' + query + '\n;') - File "/home/niels/scratch/monetdb/Linux-x86_64/lib/python2.7/site-packages/monetdb/sql/connections.py", line 132, in command -return self.mapi.cmd(command) - File "/home/niels/scratch/monetdb/Linux-x86_64/lib/python2.7/site-packages/monetdb/mapi.py", line 178, in cmd -raise OperationalError(response[1:]) -monetdb.exceptions.OperationalError: (mapi:monetdb://monetdb@localhost/worker_0) 'user.l1' undefined in: rmt5_X_1_bat_oid_int:bat[:oid,:int] := user.l1(); -!failed to open file: No such file or directory (/tmp/tmpou_du0/worker_0/worker_0/.uplog)!failed to open file: No such file or directory (/tmp/tmpou_du0/master/master/.uplog) -# 12:53:25 > -# 12:53:25 > "Done." -# 12:53:25 > +# 11:56:09 > +# 11:56:09 > "Done." +# 11:56:09 > diff --git a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out --- a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out +++ b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out @@ -27,6 +27,7 @@ Ready. # 15:29:05 > "/usr/bin/python2" "schemadiff.Bug-3778.SQL.py" "schemadiff.Bug-3778" # 15:29:05 > +(mapi:monetdb://monetdb@localhost/worker_0) 'user.l1' undefined in: rmt5_X_1_bat_int:bat[:int] := user.l1(); # 15:29:06 > # 15:29:06 > "Done." diff --git a/sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.stable.err b/sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.stable.err ---