Changeset: f8b81dc77e96 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f8b81dc77e96 Added Files: sql/test/BugTracker-2017/Tests/crash-in-topn.Bug-6478.sql sql/test/BugTracker-2017/Tests/crash-in-topn.Bug-6478.stable.err sql/test/BugTracker-2017/Tests/crash-in-topn.Bug-6478.stable.out 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 sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6477.sql sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6477.stable.err sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6477.stable.out sql/test/BugTracker-2017/Tests/update_on_procedure.Bug-6479.sql sql/test/BugTracker-2017/Tests/update_on_procedure.Bug-6479.stable.err sql/test/BugTracker-2017/Tests/update_on_procedure.Bug-6479.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/pg_regress/Tests/numeric.stable.out.FreeBSD.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit Removed Files: sql/test/pg_regress/Tests/float8.stable.err.Windows Modified Files: .hgtags MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapiclient/mclient.c clients/mapilib/mapi.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag debian/changelog gdk/ChangeLog-Archive gdk/ChangeLog.Jul2017 gdk/gdk_firstn.c gdk/libbat.rc libversions monetdb5/mal/mal_linker.c monetdb5/modules/kernel/aggr.c monetdb5/optimizer/opt_mitosis.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/sql_result.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/server/rel_semantic.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-2014/Tests/round-properties.Bug-3515.stable.out sql/test/BugTracker-2014/Tests/round.Bug-3542.stable.out.int128 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/round.stable.out sql/test/Tests/string.stable.out sql/test/pg_regress/Tests/float8.stable.err sql/test/pg_regress/Tests/float8.stable.err.int128 sql/test/pg_regress/Tests/numeric.stable.err sql/test/pg_regress/Tests/numeric.stable.out.int128 sql/test/pg_regress/Tests/strings.stable.out vertoo.data Branch: jitudf Log Message:
Merge with default. diffs (truncated from 23464 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 <i...@monetdb.org> 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 11.27.9-20171105 - BZ#6460 - selinux doen't allow mmap diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -1854,6 +1854,7 @@ format_result(Mapi mid, MapiHdl hdl, cha timerHumanStop(); querytime = 0; + maloptimizer = 0; switch (mapi_get_querytype(hdl)) { case Q_BLOCK: case Q_PARSE: diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -3767,6 +3767,7 @@ parse_header_line(MapiHdl hdl, char *lin switch (qt) { case Q_SCHEMA: result->querytime = strtoll(nline, &nline, 10); + result->maloptimizertime = strtoll(nline, &nline, 10); break; case Q_TRANS: if (*nline == 'f') 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 <sjo...@acm.org> 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 <sjo...@acm.org> 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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 <sjo...@acm.org> -- 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/gdk/gdk_firstn.c b/gdk/gdk_firstn.c --- a/gdk/gdk_firstn.c +++ b/gdk/gdk_firstn.c @@ -422,25 +422,48 @@ BATfirstn_unique_with_groups(BAT *b, BAT oid item; BUN pos, childpos; - if (BATtdense(g)) { - /* trivial: g determines ordering, return initial - * slice of s */ - return BATslice(s, 0, n); - } - CANDINIT(b, s, start, end, cnt, cand, candend); + cnt = cand ? (BUN) (candend - cand) : end - start; if (n > cnt) n = cnt; - if (cand && n > (BUN) (candend - cand)) - n = (BUN) (candend - cand); if (n == 0) { /* candidate list might refer only to values outside * of the bat and hence be effectively empty */ + if (lastp) + *lastp = 0; + if (lastgp) + *lastgp = 0; return BATdense(0, 0, 0); } + if (BATtdense(g)) { + /* trivial: g determines ordering, return reference to + * initial part of b (or slice of s) */ + if (lastgp) + *lastgp = g->tseqbase + n - 1; + if (cand) { + if (lastp) + *lastp = cand[n - 1]; + bn = COLnew(0, TYPE_oid, n, TRANSIENT); + if (bn == NULL) + return NULL; + memcpy(Tloc(bn, 0), cand, n * sizeof(oid)); + BATsetcount(bn, n); + bn->tsorted = 1; + bn->trevsorted = n <= 1; + bn->tkey = 1; + bn->tseqbase = (bn->tdense = n <= 1) != 0 ? cand[0] : oid_nil; + bn->tnil = 0; + bn->tnonil = 1; + return bn; + } + if (lastp) + *lastp = b->hseqbase + start + n - 1; + return BATdense(0, b->hseqbase + start, n); + } + bn = COLnew(0, TYPE_oid, n, TRANSIENT); if (bn == NULL) return NULL; 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); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list