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