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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> 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 <[email protected]> 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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list