Changeset: bb6031cdc43c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bb6031cdc43c
Modified Files:
        .hgtags
        MonetDB.spec
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-Geom-Module.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-Geom-Module.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/Tests/exports.stable.out
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        clients/python2/setup.py
        clients/python3/setup.py
        configure.ag
        debian/changelog
        gdk/ChangeLog.Jun2016
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_batop.c
        gdk/gdk_calc.c
        gdk/gdk_calc_compare.h
        gdk/gdk_group.c
        gdk/gdk_logger.c
        gdk/gdk_project.c
        gdk/libbat.rc
        java/build.properties
        java/pom.xml
        java/release.txt
        libversions
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/json.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/mal/batcalc.c
        monetdb5/tools/libmonetdb5.rc
        sql/storage/bat/bat_storage.c
        sql/test/leaks/Tests/check0.stable.out
        sql/test/leaks/Tests/check0.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1.stable.out.int128
        vertoo.data
Branch: default
Log Message:

Merge with Jun2016 branch.


diffs (truncated from 756 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -618,3 +618,5 @@ 25c9f569add9c341d40920f30936890ae6ea68a8
 feec2e4020548d3137a0e946b7a4e29db5b9e14a Jul2015_15
 feec2e4020548d3137a0e946b7a4e29db5b9e14a Jul2015_SP3_release
 ee2d8c8d65c35ed022ca0785f30fcf4b051a542e Jun2016_root
+ee54e50fccb17db48bbfd983882e8491a869131c Jul2015_17
+ee54e50fccb17db48bbfd983882e8491a869131c Jul2015_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -986,6 +986,29 @@ rm -f %{buildroot}%{_bindir}/Maddlog
 %postun -p /sbin/ldconfig
 
 %changelog
+* Thu Mar 24 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.17-20160324
+- Rebuilt.
+- BZ#2972: SQL URL functionality contains errors
+- BZ#3881: Server crashes on bulk load
+- BZ#3890: Window function + group by in subselect, rel2bin_project:
+  Assertion `0' failed
+- BZ#3891: MonetDB crashes when executing SQL with window function
+- BZ#3900: null handling in some sql statements is incorrect
+- BZ#3906: Multi-column 1-N table-function with mitosis produces different
+  column counts
+- BZ#3917: Date difference returns month_interval instead of day_interval
+- BZ#3938: Wrong error message on violating foreign key constraint
+- BZ#3941: Wrong coercion priority
+- BZ#3948: SQL: select * from sys.sys.table_name; is accepted but should
+  return an error
+- BZ#3951: extern table_funcs not visible from Windows DLL for extensions
+  like vaults (crashes)
+- BZ#3952: Stream table gives segfault
+- BZ#3953: MIN/MAX of a UUID column produces wrong results
+- BZ#3954: Consolidate table assertion error
+- BZ#3955: (incorrect) MAL loop instead of manifold triggered by simple
+  change in target list
+
 * Thu Mar 10 2016 Sjoerd Mullender <sjo...@acm.org> - 11.21.15-20160310
 - Rebuilt.
 - BZ#3549: bulk string operations very slow
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
@@ -102,8 +102,7 @@ BAT *BATcalcxor(BAT *b1, BAT *b2, BAT *s
 BAT *BATcalcxorcst(BAT *b, const ValRecord *v, BAT *s);
 gdk_return BATclear(BAT *b, int force);
 void BATcommit(BAT *b);
-BAT *BATconst(BAT *l, int tt, const void *val, int role);
-BAT *BATconstant(int tt, const void *val, BUN cnt, int role);
+BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, int role);
 BAT *BATconvert(BAT *b, BAT *s, int tp, int abort_on_error);
 BUN BATcount_no_nil(BAT *b);
 gdk_return BATdel(BAT *b, BAT *d);
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,29 @@
+monetdb (11.21.17) unstable; urgency=low
+
+  * Rebuilt.
+  * BZ#2972: SQL URL functionality contains errors
+  * BZ#3881: Server crashes on bulk load
+  * BZ#3890: Window function + group by in subselect, rel2bin_project:
+    Assertion `0' failed
+  * BZ#3891: MonetDB crashes when executing SQL with window function
+  * BZ#3900: null handling in some sql statements is incorrect
+  * BZ#3906: Multi-column 1-N table-function with mitosis produces different
+    column counts
+  * BZ#3917: Date difference returns month_interval instead of day_interval
+  * BZ#3938: Wrong error message on violating foreign key constraint
+  * BZ#3941: Wrong coercion priority
+  * BZ#3948: SQL: select * from sys.sys.table_name; is accepted but should
+    return an error
+  * BZ#3951: extern table_funcs not visible from Windows DLL for extensions
+    like vaults (crashes)
+  * BZ#3952: Stream table gives segfault
+  * BZ#3953: MIN/MAX of a UUID column produces wrong results
+  * BZ#3954: Consolidate table assertion error
+  * BZ#3955: (incorrect) MAL loop instead of manifold triggered by simple
+    change in target list
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Thu, 24 Mar 2016 09:25:15 +0100
+
 monetdb (11.21.15) unstable; urgency=low
 
   * Rebuilt.
diff --git a/gdk/ChangeLog.Jun2016 b/gdk/ChangeLog.Jun2016
--- a/gdk/ChangeLog.Jun2016
+++ b/gdk/ChangeLog.Jun2016
@@ -1,6 +1,11 @@
 # ChangeLog file for MonetDB
 # This file is updated with Maddlog
 
+* Thu Mar 24 2016 Sjoerd Mullender <sjo...@acm.org>
+- Removed BATconst.  Use BATconstant instead.
+- Changed BATconstant.  It now has a new first argument with the seqbase
+  for the head column.
+
 * Thu Jan 14 2016 Sjoerd Mullender <sjo...@acm.org>
 - Removed BATmmap.  It was no longer used.
 
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2968,8 +2968,7 @@ gdk_export void BATsetprop(BAT *b, int i
 gdk_export BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, int 
li, int hi, int anti);
 gdk_export BAT *BATthetaselect(BAT *b, BAT *s, const void *val, const char 
*op);
 
-gdk_export BAT *BATconstant(int tt, const void *val, BUN cnt, int role);
-gdk_export BAT *BATconst(BAT *l, int tt, const void *val, int role);
+gdk_export BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, int 
role);
 gdk_export gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT 
