Changeset: 132fb27dcffd for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=132fb27dcffd Added Files: sql/test/BugTracker-2017/Tests/function-resolution.Bug-6436.sql sql/test/BugTracker-2017/Tests/function-resolution.Bug-6436.stable.err sql/test/BugTracker-2017/Tests/function-resolution.Bug-6436.stable.out sql/test/BugTracker-2017/Tests/generate-resolution.Bug-6471.sql sql/test/BugTracker-2017/Tests/generate-resolution.Bug-6471.stable.err sql/test/BugTracker-2017/Tests/generate-resolution.Bug-6471.stable.out Modified Files: .hgtags MonetDB.spec debian/changelog gdk/ChangeLog-Archive gdk/ChangeLog.Jul2017 libversions monetdb5/modules/kernel/aggr.c monetdb5/optimizer/opt_mitosis.c sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128 sql/benchmarks/tpch/LOCKED/Tests/22.stable.out.int128 sql/benchmarks/tpch/Tests/01-22.stable.out sql/benchmarks/tpch/Tests/01-22.stable.out.int128 sql/benchmarks/tpch/Tests/22.stable.out.int128 sql/common/sql_types.c sql/common/sql_types.h sql/server/rel_optimizer.c sql/server/rel_select.c sql/test/BugDay_2005-10-06_2.9.3/Tests/variable_arg_substring.SF_942981.stable.out sql/test/BugTracker-2010/Tests/substring_display_width.Bug-2683.stable.out sql/test/BugTracker-2015/Tests/string_split.Bug-3564.stable.out sql/test/BugTracker-2017/Tests/All sql/test/BugTracker-2017/Tests/splitpart.Bug-6194.stable.out sql/test/Tests/string.stable.out sql/test/pg_regress/Tests/strings.stable.out Branch: data-vaults Log Message:
Merge with default diffs (truncated from 2690 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -685,3 +685,5 @@ fce449d5af88de715fde36624815a56ef34c56bb 3d26c58579a18157659b590899a8f73f45954ec6 Jul2017_9 fce449d5af88de715fde36624815a56ef34c56bb Jul2017_SP2_release 3d26c58579a18157659b590899a8f73f45954ec6 Jul2017_SP2_release +b9276cb02ced7d98bcb27b5e6df600b2791f1fcd Jul2017_11 +b9276cb02ced7d98bcb27b5e6df600b2791f1fcd Jul2017_SP3_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -132,7 +132,7 @@ Vendor: MonetDB BV <[email protected]> Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Jul2017-SP2/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Jul2017-SP3/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist # we need checkpolicy and selinux-policy-devel for the SELinux policy @@ -1046,6 +1046,48 @@ done %postun -p /sbin/ldconfig %changelog +* Mon Dec 04 2017 Sjoerd Mullender <[email protected]> - 11.27.11-20171204 +- Rebuilt. +- BZ#3898: Deadlock on insertion +- BZ#6429: ROUND produces wrong data type +- BZ#6436: Query sequence with 2x ifthenelse() and next nullif() causes + mserver5 Segmentation fault +- BZ#6439: Invalid references to sys.columns.id from + sys.statistics.column_id +- BZ#6442: SEGFAULT with COPY INTO BEST EFFORT and skipping input columns +- BZ#6443: complex(?) query forgets(?) column name +- BZ#6444: Using 'with' keyword with table returning function crashes + monetdb +- BZ#6445: Sqlitelogictest crash in MySQL query +- BZ#6446: sql_parser.y bug? +- BZ#6448: 'insert into' with multiple rows containing subqueries crashes +- BZ#6449: Assertion error in rel_dce_refs (sqlsmith) +- BZ#6450: Assertion error in exp_bin (sqlsmith) +- BZ#6451: Assertion error in sql_ref_dec (sqlsmith) +- BZ#6453: Assertion error in rel_rename_exps (sqlsmith) +- BZ#6454: SQL lexical error +- BZ#6455: Assertion error in rel_apply_rewrite (sqlsmith) +- BZ#6456: NULL becomes 0 in outer join +- BZ#6459: Assertion error in exp_bin (sqlsmith) +- BZ#6462: large virtual memory spike on BLOB column select +- BZ#6465: appending to variables sized atom bats other than str bats + with force flag may result in corrupted heap +- BZ#6467: date_to_str formatter is wrong +- BZ#6470: mitosis gets in the way of simple select +- BZ#6471: calls to sys.generate_series should auto-convert arguments +- BZ#6472: Assertion failure in rel_rename (Sqlsmith) +- BZ#6477: assertion eror rel_push_project_up (sqlsmith) +- BZ#6478: Crash with nested order by/ limit offset +- BZ#6479: Mserver receives an assertion error on a procedure call +- BZ#6480: Segfault in mvc_find_subexp (sqlsmith) + +* Sun Nov 5 2017 Sjoerd Mullender <[email protected]> - 11.27.11-20171204 +- gdk: Reimplemented summing of a column of floating point (flt and dbl) + values. The old code could give wildly inaccurate results when adding + up lots and lots of values due to lack of precision. Try SELECT sum(c) + FROM t; where t is 100,000,000 rows, c is of type REAL and all values + are equal to 1.1. (The old code returned 33554432 instead of 1.1e8.) + * Sun Nov 5 2017 Sjoerd Mullender <[email protected]> - 11.27.9-20171105 - BZ#6460 - selinux doen't allow mmap diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,51 @@ +monetdb (11.27.11) unstable; urgency=low + + * Rebuilt. + * BZ#3898: Deadlock on insertion + * BZ#6429: ROUND produces wrong data type + * BZ#6436: Query sequence with 2x ifthenelse() and next nullif() causes + mserver5 Segmentation fault + * BZ#6439: Invalid references to sys.columns.id from + sys.statistics.column_id + * BZ#6442: SEGFAULT with COPY INTO BEST EFFORT and skipping input columns + * BZ#6443: complex(?) query forgets(?) column name + * BZ#6444: Using 'with' keyword with table returning function crashes + monetdb + * BZ#6445: Sqlitelogictest crash in MySQL query + * BZ#6446: sql_parser.y bug? + * BZ#6448: 'insert into' with multiple rows containing subqueries crashes + * BZ#6449: Assertion error in rel_dce_refs (sqlsmith) + * BZ#6450: Assertion error in exp_bin (sqlsmith) + * BZ#6451: Assertion error in sql_ref_dec (sqlsmith) + * BZ#6453: Assertion error in rel_rename_exps (sqlsmith) + * BZ#6454: SQL lexical error + * BZ#6455: Assertion error in rel_apply_rewrite (sqlsmith) + * BZ#6456: NULL becomes 0 in outer join + * BZ#6459: Assertion error in exp_bin (sqlsmith) + * BZ#6462: large virtual memory spike on BLOB column select + * BZ#6465: appending to variables sized atom bats other than str bats + with force flag may result in corrupted heap + * BZ#6467: date_to_str formatter is wrong + * BZ#6470: mitosis gets in the way of simple select + * BZ#6471: calls to sys.generate_series should auto-convert arguments + * BZ#6472: Assertion failure in rel_rename (Sqlsmith) + * BZ#6477: assertion eror rel_push_project_up (sqlsmith) + * BZ#6478: Crash with nested order by/ limit offset + * BZ#6479: Mserver receives an assertion error on a procedure call + * BZ#6480: Segfault in mvc_find_subexp (sqlsmith) + + -- Sjoerd Mullender <[email protected]> Mon, 04 Dec 2017 09:56:39 +0100 + +monetdb (11.27.11) unstable; urgency=low + + * gdk: Reimplemented summing of a column of floating point (flt and dbl) + values. The old code could give wildly inaccurate results when adding + up lots and lots of values due to lack of precision. Try SELECT sum(c) + FROM t; where t is 100,000,000 rows, c is of type REAL and all values + are equal to 1.1. (The old code returned 33554432 instead of 1.1e8.) + + -- Sjoerd Mullender <[email protected]> Sun, 5 Nov 2017 09:56:39 +0100 + monetdb (11.27.9) unstable; urgency=low * Rebuilt. diff --git a/gdk/ChangeLog-Archive b/gdk/ChangeLog-Archive --- a/gdk/ChangeLog-Archive +++ b/gdk/ChangeLog-Archive @@ -1,6 +1,13 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Mon Oct 30 2017 Sjoerd Mullender <[email protected]> - 11.27.11-20171204 +- Reimplemented summing of a column of floating point (flt and dbl) + values. The old code could give wildly inaccurate results when adding + up lots and lots of values due to lack of precision. Try SELECT sum(c) + FROM t; where t is 100,000,000 rows, c is of type REAL and all values + are equal to 1.1. (The old code returned 33554432 instead of 1.1e8.) + * Mon Oct 23 2017 Sjoerd Mullender <[email protected]> - 11.27.9-20171023 - A serious bug, possibly resulting in database corruption, having to do with appending data to a string BAT was fixed. diff --git a/gdk/ChangeLog.Jul2017 b/gdk/ChangeLog.Jul2017 --- a/gdk/ChangeLog.Jul2017 +++ b/gdk/ChangeLog.Jul2017 @@ -1,10 +1,3 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog -* Mon Oct 30 2017 Sjoerd Mullender <[email protected]> -- Reimplemented summing of a column of floating point (flt and dbl) - values. The old code could give wildly inaccurate results when adding - up lots and lots of values due to lack of precision. Try SELECT sum(c) - FROM t; where t is 100,000,000 rows, c is of type REAL and all values - are equal to 1.1. (The old code returned 33554432 instead of 1.1e8.) - diff --git a/libversions b/libversions --- a/libversions +++ b/libversions @@ -36,13 +36,13 @@ # version of the GDK library (subdirectory gdk; also includes # common/options and common/utils) -GDK_VERSION=15:4:0 +GDK_VERSION=15:5:0 # version of the MAPI library (subdirectory clients/mapilib) MAPI_VERSION=9:2:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras) -MONETDB5_VERSION=23:4:0 +MONETDB5_VERSION=23:5:0 # version of the STREAM library (subdirectory common/stream) -STREAM_VERSION=10:2:2 +STREAM_VERSION=10:3:2 diff --git a/monetdb5/modules/kernel/aggr.c b/monetdb5/modules/kernel/aggr.c --- a/monetdb5/modules/kernel/aggr.c +++ b/monetdb5/modules/kernel/aggr.c @@ -14,353 +14,19 @@ * grouped aggregates */ static str -AGGRgrouped(bat *retval1, bat *retval2, BAT *b, BAT *g, BAT *e, int tp, +AGGRgrouped(bat *retval1, bat *retval2, const bat *bid, const bat *gid, const bat *eid, const bat *sid, + int skip_nils, int abort_on_error, int tp, BAT *(*grpfunc1)(BAT *, BAT *, BAT *, BAT *, int, int, int), gdk_return (*grpfunc2)(BAT **, BAT **, BAT *, BAT *, BAT *, BAT *, int, int, int), BAT *(*quantilefunc)(BAT *, BAT *, BAT *, BAT *, int, double, int, int), - BAT *quantile, - int skip_nils, + const bat *quantile, const char *malfunc) { - BAT *bn, *cnts = NULL; - double qvalue; - - /* one of grpfunc1, grpfunc2 and quantilefunc is non-NULL and the others are */ - assert((grpfunc1 != NULL && grpfunc2 == NULL && quantilefunc == NULL) || - (grpfunc1 == NULL && grpfunc2 != NULL && quantilefunc == NULL) || - (grpfunc1 == NULL && grpfunc2 == NULL && quantilefunc != NULL) ); - /* if retval2 is non-NULL, we must have grpfunc2 */ - assert(retval2 == NULL || grpfunc2 != NULL); - - if (b == NULL || g == NULL || e == NULL || - (quantilefunc != NULL && quantile == NULL)) { - if (b) - BBPunfix(b->batCacheid); - if (g) - BBPunfix(g->batCacheid); - if (e) - BBPunfix(e->batCacheid); - if (quantile) - BBPunfix(quantile->batCacheid); - throw(MAL, malfunc, SQLSTATE(HY002) RUNTIME_OBJECT_MISSING); - } - assert(quantile == NULL || quantilefunc != NULL); - assert(b->hseqbase == g->hseqbase); - assert(BATcount(b) == BATcount(g)); - if (tp == TYPE_any && (grpfunc1 == BATgroupmedian || quantilefunc == BATgroupquantile)) - tp = b->ttype; - if (grpfunc1) - bn = (*grpfunc1)(b, g, e, NULL, tp, skip_nils, 1); - if (quantilefunc) { - assert(BATcount(quantile)>0); - assert(quantile->ttype == TYPE_dbl); - qvalue = ((const double *)Tloc(quantile, 0))[0]; - if (qvalue < 0 || qvalue > 1) { - BBPunfix(b->batCacheid); - BBPunfix(g->batCacheid); - BBPunfix(e->batCacheid); - throw(MAL, malfunc, "quantile value of %f is not in range [0,1]", qvalue); - } - bn = (*quantilefunc)(b, g, e, NULL, tp, qvalue, skip_nils, 1); - BBPunfix(quantile->batCacheid); - } - if (grpfunc2 && (*grpfunc2)(&bn, retval2 ? &cnts : NULL, b, g, e, NULL, tp, skip_nils, 1) != GDK_SUCCEED) - bn = NULL; - if (bn != NULL && (grpfunc1 == BATgroupmin || grpfunc1 == BATgroupmax)) { - BAT *t = BATproject(bn, b); - BBPunfix(bn->batCacheid); - bn = t; - } - BBPunfix(b->batCacheid); - BBPunfix(g->batCacheid); - BBPunfix(e->batCacheid); - if (bn == NULL) { - char *errbuf = GDKerrbuf; - char *s; - - if (errbuf && *errbuf) { - if (strncmp(errbuf, "!ERROR: ", 8) == 0) - errbuf += 8; - if (strchr(errbuf, '!') == errbuf + 5) { - s = createException(MAL, malfunc, "%s", errbuf); - } else if ((s = strchr(errbuf, ':')) != NULL && s[1] == ' ') { - s = createException(MAL, malfunc, "%s", s + 2); - } else { - s = createException(MAL, malfunc, "%s", errbuf); - } - GDKclrerr(); - return s; - } - throw(MAL, malfunc, OPERATION_FAILED); - } - *retval1 = bn->batCacheid; - BBPkeepref(bn->batCacheid); - if (retval2) { - *retval2 = cnts->batCacheid; - BBPkeepref(cnts->batCacheid); - } - return MAL_SUCCEED; -} - -static str -AGGRgrouped3(bat *retval1, bat *retval2, const bat *bid, const bat *gid, const bat *eid, int tp, - BAT *(*grpfunc1)(BAT *, BAT *, BAT *, BAT *, int, int, int), - gdk_return (*grpfunc2)(BAT **, BAT **, BAT *, BAT *, BAT *, BAT *, int, int, int), - int skip_nils, - const char *malfunc) -{ - BAT *b, *g, *e; - - b = BATdescriptor(*bid); /* [head,value] */ - g = BATdescriptor(*gid); /* [head,gid] */ - e = BATdescriptor(*eid); /* [gid,any] */ - return AGGRgrouped(retval1, retval2, b, g, e, tp, grpfunc1, grpfunc2, NULL, 0, skip_nils, malfunc); -} - -mal_export str AGGRsum3_bte(bat *retval, const bat *bid, const bat *gid, const bat *eid); -str -AGGRsum3_bte(bat *retval, const bat *bid, const bat *gid, const bat *eid) -{ - return AGGRgrouped3(retval, NULL, bid, gid, eid, TYPE_bte, - BATgroupsum, NULL, 1, "aggr.sum"); -} - -mal_export str AGGRsum3_sht(bat *retval, const bat *bid, const bat *gid, const bat *eid); -str -AGGRsum3_sht(bat *retval, const bat *bid, const bat *gid, const bat *eid) _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
