Changeset: a0a6d4895353 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a0a6d4895353
Added Files:
        
sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.32bit
        sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.sql
        sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.stable.err
        sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.stable.out
        sql/test/pg_regress/Tests/oid.stable.err.32bit
        sql/test/pg_regress/Tests/oid.stable.err.64bit.int128
        sql/test/pg_regress/Tests/oid.stable.err.64bit.oid32
Removed Files:
        sql/test/pg_regress/Tests/oid.stable.err.int128
        sql/test/pg_regress/Tests/oid.stable.err.oid32
Modified Files:
        .hgtags
        MonetDB.spec
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-Geom-Module.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-Geom-Module.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/mapiclient/eventparser.c
        clients/mapiclient/mclient.c
        clients/mapilib/mapi.c
        clients/mapilib/mapi.rc
        clients/odbc/driver/SQLBrowseConnect.c
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        clients/python2/setup.py
        clients/python3/setup.py
        configure.ag
        debian/changelog
        gdk/ChangeLog-Archive
        gdk/ChangeLog.Jul2015
        gdk/gdk_atoms.c
        gdk/gdk_bbp.c
        gdk/gdk_join.c
        gdk/gdk_logger.c
        gdk/gdk_select.c
        gdk/gdk_storage.c
        gdk/gdk_utils.c
        gdk/libbat.rc
        geom/BugTracker/Tests/X_crash.SF-1971632.stable.err
        geom/monetdb5/geom.c
        geom/monetdb5/geomBulk.c
        geom/sql/functions/Tests/ST_LineFromText.stable.err
        geom/sql/functions/Tests/ST_MLineFromText.stable.err
        geom/sql/functions/Tests/ST_MPointFromText.stable.err
        geom/sql/functions/Tests/ST_MPolygonFromText.stable.err
        geom/sql/functions/Tests/ST_PointFromText.stable.err
        geom/sql/functions/Tests/ST_PolygonFromText.stable.err
        geom/sql/functions/Tests/XYZ.stable.err
        java/src/main/java/nl/cwi/monetdb/util/SQLExporter.java
        libversions
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_function.c
        monetdb5/modules/mal/remote.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/tools/libmonetdb5.rc
        sql/server/rel_optimizer.c
        sql/storage/store.c
        sql/test/BugTracker-2016/Tests/All
        sql/test/pg_regress/Tests/oid.stable.err
        sql/test/remote/Tests/ssbm.SQL.py
        testing/Mtest.py.in
        vertoo.data
Branch: pythonudf
Log Message:

Merge with Jun2016.


