Changeset: cf07f8627882 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf07f8627882 Added Files: sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.py sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.stable.err sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.stable.out sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py Modified Files: .hgtags MonetDB.spec clients/Tests/exports.stable.out clients/odbc/driver/ODBCUtil.c debian/changelog debian/fix-deb.sh gdk/gdk.h gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_group.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_unique.c gdk/gdk_utils.c libversions monetdb5/mal/mal_import.c monetdb5/modules/mal/orderidx.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/wlc.c monetdb5/modules/mal/wlc.h sql/ChangeLog-Archive sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/wlr.c sql/jdbc/tests/JdbcClient_create_tables.sql sql/jdbc/tests/JdbcClient_inserts_selects.sql sql/jdbc/tests/Tests/Test_JdbcClient.stable.out sql/server/sql_mvc.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugDay_2005-10-06_2.9.3/Tests/not_null.SF-933194.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/type_dump_test.SF-989257-src.sql sql/test/BugDay_2005-10-06_2.9.3/Tests/type_dump_test.SF-989257.stable.out sql/test/BugTracker-2010/Tests/incomplete-utf8-sequence.Bug-2575.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out sql/test/BugTracker-2019/Tests/All sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/subquery/Tests/correlated.sql sql/test/testdb-upgrade-hge/Tests/dump.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/dump.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 testing/exportutils.py Branch: hot-snapshot Log Message:
Merge branch 'default' into hot-snapshot diffs (truncated from 41042 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -730,3 +730,9 @@ 2366418b3d88b268117a6f981638c4da686497aa 02147798590c5f9d7c837bec07277313c1fa29cc Apr2019_7 2366418b3d88b268117a6f981638c4da686497aa Apr2019_SP1_release 02147798590c5f9d7c837bec07277313c1fa29cc Apr2019_SP1_release +a6674f7048a13fe7dc53995a4f723d33a34bce23 Apr2019_9 +02147798590c5f9d7c837bec07277313c1fa29cc Apr2019_SP1_release +a6674f7048a13fe7dc53995a4f723d33a34bce23 Apr2019_SP1_release +6566d90185b83ed95129db9ea68baf52f2de5cc7 Apr2019_11 +a6674f7048a13fe7dc53995a4f723d33a34bce23 Apr2019_SP1_release +6566d90185b83ed95129db9ea68baf52f2de5cc7 Apr2019_SP1_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1061,6 +1061,26 @@ done %postun -p /sbin/ldconfig %changelog +* Fri Aug 30 2019 Sjoerd Mullender <sjo...@acm.org> - 11.33.11-20190830 +- Rebuilt. +- BZ#6749: mserver5 restart aborts/segfaults after dropping column + with constraint + +* Tue Aug 20 2019 Sjoerd Mullender <sjo...@acm.org> - 11.33.9-20190820 +- Rebuilt. +- BZ#6571: Jdbc connection hangs +- BZ#6693: mix of long and short queries make JDBC-driver hang +- BZ#6741: report no such table when execute “alter table tb1 rename + to tb2” according to using mapi +- BZ#6744: CREATE SEQUENCE seq; fails +- BZ#6748: MonetDB "forgets" columns after ALTER TABLE statements +- BZ#6751: ODBC driver(11.33.3) Seg Faults when "fn ucase" is used in SQL + +* Tue Aug 20 2019 Sjoerd Mullender <sjo...@acm.org> - 11.33.9-20190820 +- sql: Many fixes for using the server in a highly concurrent setting with + many clients doing read-only queries mixed with clients doing updating + queries. + * Wed Aug 07 2019 Panagiotis Koutsourakis <kutsu...@monetdbsolutions.com> - 11.33.7-20190807 - Rebuilt. 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 @@ -107,6 +107,7 @@ dbl BATcalcvariance_sample(dbl *avgp, BA BAT *BATcalcxor(BAT *b1, BAT *b2, BAT *s); BAT *BATcalcxorcst(BAT *b, const ValRecord *v, BAT *s); bool BATcandcontains(BAT *s, oid o); +bool BATcheckorderidx(BAT *b); gdk_return BATclear(BAT *b, bool force); void BATcommit(BAT *b); BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, role_t role); @@ -169,6 +170,7 @@ void BATrmprop(BAT *b, enum prop_t idx); gdk_return BATroles(BAT *b, const char *tnme); BAT *BATsample(BAT *b, BUN n); BAT *BATsample_with_seed(BAT *b, BUN n, unsigned seed); +gdk_return BATsave(BAT *b) __attribute__((__warn_unused_result__)); BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, bool li, bool hi, bool anti); gdk_return BATsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); gdk_return BATsetaccess(BAT *b, restrict_t mode); @@ -1907,7 +1909,7 @@ str WLCinit(void); str WLCinitCmd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str WLCmaster(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str WLCquery(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -void WLCreadConfig(FILE *fd); +str WLCreadConfig(FILE *fd); void WLCreset(void); str WLCrollback(int clientid); str WLCrollbackCmd(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); diff --git a/clients/odbc/driver/ODBCUtil.c b/clients/odbc/driver/ODBCUtil.c --- a/clients/odbc/driver/ODBCUtil.c +++ b/clients/odbc/driver/ODBCUtil.c @@ -799,6 +799,7 @@ ODBCTranslateSQL(ODBCDbc *dbc, const SQL } } strcpy(q + pr, p); + length = pr + strlen(p); free(nquery); nquery = q; q += n; diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,32 @@ +monetdb (11.33.11) unstable; urgency=low + + * Rebuilt. + * BZ#6749: mserver5 restart aborts/segfaults after dropping column + with constraint + + -- Sjoerd Mullender <sjo...@acm.org> Fri, 30 Aug 2019 02:27:33 +0200 + +monetdb (11.33.9) unstable; urgency=low + + * Rebuilt. + * BZ#6571: Jdbc connection hangs + * BZ#6693: mix of long and short queries make JDBC-driver hang + * BZ#6741: report no such table when execute “alter table tb1 rename + to tb2” according to using mapi + * BZ#6744: CREATE SEQUENCE seq; fails + * BZ#6748: MonetDB "forgets" columns after ALTER TABLE statements + * BZ#6751: ODBC driver(11.33.3) Seg Faults when "fn ucase" is used in SQL + + -- Sjoerd Mullender <sjo...@acm.org> Tue, 20 Aug 2019 13:39:03 +0200 + +monetdb (11.33.9) unstable; urgency=low + + * sql: Many fixes for using the server in a highly concurrent setting with + many clients doing read-only queries mixed with clients doing updating + queries. + + -- Sjoerd Mullender <sjo...@acm.org> Tue, 20 Aug 2019 13:39:03 +0200 + monetdb (11.33.7) unstable; urgency=low * Rebuilt. diff --git a/debian/fix-deb.sh b/debian/fix-deb.sh --- a/debian/fix-deb.sh +++ b/debian/fix-deb.sh @@ -45,36 +45,15 @@ if [[ $ARCH == i?86 ]]; then fi case $SUITE in -trusty) - # fix control file because this system doesn't have liblas and a - # too old version of libgeos - sed -i -e 's/, libgeos-dev[^,]*//;s/, liblas-c-dev[^,]*//' \ - -e 's/libcfitsio-dev/libcfitsio3-dev/' \ - -e '/^Package:.*lidar/,/^$/d' \ - -e '/^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 - ;; -esac - -case $SUITE in -jessie | trusty) - # Xenial Xerus (and presumably newer releases) uses php-cli, - # all others still have php5-cli and don't have php*-sockets +jessie) + # Debian 8 still have php5-cli and doesn't have php*-sockets; + # newer ones use php-cli and do have php-sockets. sed -i 's/php-cli/php5-cli/;s/, *php-sockets//' debian/control ;; esac case $SUITE in -trusty) - # the trusty linker produces unresolved references to openSSL functions - sed -i '/openssl_LIBS/s/WIN32?//' clients/mapilib/Makefile.ag - sed -i '/^libmapi_la_LIBADD/s/$/ $(openssl_LIBS)/' clients/mapilib/Makefile.am clients/mapilib/Makefile.in - ;; -esac - -case $SUITE in -jessie | trusty) +jessie) # The Python 3 version is too old for py3integration. sed -i '/^Package: monetdb-python3/,/^$/d' debian/control sed -i 's/ python3-dev, python3-numpy,//' debian/control @@ -83,18 +62,6 @@ jessie | trusty) ;; esac -case $SUITE in -cosmic) - # libbam is not available as a shared object (also true for older - # version) and this means that on 18.10 the libmonetdb5-server-bam - # package cannot be compiled on amd64 - sed -i -e 's/libbam-dev, //' \ - -e '/^Package: libmonetdb5-server-bam/,/^$/d' debian/control - sed -i '/samtools=yes/s/yes/no/' debian/rules - rm debian/libmonetdb5-server-bam.install - ;; -esac - # debhelper compatibility 9 and later support multiarch by using # architecture-specific subdirectories in /usr/lib (and /lib); our # code base is set up for amd64 (x86_64), so change to whatever diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1369,6 +1369,8 @@ gdk_export gdk_return BATgroup(BAT **gro * @emph{th}) for variable-sized atoms. */ +gdk_export gdk_return BATsave(BAT *b) + __attribute__((__warn_unused_result__)); gdk_export void BATmsync(BAT *b); #define NOFARM (-1) /* indicate to GDKfilepath to create relative path */ @@ -1842,6 +1844,7 @@ gdk_export lng IMPSimprintsize(BAT *b); gdk_export gdk_return BATorderidx(BAT *b, bool stable); gdk_export gdk_return GDKmergeidx(BAT *b, BAT**a, int n_ar); +gdk_export bool BATcheckorderidx(BAT *b); /* * @- Multilevel Storage Modes diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -2358,6 +2358,7 @@ BATassertProps(BAT *b) const char *nme = BBP_physical(b->batCacheid); Hash *hs = NULL; BUN mask; + int len; if ((hs = GDKzalloc(sizeof(Hash))) == NULL) { fprintf(stderr, @@ -2365,8 +2366,14 @@ BATassertProps(BAT *b) "hash table\n"); goto abort_check; } - snprintf(hs->heap.filename, sizeof(hs->heap.filename), - "%s.hash%d", nme, THRgettid()); + len = snprintf(hs->heap.filename, sizeof(hs->heap.filename), "%s.hash%d", nme, THRgettid()); + if (len == -1 || len > (int) sizeof(hs->heap.filename)) { + GDKfree(hs); + fprintf(stderr, + "#BATassertProps: heap filename " + "is too large\n"); + goto abort_check; + } if (ATOMsize(b->ttype) == 1) mask = (BUN) 1 << 8; else if (ATOMsize(b->ttype) == 2) diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1148,6 +1148,7 @@ BATkeyed(BAT *b) const char *nme; BUN prb; BUN mask; + int len; GDKclrerr(); /* not interested in BAThash errors */ nme = BBP_physical(b->batCacheid); @@ -1162,9 +1163,10 @@ BATkeyed(BAT *b) if (mask < ((BUN) 1 << 16)) mask = (BUN) 1 << 16; } - if ((hs = GDKzalloc(sizeof(Hash))) == NULL || - snprintf(hs->heap.filename, sizeof(hs->heap.filename), - "%s.hash%d", nme, THRgettid()) < 0 || + if ((hs = GDKzalloc(sizeof(Hash))) == NULL) + goto doreturn; + len = snprintf(hs->heap.filename, sizeof(hs->heap.filename), "%s.hash%d", nme, THRgettid()); + if (len == -1 || len >= (int) sizeof(hs->heap.filename) || HASHnew(hs, b->ttype, BUNlast(b), mask, BUN_NONE) != GDK_SUCCEED) { GDKfree(hs); /* err on the side of caution: not keyed */ @@ -1764,12 +1766,12 @@ BATsort(BAT **sorted, BAT **order, BAT * MT_lock_set(&GDKhashLock(pb->batCacheid)); if (pb->torderidx == NULL) { pb->batDirtydesc = true; - pb->torderidx = m; if (ords != (oid *) m->base + ORDERIDXOFF) { memcpy((oid *) m->base + ORDERIDXOFF, ords, BATcount(pb) * sizeof(oid)); } + pb->torderidx = m; persistOIDX(pb); } else { HEAPfree(m, true); diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -1152,7 +1152,9 @@ BBPreadEntries(FILE *fp, unsigned bbpver options = buf + nread + 1; if ((s = strchr(headname, '~')) != NULL && s == headname) { - snprintf(logical, sizeof(logical), "tmp_%o", (unsigned) bid); + int len = snprintf(logical, sizeof(logical), "tmp_%o", (unsigned) bid); + if (len == -1 || len >= (int) sizeof(logical)) + GDKfatal("BBPinit: BBP logical filename directory is too large\n"); } else { if (s) *s = 0; diff --git a/gdk/gdk_group.c b/gdk/gdk_group.c --- a/gdk/gdk_group.c +++ b/gdk/gdk_group.c @@ -1035,7 +1035,7 @@ BATgroup_internal(BAT **groups, BAT **ex bool gc = g != NULL && (BATordered(g) || BATordered_rev(g)); const char *nme; BUN prb; - int bits; + int bits, len; BUN mask; oid grp; @@ -1063,11 +1063,15 @@ BATgroup_internal(BAT **groups, BAT **ex * which power of two */ bits = 8 * SIZEOF_OID - pop(mask - 1); if ((hs = GDKzalloc(sizeof(Hash))) == NULL || - (hs->heap.farmid = BBPselectfarm(TRANSIENT, b->ttype, hashheap)) < 0 || - snprintf(hs->heap.filename, sizeof(hs->heap.filename), _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list