*sl, BAT *sr);
 
 gdk_export gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT 
*sl, BAT *sr, int nil_matches, BUN estimate);
diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c
--- a/gdk/gdk_aggr.c
+++ b/gdk/gdk_aggr.c
@@ -505,9 +505,7 @@ BATgroupsum(BAT *b, BAT *g, BAT *e, BAT 
        if (BATcount(b) == 0 || ngrp == 0) {
                /* trivial: no sums, so return bat aligned with g with
                 * nil in the tail */
-               bn = BATconstant(tp, ATOMnilptr(tp), ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, tp, ATOMnilptr(tp), 
ngrp, TRANSIENT);
        }
 
        if ((e == NULL ||
@@ -518,7 +516,7 @@ BATgroupsum(BAT *b, BAT *g, BAT *e, BAT 
                return BATconvert(b, s, tp, abort_on_error);
        }
 
-       bn = BATconstant(tp, ATOMnilptr(tp), ngrp, TRANSIENT);
+       bn = BATconstant(0, tp, ATOMnilptr(tp), ngrp, TRANSIENT);
        if (bn == NULL) {
                return NULL;
        }
@@ -1161,9 +1159,7 @@ BATgroupprod(BAT *b, BAT *g, BAT *e, BAT
        if (BATcount(b) == 0 || ngrp == 0) {
                /* trivial: no products, so return bat aligned with g
                 * with nil in the tail */
-               bn = BATconstant(tp, ATOMnilptr(tp), ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, tp, ATOMnilptr(tp), 
ngrp, TRANSIENT);
        }
 
        if ((e == NULL ||
@@ -1174,7 +1170,7 @@ BATgroupprod(BAT *b, BAT *g, BAT *e, BAT
                return BATconvert(b, s, tp, abort_on_error);
        }
 
-       bn = BATconstant(tp, ATOMnilptr(tp), ngrp, TRANSIENT);
+       bn = BATconstant(0, tp, ATOMnilptr(tp), ngrp, TRANSIENT);
        if (bn == NULL) {
                return NULL;
        }
@@ -1450,20 +1446,18 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT 
        if (BATcount(b) == 0 || ngrp == 0) {
                /* trivial: no averages, so return bat aligned with g
                 * with nil in the tail */
-               bn = BATconstant(TYPE_dbl, &dbl_nil, ngrp, TRANSIENT);
+               bn = BATconstant(ngrp == 0 ? 0 : min, TYPE_dbl, &dbl_nil, ngrp, 
TRANSIENT);
                if (bn == NULL) {
                        GDKerror("BATgroupavg: failed to create BAT\n");
                        return GDK_FAIL;
                }
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
                if (cntsp) {
                        wrd zero = 0;
-                       if ((*cntsp = BATconstant(TYPE_wrd, &zero, ngrp, 
TRANSIENT)) == NULL) {
+                       if ((*cntsp = BATconstant(ngrp == 0 ? 0 : min, 
TYPE_wrd, &zero, ngrp, TRANSIENT)) == NULL) {
                                GDKerror("BATgroupavg: failed to create BAT\n");
                                BBPreclaim(bn);
                                return GDK_FAIL;
                        }
-                       BATseqbase(*cntsp, ngrp == 0 ? 0 : min);
                }
                *bnp = bn;
                return GDK_SUCCEED;
@@ -1478,11 +1472,10 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT 
                        return GDK_FAIL;
                if (cntsp) {
                        wrd one = 1;
-                       if ((*cntsp = BATconstant(TYPE_wrd, &one, ngrp, 
TRANSIENT)) == NULL) {
+                       if ((*cntsp = BATconstant(ngrp == 0 ? 0 : min, 
TYPE_wrd, &one, ngrp, TRANSIENT)) == NULL) {
                                BBPreclaim(bn);
                                return GDK_FAIL;
                        }
-                       BATseqbase(*cntsp, ngrp == 0 ? 0 : min);
                }
                *bnp = bn;
                return GDK_SUCCEED;
@@ -1828,9 +1821,7 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA
                /* trivial: no products, so return bat aligned with g
                 * with zero in the tail */
                wrd zero = 0;
-               bn = BATconstant(TYPE_wrd, &zero, ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, TYPE_wrd, &zero, ngrp, 
TRANSIENT);
        }
 
        bn = BATnew(TYPE_void, TYPE_wrd, ngrp, TRANSIENT);
@@ -1948,9 +1939,7 @@ BATgroupsize(BAT *b, BAT *g, BAT *e, BAT
                /* trivial: no products, so return bat aligned with g
                 * with zero in the tail */
                wrd zero = 0;
-               bn = BATconstant(TYPE_wrd, &zero, ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, TYPE_wrd, &zero, ngrp, 
TRANSIENT);
        }
 
        bn = BATnew(TYPE_void, TYPE_wrd, ngrp, TRANSIENT);
@@ -2343,9 +2332,7 @@ BATgroupminmax(BAT *b, BAT *g, BAT *e, B
        if (BATcount(b) == 0 || ngrp == 0) {
                /* trivial: no minimums, so return bat aligned with g
                 * with nil in the tail */
-               bn = BATconstant(TYPE_oid, &oid_nil, ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, TYPE_oid, &oid_nil, 
ngrp, TRANSIENT);
        }
 
        bn = BATnew(TYPE_void, TYPE_oid, ngrp, TRANSIENT);
@@ -2510,9 +2497,7 @@ BATgroupquantile(BAT *b, BAT *g, BAT *e,
        if (BATcount(b) == 0 || ngrp == 0) {
                /* trivial: no values, thus also no quantiles,
                 * so return bat aligned with e with nil in the tail */
-               bn = BATconstant(tp, ATOMnilptr(tp), ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, tp, ATOMnilptr(tp), 
ngrp, TRANSIENT);
        }
 
        if (s) {
@@ -2836,9 +2821,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
        if (BATcount(b) == 0 || ngrp == 0) {
                /* trivial: no products, so return bat aligned with g
                 * with nil in the tail */
-               bn = BATconstant(TYPE_dbl, &dbl_nil, ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, TYPE_dbl, &dbl_nil, 
ngrp, TRANSIENT);
        }
 
        if ((e == NULL ||
@@ -2847,9 +2830,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
                /* trivial: singleton groups, so all results are equal
                 * to zero (population) or nil (sample) */
                dbl v = issample ? dbl_nil : 0;
-               bn = BATconstant(TYPE_dbl, &v, ngrp, TRANSIENT);
-               BATseqbase(bn, ngrp == 0 ? 0 : min);
-               return bn;
+               return BATconstant(ngrp == 0 ? 0 : min, TYPE_dbl, &v, ngrp, 
TRANSIENT);
        }
 
        delta = GDKmalloc(ngrp * sizeof(dbl));
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -1068,16 +1068,16 @@ BATsort(BAT **sorted, BAT **order, BAT *
                                        goto error;
                                BATsetcount(gn, BATcount(b));
                                BATseqbase(BATmirror(gn), 0);
+                               BATseqbase(gn, 0);
                        } else {
                                /* single group */
                                const oid *o = 0;
                                assert(BATcount(b) == 1 ||
                                       (BATtordered(b) && BATtrevordered(b)));
-                               gn = BATconstant(TYPE_oid, &o, BATcount(b), 
TRANSIENT);
+                               gn = BATconstant(0, TYPE_oid, &o, BATcount(b), 
TRANSIENT);
                                if (gn == NULL)
                                        goto error;
                        }
-                       BATseqbase(gn, 0);
                        *groups = gn;
                }
                return GDK_SUCCEED;
@@ -1246,10 +1246,10 @@ BATsort(BAT **sorted, BAT **order, BAT *
        return GDK_FAIL;
 }
 
-/* return a new BAT of length n with a dense head and the constant v
- * in the tail */
+/* return a new BAT of length n with a dense head with seqbase hseq,
+ * and the constant v in the tail */
 BAT *
-BATconstant(int tailtype, const void *v, BUN n, int role)
+BATconstant(oid hseq, int tailtype, const void *v, BUN n, int role)
 {
        BAT *bn;
        void *restrict p;
@@ -1257,8 +1257,6 @@ BATconstant(int tailtype, const void *v,
 
        if (v == NULL)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to