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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> 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 <[email protected]>
+- 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 <[email protected]>
- 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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list