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

Reply via email to