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

Reply via email to