Changeset: 2b675ba267c7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2b675ba267c7
Added Files:
        
sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.sql
        
sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.err
        
sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.out
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.sql
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.err
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.out
        sql/test/BugTracker-2017/Tests/with-alias-bug.6246.sql
        sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.err
        sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.out
        sql/test/orderidx/Tests/oidx_all_types.sql
        sql/test/orderidx/Tests/oidx_all_types.stable.err
        sql/test/orderidx/Tests/oidx_all_types.stable.out
        sql/test/orderidx/Tests/oidx_hge_type.sql
        sql/test/orderidx/Tests/oidx_hge_type.stable.err
        sql/test/orderidx/Tests/oidx_hge_type.stable.out.int128
Modified Files:
        .hgtags
        MonetDB.spec
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        debian/changelog
        gdk/gdk_calc.c
        gdk/gdk_heap.c
        gdk/gdk_logger.c
        gdk/gdk_utils.c
        geom/monetdb5/geom.c
        geom/monetdb5/geom.mal
        geom/monetdb5/geom_upgrade.c
        libversions
        monetdb5/extras/rapi/converters.c.h
        monetdb5/extras/rapi/rapi.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_dataflow.c
        monetdb5/mal/mal_errors.h
        monetdb5/mal/mal_exception.c
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_session.c
        monetdb5/modules/atoms/blob.c
        monetdb5/modules/atoms/blob.mal
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/url.c
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/kernel/status.c
        monetdb5/modules/mal/batExtensions.c
        monetdb5/modules/mal/bbp.c
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/inspect.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/oltp.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/querylog.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/sysmon.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/txtsim.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/scheduler/srvpool.c
        sql/backends/monet5/LSST/lsst.c
        sql/backends/monet5/Tests/pyloader04.stable.err
        sql/backends/monet5/UDF/cudf/udf.c
        sql/backends/monet5/UDF/pyapi/connection.c
        sql/backends/monet5/UDF/pyapi/connection.h
        sql/backends/monet5/UDF/pyapi/conversion.c
        sql/backends/monet5/UDF/pyapi/conversion.h
        sql/backends/monet5/UDF/pyapi/convert_loops.h
        sql/backends/monet5/UDF/pyapi/emit.c
        sql/backends/monet5/UDF/pyapi/emit.h
        sql/backends/monet5/UDF/pyapi/formatinput.c
        sql/backends/monet5/UDF/pyapi/formatinput.h
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/backends/monet5/UDF/pyapi/pyapi.h
        sql/backends/monet5/UDF/pyapi/pyheader.h
        sql/backends/monet5/UDF/pyapi/pyloader.c
        sql/backends/monet5/UDF/pyapi/pytypes.c
        sql/backends/monet5/UDF/pyapi/pytypes.h
        sql/backends/monet5/UDF/pyapi/type_conversion.c
        sql/backends/monet5/UDF/pyapi/type_conversion.h
        sql/backends/monet5/UDF/pyapi/undef.h
        sql/backends/monet5/UDF/pyapi/unicode.c
        sql/backends/monet5/UDF/pyapi/unicode.h
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/sql_user.c
        sql/backends/monet5/vaults/bam/bam_globals.h
        sql/backends/monet5/vaults/bam/bam_loader.c
        sql/backends/monet5/vaults/fits/fits.c
        sql/backends/monet5/vaults/lidar/lidar.c
        sql/benchmarks/tpch/load.sh
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/server/rel_rel.c
        sql/server/rel_rel.h
        sql/server/rel_select.c
        sql/server/rel_select.h
        sql/server/rel_updates.c
        sql/server/sql_atom.c
        sql/server/sql_atom.h
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
        
sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        sql/test/BugTracker-2012/Tests/with_in_derived_table.Bug-3043.stable.out
        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
        
sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.stable.err
        
sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.stable.out
        sql/test/BugTracker-2017/Tests/All
        sql/test/orderidx/Tests/All
        sql/test/remote/Tests/ssbm.stable.out.int128
        tools/merovingian/daemon/controlrunner.c
        tools/mserver/mserver5.c
Branch: data-vaults
Log Message:

Merge with default


diffs (truncated from 19153 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -656,3 +656,9 @@ 3968ed7fb6dab04a2530c6c3e1a5ffd6d649298b
 615229dc6f3c7dc89bbd9cc5923ad307b4c93cb1 Dec2016_SP2_release
 566c4291d2c2547a2360097c9a1038c2d2064ec3 Dec2016_11
 566c4291d2c2547a2360097c9a1038c2d2064ec3 Dec2016_SP3_release
+94a35822a8d9dfc6458a2353168e37a21b16ea29 Dec2016_13
+566c4291d2c2547a2360097c9a1038c2d2064ec3 Dec2016_SP3_release
+94a35822a8d9dfc6458a2353168e37a21b16ea29 Dec2016_SP3_release
+8dcbdc30cd49d1d03e3a21b37671d567d84943ae Dec2016_15
+94a35822a8d9dfc6458a2353168e37a21b16ea29 Dec2016_SP3_release
+8dcbdc30cd49d1d03e3a21b37671d567d84943ae Dec2016_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -944,6 +944,29 @@ rm -f %{buildroot}%{_bindir}/Maddlog
 %postun -p /sbin/ldconfig
 
 %changelog
+* Thu Mar 30 2017 Sjoerd Mullender <sjo...@acm.org> - 11.25.15-20170330
+- Rebuilt.
+- BZ#6250: Assertion failure when querying a Blob column with order
+  by DESC
+- BZ#6253: FITS Data Vaults does not work when using user/pw and other
+  than sys schema name
+
+* Wed Mar 29 2017 Sjoerd Mullender <sjo...@acm.org> - 11.25.13-20170329
+- Rebuilt.
+- BZ#6216: Assertion raised (sqlsmith)
+- BZ#6227: Monetdb fails on remote tables
+- BZ#6242: Crash on rel_reduce_groupby_exps (sqlsmith)
+- BZ#6243: Static optimization gives wrong result (1 + NULL = -127)
+- BZ#6245: Nested query crashes all versions of MonetDB or gives wrong
+  result starting from Dec2016-SP2
+- BZ#6246: update statements: references to a table do not bind to
+  its alias
+- BZ#6247: Type analysis issue (sqlsmith)
+- BZ#6248: update statements: the semantic stage does not resolve the
+  relation in the from clause
+- BZ#6251: Crash after adding an ordered index on sys.statistics column
+  and querying sys.statistics
+
 * Mon Mar 13 2017 Sjoerd Mullender <sjo...@acm.org> - 11.25.11-20170313
 - Rebuilt.
 - BZ#6138: Weak duplicate elimination in string heaps > 64KB
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
@@ -6184,12 +6184,12 @@ Ready.
 [ "bbp",       "getRefCount",  "command bbp.getRefCount(b:bat[:any_1]):int ",  
"CMDgetBATrefcnt;",     "Utility for debugging MAL interpreter" ]
 [ "bbp",       "getStatus",    "command bbp.getStatus():bat[:str] ",   
"CMDbbpStatus;",        "Create a BAT with the disk/load status"        ]
 [ "bbp",       "setName",      "command bbp.setName(b:bat[:any_1], n:str):str 
",       "CMDsetName;",  "Rename a BAT"  ]
+[ "blob",      "#cmp", "command blob.#cmp():void ",    "BLOBcmp;",     ""      
]
 [ "blob",      "#del", "command blob.#del():void ",    "BLOBdel;",     ""      
]
 [ "blob",      "#fromstr",     "command blob.#fromstr():void ",        
"BLOBfromstr;", ""      ]
 [ "blob",      "#hash",        "command blob.#hash():void ",   "BLOBhash;",    
""      ]
 [ "blob",      "#heap",        "command blob.#heap():void ",   "BLOBheap;",    
""      ]
 [ "blob",      "#length",      "command blob.#length():void ", "BLOBlength;",  
""      ]
-[ "blob",      "#nequal",      "command blob.#nequal():void ", "BLOBnequal;",  
""      ]
 [ "blob",      "#null",        "command blob.#null():void ",   "BLOBnull;",    
""      ]
 [ "blob",      "#put", "command blob.#put():void ",    "BLOBput;",     ""      
]
 [ "blob",      "#read",        "command blob.#read():void ",   "BLOBread;",    
""      ]
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
@@ -8153,12 +8153,12 @@ Ready.
 [ "bbp",       "getRefCount",  "command bbp.getRefCount(b:bat[:any_1]):int ",  
"CMDgetBATrefcnt;",     "Utility for debugging MAL interpreter" ]
 [ "bbp",       "getStatus",    "command bbp.getStatus():bat[:str] ",   
"CMDbbpStatus;",        "Create a BAT with the disk/load status"        ]
 [ "bbp",       "setName",      "command bbp.setName(b:bat[:any_1], n:str):str 
",       "CMDsetName;",  "Rename a BAT"  ]
+[ "blob",      "#cmp", "command blob.#cmp():void ",    "BLOBcmp;",     ""      
]
 [ "blob",      "#del", "command blob.#del():void ",    "BLOBdel;",     ""      
]
 [ "blob",      "#fromstr",     "command blob.#fromstr():void ",        
"BLOBfromstr;", ""      ]
 [ "blob",      "#hash",        "command blob.#hash():void ",   "BLOBhash;",    
""      ]
 [ "blob",      "#heap",        "command blob.#heap():void ",   "BLOBheap;",    
""      ]
 [ "blob",      "#length",      "command blob.#length():void ", "BLOBlength;",  
""      ]
-[ "blob",      "#nequal",      "command blob.#nequal():void ", "BLOBnequal;",  
""      ]
 [ "blob",      "#null",        "command blob.#null():void ",   "BLOBnull;",    
""      ]
 [ "blob",      "#put", "command blob.#put():void ",    "BLOBput;",     ""      
]
 [ "blob",      "#read",        "command blob.#read():void ",   "BLOBread;",    
""      ]
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
@@ -819,6 +819,7 @@ str BKCsetkey(bat *res, const bat *bid, 
 str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did);
 str BLOBblob_blob(blob **d, blob **s);
 str BLOBblob_fromstr(blob **b, str *d);
+int BLOBcmp(blob *l, blob *r);
 void BLOBdel(Heap *h, var_t *index);
 str BLOBfromblob(str *retval, blob **b);
 str BLOBfromidx(str *retval, blob **binp, int *index);
@@ -827,7 +828,6 @@ int BLOBget(Heap *h, int *bun, int *l, b
 BUN BLOBhash(blob *b);
 void BLOBheap(Heap *heap, size_t capacity);
 int BLOBlength(blob *p);
-int BLOBnequal(blob *l, blob *r);
 str BLOBnitems(int *ret, blob *b);
 blob *BLOBnull(void);
 str BLOBprelude(void *ret);
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,32 @@
+monetdb (11.25.15) unstable; urgency=low
+
+  * Rebuilt.
+  * BZ#6250: Assertion failure when querying a Blob column with order
+    by DESC
+  * BZ#6253: FITS Data Vaults does not work when using user/pw and other
+    than sys schema name
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Thu, 30 Mar 2017 14:00:54 +0200
+
+monetdb (11.25.13) unstable; urgency=low
+
+  * Rebuilt.
+  * BZ#6216: Assertion raised (sqlsmith)
+  * BZ#6227: Monetdb fails on remote tables
+  * BZ#6242: Crash on rel_reduce_groupby_exps (sqlsmith)
+  * BZ#6243: Static optimization gives wrong result (1 + NULL = -127)
+  * BZ#6245: Nested query crashes all versions of MonetDB or gives wrong
+    result starting from Dec2016-SP2
+  * BZ#6246: update statements: references to a table do not bind to
+    its alias
+  * BZ#6247: Type analysis issue (sqlsmith)
+  * BZ#6248: update statements: the semantic stage does not resolve the
+    relation in the from clause
+  * BZ#6251: Crash after adding an ordered index on sys.statistics column
+    and querying sys.statistics
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Wed, 29 Mar 2017 13:18:23 +0200
+
 monetdb (11.25.11) unstable; urgency=low
 
   * Rebuilt.
diff --git a/gdk/gdk_calc.c b/gdk/gdk_calc.c
--- a/gdk/gdk_calc.c
+++ b/gdk/gdk_calc.c
@@ -13253,7 +13253,7 @@ BATcalcifthenelsecst(BAT *b, BAT *b1, co
 
        if (checkbats(b, b1, "BATcalcifthenelse") != GDK_SUCCEED)
                return NULL;
-       if (b->ttype != TYPE_bit || b1->ttype != c2->vtype) {
+       if (b->ttype != TYPE_bit || ATOMtype(b1->ttype) != ATOMtype(c2->vtype)) 
{
                GDKerror("BATcalcifthenelsecst: \"then\" and \"else\" BATs have 
different types.\n");
                return NULL;
        }
@@ -13272,7 +13272,7 @@ BATcalcifthencstelse(BAT *b, const ValRe
 
        if (checkbats(b, b2, "BATcalcifthenelse") != GDK_SUCCEED)
                return NULL;
-       if (b->ttype != TYPE_bit || b2->ttype != c1->vtype) {
+       if (b->ttype != TYPE_bit || ATOMtype(b2->ttype) != ATOMtype(c1->vtype)) 
{
                GDKerror("BATcalcifthencstelse: \"then\" and \"else\" BATs have 
different types.\n");
                return NULL;
        }
@@ -13289,7 +13289,7 @@ BATcalcifthencstelsecst(BAT *b, const Va
        BATcheck(c1, "BATcalcifthenelsecst", NULL);
        BATcheck(c2, "BATcalcifthenelsecst", NULL);
 
-       if (b->ttype != TYPE_bit || c1->vtype != c2->vtype) {
+       if (b->ttype != TYPE_bit || ATOMtype(c1->vtype) != ATOMtype(c2->vtype)) 
{
                GDKerror("BATcalcifthencstelsecst: \"then\" and \"else\" BATs 
have different types.\n");
                return NULL;
        }
diff --git a/gdk/gdk_heap.c b/gdk/gdk_heap.c
--- a/gdk/gdk_heap.c
+++ b/gdk/gdk_heap.c
@@ -395,7 +395,7 @@ GDKupgradevarheap(BAT *b, var_t v, int c
        size_t i, n;
        size_t savefree;
        const char *filename;
-       bat bid;
+       bat bid = b->batCacheid;
 
        assert(b->theap.parentid == 0);
        assert(width != 0);
@@ -430,7 +430,6 @@ GDKupgradevarheap(BAT *b, var_t v, int c
                filename = b->theap.filename;
        else
                filename++;
-       bid = strtol(filename, NULL, 8);
        if ((BBP_status(bid) & (BBPEXISTING|BBPDELETED)) &&
            !file_exists(b->theap.farmid, BAKDIR, filename, NULL) &&
            (b->theap.storage != STORE_MEM ||
@@ -505,7 +504,7 @@ GDKupgradevarheap(BAT *b, var_t v, int c
                break;
        case 4:
 #ifndef NDEBUG
-               memset(ps, 0, b->theap.base + b->theap.size - (char *) pi);
+               memset(pi, 0, b->theap.base + b->theap.size - (char *) pi);
 #endif
                switch (b->twidth) {
                case 1:
@@ -521,7 +520,7 @@ GDKupgradevarheap(BAT *b, var_t v, int c
 #if SIZEOF_VAR_T == 8
        case 8:
 #ifndef NDEBUG
-               memset(ps, 0, b->theap.base + b->theap.size - (char *) pv);
+               memset(pv, 0, b->theap.base + b->theap.size - (char *) pv);
 #endif
                switch (b->twidth) {
                case 1:
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -99,13 +99,15 @@ typedef struct logformat_t {
        lng nr;
 } logformat;
 
+typedef enum {LOG_OK, LOG_EOF, LOG_ERR} log_return;
+
 /* When reading an old format database, we may need to read the geom
  * Well-known Binary (WKB) type differently.  This variable is used to
  * indicate that to the function wkbREAD during reading of the log. */
 static int geomisoldversion;
 
 static gdk_return bm_commit(logger *lg);
-static int tr_grow(trans *tr);
+static gdk_return tr_grow(trans *tr);
 
 static BUN
 log_find(BAT *b, BAT *d, int val)
@@ -193,7 +195,8 @@ log_read_string(logger *l)
        buf = GDKmalloc(len);
        if (buf == NULL) {
                fprintf(stderr, "!ERROR: log_read_string: malloc failed\n");
-               return NULL;
+               /* this is bad */
+               return (char *) -1;
        }
 
        if ((nr = mnstr_read(l->log, buf, 1, len)) != (ssize_t) len) {
@@ -221,17 +224,18 @@ log_write_string(logger *l, const char *
        return GDK_SUCCEED;
 }
 
-static void
+static log_return
 log_read_clear(logger *lg, trans *tr, char *name)
 {
        if (lg->debug & 1)
                fprintf(stderr, "#logger found log_read_clear %s\n", name);
-
-       if (tr_grow(tr)) {
-               tr->changes[tr->nr].type = LOG_CLEAR;
-               tr->changes[tr->nr].name = GDKstrdup(name);
-               tr->nr++;
-       }
+       if (tr_grow(tr) != GDK_SUCCEED)
+               return LOG_ERR;
+       tr->changes[tr->nr].type = LOG_CLEAR;
+       if ((tr->changes[tr->nr].name = GDKstrdup(name)) == NULL)
+               return LOG_ERR;
+       tr->nr++;
+       return LOG_OK;
 }
 
 static int
@@ -274,7 +278,7 @@ la_bat_clear(logger *lg, logaction *la)
        return GDK_SUCCEED;
 }
 
-static gdk_return
+static log_return
 log_read_seq(logger *lg, logformat *l)
 {
        int seq = (int) l->nr;
@@ -284,32 +288,32 @@ log_read_seq(logger *lg, logformat *l)
        assert(l->nr <= (lng) INT_MAX);
        if (mnstr_readLng(lg->log, &val) != 1) {
                fprintf(stderr, "!ERROR: log_read_seq: read failed\n");
-               return GDK_FAIL;
+               return LOG_EOF;
        }
 
        if ((p = log_find(lg->seqs_id, lg->dseqs, seq)) != BUN_NONE &&
            p >= lg->seqs_id->batInserted) {
                if (BUNinplace(lg->seqs_val, p, &val, FALSE) != GDK_SUCCEED)
-                       return GDK_FAIL;
+                       return LOG_ERR;
        } else {
                if (p != BUN_NONE) {
                        oid pos = p;
                        if (BUNappend(lg->dseqs, &pos, FALSE) != GDK_SUCCEED)
-                               return GDK_FAIL;
+                               return LOG_ERR;
                }
                if (BUNappend(lg->seqs_id, &seq, FALSE) != GDK_SUCCEED ||
                    BUNappend(lg->seqs_val, &val, FALSE) != GDK_SUCCEED)
-                       return GDK_FAIL;
+                       return LOG_ERR;
        }
-       return GDK_SUCCEED;
+       return LOG_OK;
 }
 
-static gdk_return
+static log_return
 log_read_updates(logger *lg, trans *tr, logformat *l, char *name)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to