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