diffs (truncated from 10458 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -620,3 +620,5 @@ feec2e4020548d3137a0e946b7a4e29db5b9e14a
 ee2d8c8d65c35ed022ca0785f30fcf4b051a542e Jun2016_root
 ee54e50fccb17db48bbfd983882e8491a869131c Jul2015_17
 ee54e50fccb17db48bbfd983882e8491a869131c Jul2015_SP3_release
+51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 Jul2015_19
+51322027cb7e7c27f03fc7c3cab4db4fd4cd4446 Jul2015_SP4_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -104,7 +104,7 @@ Vendor: MonetDB BV <i...@monetdb.org>
 Group: Applications/Databases
 License: MPLv2.0
 URL: http://www.monetdb.org/
-Source: 
http://dev.monetdb.org/downloads/sources/Jul2015-SP3/%{name}-%{version}.tar.bz2
+Source: 
http://dev.monetdb.org/downloads/sources/Jul2015-SP4/%{name}-%{version}.tar.bz2
 
 # we need systemd for the _unitdir macro to exist
 BuildRequires: systemd
@@ -986,6 +986,20 @@ rm -f %{buildroot}%{_bindir}/Maddlog
 %postun -p /sbin/ldconfig
 
 %changelog
+* Tue Apr 05 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.19-20160405
+- Rebuilt.
+- BZ#3905: MonetDB doesn't handle ANY/SOME/ALL operator correctly
+- BZ#3929: R aggregate not recognized when using 3 or more parameters
+- BZ#3965: Not possible to quote/escape single quote character in the
+  name of the file to load.
+- BZ#3968: Missing double use of column names
+
+* Mon Apr  4 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.19-20160405
+- gdk: Fixed a bug that caused various instances where old data returned or
+  where crashes occurred.  The problem was that internally data wasn't
+  always marked dirty when it was being changed, causing later processing
+  to not deal with the changed data correctly.
+
 * Thu Mar 24 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.17-20160324
 - Rebuilt.
 - BZ#2972: SQL URL functionality contains errors
diff --git a/clients/mapiclient/eventparser.c b/clients/mapiclient/eventparser.c
--- a/clients/mapiclient/eventparser.c
+++ b/clients/mapiclient/eventparser.c
@@ -214,8 +214,8 @@ keyvalueparser(char *txt, EventRecord *e
                memset(&stm, 0, sizeof(struct tm));
                c = strptime(val + 1, "%H:%M:%S", &stm);
                ev->clkticks = (((lng) stm.tm_hour * 60 + stm.tm_min) * 60 + 
stm.tm_sec) * 1000000;
-               c=  strchr(val,(int)'.');
-               if (*c == '.') {
+               c=  strchr(val,'.');
+               if (c != NULL) {
                        lng usec;
                        /* microseconds */
                        usec = strtoll(c + 1, NULL, 10);
@@ -260,21 +260,23 @@ keyvalueparser(char *txt, EventRecord *e
                        }
                        c= strstr(key,"\\\":str");
                        if(c) *c = 0;
-                       c= strchr(key,(int)'(');
-                       while(*c && *c != '"') c++;
-                       if( *c == '"') c++;
-                       currentquery = strdup(stripQuotes(c));
+                       c= strchr(key,'(');
+                       if (c) {
+                               while(*c && *c != '"') c++;
+                               if( *c == '"') c++;
+                               currentquery = stripQuotes(c);
+                       }
                }
                s= strstr(val," := ");
                if( s) {
                        s += 4;
-                       c= strchr(s,(int)'(');
+                       c= strchr(s,'(');
                        if( c){
                                *c =0;
                                ev->fcn= strdup(s); 
                        }
                } else{
-                       c= strchr(val,(int)'(');
+                       c= strchr(val,'(');
                        if( c){
                                *c =0;
                                ev->fcn= strdup(val); 
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -24,7 +24,6 @@
 #include "mapi.h"
 #include <unistd.h>
 #include <stdlib.h>
-#include <sys/stat.h>
 #include <errno.h>
 #ifdef HAVE_STRING_H
 #include <string.h>
@@ -1987,7 +1986,7 @@ static int
 doFileBulk(Mapi mid, stream *fp)
 {
        char *buf = NULL;
-       size_t length;
+       ssize_t length;
        MapiHdl hdl = mapi_get_active(mid);
        MapiMsg rc = MOK;
        size_t bufsize = 0;
@@ -2012,9 +2011,10 @@ doFileBulk(Mapi mid, stream *fp)
                        if (hdl == NULL)
                                break;  /* nothing more to do */
                        buf[0] = 0;
+                       length = 0; /* handle error like EOF */
                } else {
                        buf[length] = 0;
-                       if (strlen(buf) < length) {
+                       if (strlen(buf) < (size_t) length) {
                                fprintf(stderr, "NULL byte in input\n");
                                errseen = 1;
                                break;
@@ -2027,7 +2027,7 @@ doFileBulk(Mapi mid, stream *fp)
                }
 
                assert(hdl != NULL);
-               mapi_query_part(hdl, buf, length);
+               mapi_query_part(hdl, buf, (size_t) length);
                CHECK_RESULT(mid, hdl, continue, buf);
 
                /* if not at EOF, make sure there is a newline in the
@@ -2939,6 +2939,7 @@ main(int argc, char **argv)
        char *command = NULL;
        char *dbname = NULL;
        char *output = NULL;    /* output format as string */
+       FILE *fp = NULL;
        int trace = 0;
        int dump = 0;
        int useinserts = 0;
@@ -2950,7 +2951,6 @@ main(int argc, char **argv)
        int option_index = 0;
        int settz = 1;
        int autocommit = 1;     /* autocommit mode default on */
-       struct stat statb;
        char user_set_as_flag = 0;
        static struct option long_options[] = {
                {"autocommit", 0, 0, 'a'},
@@ -3047,13 +3047,16 @@ main(int argc, char **argv)
                        break;
 #ifdef HAVE_ICONV
                case 'E':
+                       assert(optarg);
                        encoding = optarg;
                        break;
 #endif
                case 'L':
+                       assert(optarg);
                        logfile = strdup(optarg);
                        break;
                case 'l':
+                       assert(optarg);
                        /* accept unambiguous prefix of language */
                        if (strcmp(optarg, "sql") == 0 ||
                            strcmp(optarg, "sq") == 0 ||
@@ -3076,15 +3079,18 @@ main(int argc, char **argv)
                        }
                        break;
                case 'n':
+                       assert(optarg);
                        nullstring = optarg;
                        break;
                case 'u':
+                       assert(optarg);
                        if (user)
                                free(user);
                        user = strdup(optarg);
                        user_set_as_flag = 1;
                        break;
                case 'f':
+                       assert(optarg);
                        if (output != NULL)
                                free(output);
                        output = strdup(optarg);        /* output format */
@@ -3106,9 +3112,11 @@ main(int argc, char **argv)
                        }
                        break;
                case 'h':
+                       assert(optarg);
                        host = optarg;
                        break;
                case 'p':
+                       assert(optarg);
                        port = atoi(optarg);
                        break;
                case 'D':
@@ -3118,20 +3126,25 @@ main(int argc, char **argv)
                        useinserts = 1;
                        break;
                case 'd':
+                       assert(optarg);
                        dbname = optarg;
                        break;
                case 's':
+                       assert(optarg);
                        command = optarg;
                        break;
                case 'w':
+                       assert(optarg);
                        pagewidth = atoi(optarg);
                        pagewidthset = pagewidth != 0;
                        break;
                case 'r':
+                       assert(optarg);
                        rowsperpage = atoi(optarg);
                        break;
 #ifdef HAVE_POPEN
                case '|':
+                       assert(optarg);
                        pager = optarg;
                        break;
 #endif
@@ -3211,7 +3224,7 @@ main(int argc, char **argv)
        has_fileargs = optind != argc;
 
        if (dbname == NULL && has_fileargs &&
-           (stat(argv[optind], &statb) != 0 || !S_ISREG(statb.st_mode))) {
+           (fp = fopen(argv[optind], "r")) == NULL) {
                dbname = argv[optind];
                optind++;
                has_fileargs = optind != argc;
@@ -3353,10 +3366,10 @@ main(int argc, char **argv)
        if (optind < argc) {
                /* execute from file(s) */
                while (optind < argc) {
-                       FILE *fp;
                        stream *s;
 
-                       if ((fp = fopen(argv[optind], "r")) == NULL) {
+                       if (fp == NULL &&
+                           (fp = fopen(argv[optind], "r")) == NULL) {
                                fprintf(stderr, "%s: cannot open\n", 
argv[optind]);
                                c |= 1;
                        } else if ((s = file_rastream(fp, argv[optind])) == 
NULL) {
@@ -3366,6 +3379,7 @@ main(int argc, char **argv)
                                c |= doFile(mid, s, useinserts, interactive, 
save_history);
                                close_stream(s);
                        }
+                       fp = NULL;
                        optind++;
                }
        } else if (command && mapi_get_active(mid))
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -2635,7 +2635,7 @@ mapi_reconnect(Mapi mid)
                hash = strchr(serverhash, ':');
                if (hash) {
                        *hash = '\0';
-                       rest = hash + 1;
+                       /* rest = hash + 1; -- rest of string ignored */
                }
                hash = NULL;
                /* hash password, if not already */
diff --git a/clients/odbc/driver/SQLBrowseConnect.c 
b/clients/odbc/driver/SQLBrowseConnect.c
--- a/clients/odbc/driver/SQLBrowseConnect.c
+++ b/clients/odbc/driver/SQLBrowseConnect.c
@@ -164,8 +164,11 @@ MNDBBrowseConnect(ODBCDbc *dbc,
                        /* if not set from InConnectionString argument
                         * or environment, look in profile */
                        n = SQLGetPrivateProfileString(dsn, "logfile", "", buf, 
sizeof(buf), "odbc.ini");
-                       if (n > 0 && buf[0])
+                       if (n > 0 && buf[0]) {
+                               if (ODBCdebug)
+                                       free((void *) ODBCdebug); /* discard 
const */
                                ODBCdebug = strdup(buf);
+                       }
                }
 #endif
        }
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,23 @@
+monetdb (11.21.19) unstable; urgency=low
+
+  * Rebuilt.
+  * BZ#3905: MonetDB doesn't handle ANY/SOME/ALL operator correctly
+  * BZ#3929: R aggregate not recognized when using 3 or more parameters
+  * BZ#3965: Not possible to quote/escape single quote character in the
+    name of the file to load.
+  * BZ#3968: Missing double use of column names
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Tue, 05 Apr 2016 11:29:47 +0200
+
+monetdb (11.21.19) unstable; urgency=low
+
+  * gdk: Fixed a bug that caused various instances where old data returned or
+    where crashes occurred.  The problem was that internally data wasn't
+    always marked dirty when it was being changed, causing later processing
+    to not deal with the changed data correctly.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Mon, 4 Apr 2016 11:29:47 +0200
+
 monetdb (11.21.17) unstable; urgency=low
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to