Changeset: 352aa7e7df18 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=352aa7e7df18 Added Files: sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-distinct.Bug-6411.stable.err sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-distinct.Bug-6411.stable.out sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-not-in.Bug-6416.sql sql/test/bugs/Tests/in.sql sql/test/bugs/Tests/in.stable.err sql/test/bugs/Tests/in.stable.out Removed Files: ChangeLog.Dec2016 buildtools/ChangeLog.Dec2016 clients/ChangeLog.Dec2016 clients/mapilib/ChangeLog.Dec2016 common/stream/ChangeLog.Dec2016 gdk/ChangeLog.Dec2016 geom/ChangeLog.Dec2016 monetdb5/ChangeLog.Dec2016 sql/ChangeLog.Dec2016 testing/ChangeLog.Dec2016 tools/merovingian/ChangeLog.Dec2016 Modified Files: .hgtags MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/SQLGetInfo.c clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc common/stream/stream.c configure.ag debian/changelog gdk/gdk_atoms.c gdk/gdk_private.h gdk/gdk_utils.c gdk/libbat.rc libversions monetdb5/mal/mal.c monetdb5/mal/mal_client.c monetdb5/mal/mal_function.c monetdb5/mal/mal_import.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_linker.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_namespace.c monetdb5/mal/mal_sabaoth.c monetdb5/mal/mal_session.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mdb.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_remap.c monetdb5/optimizer/opt_remoteQueries.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_statement.c sql/backends/monet5/vaults/bam/Tests/query2.1.stable.out sql/backends/monet5/vaults/bam/Tests/query2.10.stable.out sql/backends/monet5/vaults/bam/Tests/query2.2.stable.out sql/backends/monet5/vaults/bam/Tests/query2.2.stable.out.int128 sql/backends/monet5/vaults/bam/Tests/query2.6.sql sql/backends/monet5/vaults/bam/Tests/query2.6.stable.out sql/backends/monet5/vaults/netcdf/netcdf.c sql/include/sql_mem.h sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_select.c sql/server/sql_semantic.c sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out sql/test/BugTracker-2012/Tests/null_except_null.Bug-3040.stable.out sql/test/BugTracker-2015/Tests/and_or_in.Bug-3655.stable.out sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/BugTracker-2017/Tests/All sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out.int128 sql/test/Tests/str-pad.sql sql/test/Tests/str-pad.stable.out sql/test/bugs/Tests/All sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out sql/test/bugs/Tests/union_all-bug-sf-941788.stable.out sql/test/mergetables/Tests/part-elim.stable.out vertoo.data Branch: mosaic Log Message:
Merger with default diffs (truncated from 4324 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -680,3 +680,5 @@ 1534ee14ff84fe5629becc6a5b5e2990b694d5a3 269ab71a82190d6024b3a920837089d657893493 Jul2017_5 1534ee14ff84fe5629becc6a5b5e2990b694d5a3 Jul2017_SP1_release 269ab71a82190d6024b3a920837089d657893493 Jul2017_SP1_release +fce449d5af88de715fde36624815a56ef34c56bb Jul2017_7 +fce449d5af88de715fde36624815a56ef34c56bb Jul2017_SP2_release diff --git a/ChangeLog.Dec2016 b/ChangeLog.Dec2016 deleted file mode 100644 --- a/ChangeLog.Dec2016 +++ /dev/null @@ -1,3 +0,0 @@ -# ChangeLog file for devel -# This file is updated with Maddlog - diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -132,7 +132,7 @@ Vendor: MonetDB BV <i...@monetdb.org> Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Jul2017-SP1/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Jul2017-SP2/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist # we need checkpolicy and selinux-policy-devel for the SELinux policy @@ -1041,6 +1041,47 @@ done %postun -p /sbin/ldconfig %changelog +* Wed Oct 11 2017 Panagiotis Koutsourakis <kutsu...@monetdbsolutions.com> - 11.27.7-20171011 +- Rebuilt. +- BZ#4017: server crashes when executing particular loopback query in + embedded python +- BZ#6239: Incorrect profiling +- BZ#6261: New handling of delta tables hurts badly reusage of bats +- BZ#6287: should the CORR function return some numeric type that allows + fractions? +- BZ#6321: Two-column aggregation on join result extremely slow. +- BZ#6343: MERGE TABLE issue: unable to find +- BZ#6348: Interference of procedure/table name +- BZ#6350: Carriage return and form feed in TEXT fields are returned as + 'r' and 'f' in jdbcclient and ResultSets +- BZ#6352: Scope resolution problem (sqlsmith) +- BZ#6353: implicit NULL value not propagated in distributed/remote query +- BZ#6374: Wrong answer from merge table after content changes +- BZ#6379: Table UDF: SEGV raised when invoking a non existing function +- BZ#6380: unable to create new databases from clean installation +- BZ#6381: Parser misses error messages in conditional +- BZ#6382: Can't set JSON fields via PreparedStatement +- BZ#6384: crash when setting a wrong listenaddr +- BZ#6385: AGGREGATE UDFs with more than 2 parameters incorrectly + processed +- BZ#6386: Unexpected error from server for query with long floats +- BZ#6387: Performance degradation on multi column sort +- BZ#6388: JDBC Connection via user voc produces errors when fetching + certain meta data information +- BZ#6392: SELECT EXISTS (empty table) returns 'true' +- BZ#6395: BAT leak of scalar result sets +- BZ#6397: Isolation of generating functions not correct +- BZ#6398: Null Matches in outer join are not supported +- BZ#6399: UDF crashes when subquery and scalar values are passed + as pameters +- BZ#6400: getCharacterStream() currently not supported +- BZ#6404: COPY INTO crashes if table has primary key or foreign key + constraint +- BZ#6409: sqllogictest crash on aggregation query with NOT IN clause + in HAVING clause +- BZ#6410: Sqlitelogictest crash on aggregation query with IN clause +- BZ#6411: Sqlitelogictest crash in aggregation query + * Thu Jul 27 2017 Sjoerd Mullender <sjo...@acm.org> - 11.27.5-20170727 - Rebuilt. - BZ#6375: MAL profiler truncates JSON objects larger than 8192 characters diff --git a/buildtools/ChangeLog.Dec2016 b/buildtools/ChangeLog.Dec2016 deleted file mode 100644 --- a/buildtools/ChangeLog.Dec2016 +++ /dev/null @@ -1,3 +0,0 @@ -# ChangeLog file for buildtools -# This file is updated with Maddlog - diff --git a/clients/ChangeLog.Dec2016 b/clients/ChangeLog.Dec2016 deleted file mode 100644 --- a/clients/ChangeLog.Dec2016 +++ /dev/null @@ -1,7 +0,0 @@ -# ChangeLog file for clients -# This file is updated with Maddlog - -* Mon Jun 12 2017 Sjoerd Mullender <sjo...@acm.org> -- A bug was fixed in the implementation of the functions SQLTables in - the ODBC driver where not enough memory was allocated. - diff --git a/clients/mapilib/ChangeLog.Dec2016 b/clients/mapilib/ChangeLog.Dec2016 deleted file mode 100644 --- a/clients/mapilib/ChangeLog.Dec2016 +++ /dev/null @@ -1,3 +0,0 @@ -# ChangeLog file for mapilib -# This file is updated with Maddlog - diff --git a/clients/odbc/driver/SQLGetInfo.c b/clients/odbc/driver/SQLGetInfo.c --- a/clients/odbc/driver/SQLGetInfo.c +++ b/clients/odbc/driver/SQLGetInfo.c @@ -1145,10 +1145,14 @@ MNDBGetInfo(ODBCDbc *dbc, if (sValue) { copyString(sValue, strlen(sValue), InfoValuePtr, BufferLength, StringLengthPtr, SQLSMALLINT, addDbcError, dbc, return SQL_ERROR); } else if (InfoValuePtr) { - if (len == sizeof(SQLULEN)) + if (len == sizeof(SQLUINTEGER)) + *(SQLUINTEGER *) InfoValuePtr = (SQLUINTEGER) nValue; +#ifndef SQLULEN + /* if SQLULEN is defined, it's defined as SQLUINTEGER + * which we've handled */ + else if (len == sizeof(SQLULEN)) *(SQLULEN *) InfoValuePtr = (SQLULEN) nValue; - else if (len == sizeof(SQLUINTEGER)) - *(SQLUINTEGER *) InfoValuePtr = (SQLUINTEGER) nValue; +#endif else if (len == sizeof(SQLUSMALLINT)) *(SQLUSMALLINT *) InfoValuePtr = (SQLUSMALLINT) nValue; if (StringLengthPtr) diff --git a/common/stream/ChangeLog.Dec2016 b/common/stream/ChangeLog.Dec2016 deleted file mode 100644 --- a/common/stream/ChangeLog.Dec2016 +++ /dev/null @@ -1,3 +0,0 @@ -# ChangeLog file for stream -# This file is updated with Maddlog - diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -142,19 +142,45 @@ #define normal_int_SWAP(s) ((int) _byteswap_ulong((unsigned long) (s))) #define long_long_SWAP(l) ((lng) _byteswap_uint64((unsigned __int64) (s))) #else -#define short_int_SWAP(s) ((short)(((0x00ff&(s))<<8) | ((0xff00&(s))>>8))) - -#define normal_int_SWAP(i) (((0x000000ff&(i))<<24) | ((0x0000ff00&(i))<<8) | \ - ((0x00ff0000&(i))>>8) | ((0xff000000&(i))>>24)) -#define long_long_SWAP(l) \ - ((((lng)normal_int_SWAP(l))<<32) |\ - (0xffffffff&normal_int_SWAP(l>>32))) +#define short_int_SWAP(s) \ + ((short) (((0x00ff & (unsigned short) (s)) << 8) | \ + ((0xff00 & (unsigned short) (s)) >> 8))) + +#define normal_int_SWAP(i) \ + ((int) (((((unsigned) 0xff << 0) & (unsigned) (i)) << 24) | \ + ((((unsigned) 0xff << 8) & (unsigned) (i)) << 8) | \ + ((((unsigned) 0xff << 16) & (unsigned) (i)) >> 8) | \ + ((((unsigned) 0xff << 24) & (unsigned) (i)) >> 24))) + +#define long_long_SWAP(l) \ + ((lng) (((((ulng) 0xff << 0) & (ulng) (l)) << 56) | \ + ((((ulng) 0xff << 8) & (ulng) (l)) << 40) | \ + ((((ulng) 0xff << 16) & (ulng) (l)) << 24) | \ + ((((ulng) 0xff << 24) & (ulng) (l)) << 8) | \ + ((((ulng) 0xff << 32) & (ulng) (l)) >> 8) | \ + ((((ulng) 0xff << 40) & (ulng) (l)) >> 24) | \ + ((((ulng) 0xff << 48) & (ulng) (l)) >> 40) | \ + ((((ulng) 0xff << 56) & (ulng) (l)) >> 56))) #endif #ifdef HAVE_HGE -#define huge_int_SWAP(h) \ - ((((hge)long_long_SWAP(h))<<64) |\ - (0xffffffffffffffff&long_long_SWAP(h>>64))) +#define huge_int_SWAP(h) \ + ((hge) (((((uhge) 0xff << 0) & (uhge) (h)) << 120) | \ + ((((uhge) 0xff << 8) & (uhge) (h)) << 104) | \ + ((((uhge) 0xff << 16) & (uhge) (h)) << 88) | \ + ((((uhge) 0xff << 24) & (uhge) (h)) << 72) | \ + ((((uhge) 0xff << 32) & (uhge) (h)) << 56) | \ + ((((uhge) 0xff << 40) & (uhge) (h)) << 40) | \ + ((((uhge) 0xff << 48) & (uhge) (h)) << 24) | \ + ((((uhge) 0xff << 56) & (uhge) (h)) << 8) | \ + ((((uhge) 0xff << 64) & (uhge) (h)) >> 8) | \ + ((((uhge) 0xff << 72) & (uhge) (h)) >> 24) | \ + ((((uhge) 0xff << 80) & (uhge) (h)) >> 40) | \ + ((((uhge) 0xff << 88) & (uhge) (h)) >> 56) | \ + ((((uhge) 0xff << 96) & (uhge) (h)) >> 72) | \ + ((((uhge) 0xff << 104) & (uhge) (h)) >> 88) | \ + ((((uhge) 0xff << 112) & (uhge) (h)) >> 104) | \ + ((((uhge) 0xff << 120) & (uhge) (h)) >> 120))) #endif @@ -935,70 +961,96 @@ open_stream(const char *filename, const /* streams working on a gzip-compressed disk file */ #ifdef HAVE_LIBZ +#if ZLIB_VERNUM < 0x1290 +typedef size_t z_size_t; + +/* simplistic version for ancient systems (CentOS 6, Ubuntu Trusty) */ +static z_size_t +gzfread(void *buf, z_size_t size, z_size_t nitems, gzFile file) +{ + unsigned sz = nitems * size > (size_t) 1 << 30 ? 1 << 30 : (unsigned) (nitems * size); + int len; + + len = gzread(file, buf, sz); + if (len == -1) + return 0; + return (z_size_t) len / size; +} + +static z_size_t +gzfwrite(const void *buf, z_size_t size, z_size_t nitems, gzFile file) +{ + z_size_t sz = nitems * size; + + while (sz > 0) { + unsigned len = sz > ((z_size_t) 1 << 30) ? 1 << 30 : (unsigned) sz; + int wlen; + + wlen = gzwrite(file, buf, len); + if (wlen <= 0) + return 0; + buf = (const void *) ((const char *) buf + wlen); + sz -= (z_size_t) wlen; + } + return nitems; +} +#endif + static ssize_t stream_gzread(stream *s, void *buf, size_t elmsize, size_t cnt) { gzFile fp = (gzFile) s->stream_data.p; - int size = (int) (elmsize * cnt); - int err = 0; + z_size_t size; if (fp == NULL) { s->errnr = MNSTR_READ_ERROR; return -1; } - if (size && !gzeof(fp)) { - size = gzread(fp, buf, size); - if (gzerror(fp, &err) != NULL && err < 0) { - s->errnr = MNSTR_READ_ERROR; - return -1; - } + if (elmsize == 0 || cnt == 0) + return 0; + + size = gzfread(buf, elmsize, cnt, fp); #ifdef WIN32 - /* on Windows when in text mode, convert \r\n line - * endings to \n */ - if (s->type == ST_ASCII) { - char *p1, *p2, *pe; - - p1 = buf; - pe = p1 + size; - while (p1 < pe && *p1 != '\r') - p1++; - p2 = p1; - while (p1 < pe) { - if (*p1 == '\r' && p1[1] == '\n') - size--; - else - *p2++ = *p1; - p1++; - } + /* on Windows when in text mode, convert \r\n line + * endings to \n */ + if (s->type == ST_ASCII) { + char *p1, *p2, *pe; + + p1 = buf; + pe = p1 + size; + while (p1 < pe && *p1 != '\r') + p1++; + p2 = p1; + while (p1 < pe) { + if (*p1 == '\r' && p1[1] == '\n') + size--; + else + *p2++ = *p1; + p1++; } + } #endif - return (ssize_t) (size / elmsize); - } - return 0; + + return size == 0 ? -1 : (ssize_t) size; } static ssize_t _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list