Changeset: 1217affb9d64 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1217affb9d64
Branch: Oct2020
Log Message:
merged
diffs (truncated from 2476 to 300 lines):
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 11.39.12
+current_version = 11.39.14
commit = False
tag = False
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -796,3 +796,5 @@ 929f5e280bc1532a2bfaab127ca7915dc3b69a33
742b7847cfdcea39a6c19ab29eb35471d46bb2bb Oct2020_11
929f5e280bc1532a2bfaab127ca7915dc3b69a33 Oct2020_SP2_release
742b7847cfdcea39a6c19ab29eb35471d46bb2bb Oct2020_SP2_release
+17d27ad30941c81e4bc700300912e84e9b9a8c37 Oct2020_13
+17d27ad30941c81e4bc700300912e84e9b9a8c37 Oct2020_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -1,5 +1,5 @@
%global name MonetDB
-%global version 11.39.12
+%global version 11.39.14
%{!?buildno: %global buildno %(date +%Y%m%d)}
# Use bcond_with to add a --with option; i.e., "without" is default.
@@ -84,7 +84,7 @@ Group: Applications/Databases
License: MPLv2.0
URL: https://www.monetdb.org/
BugURL: https://bugs.monetdb.org/
-Source:
https://www.monetdb.org/downloads/sources/Oct2020-SP2/%{name}-%{version}.tar.bz2
+Source:
https://www.monetdb.org/downloads/sources/Oct2020-SP3/%{name}-%{version}.tar.bz2
# The Fedora packaging document says we need systemd-rpm-macros for
# the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7
@@ -845,6 +845,10 @@ else
fi
%changelog
+* Thu Feb 11 2021 Sjoerd Mullender <[email protected]> - 11.39.13-20210211
+- Rebuilt.
+- GH#7049: Implement DISTINCT for GROUP_CONCAT
+
* Mon Jan 18 2021 Sjoerd Mullender <[email protected]> - 11.39.11-20210118
- Rebuilt.
- GH#3772: Any user can grant a role.
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -969,6 +969,34 @@ dump_column_definition(Mapi mid, stream
mnstr_printf(toConsole, "\t");
space = dquoted_print(toConsole, c_name, " ");
mnstr_printf(toConsole, "%*s", CAP(slen - space), "");
+ if (s != NULL && t != NULL &&
+ strcmp(c_type, "char") == 0 && strcmp(c_type_digits,
"0") == 0) {
+ /* if the number of characters is not specified (due to
a bug),
+ * calculate a size */
+ char *c = descape(c_name);
+ if (c != NULL) {
+ size_t qlen = strlen(c) + strlen(s) + strlen(t)
+ 64;
+ char *q = malloc(qlen);
+ if (q != NULL) {
+ snprintf(q, qlen, "SELECT
max(length(\"%s\")) FROM \"%s\".\"%s\"", c, s, t);
+ MapiHdl h = mapi_query(mid, q);
+ if (h != NULL) {
+ if (mapi_fetch_row(h) != 0) {
+ const char *d =
mapi_fetch_field(h, 0);
+ free(c_type_digits);
+ /* if NULL, i.e. no
non-NULL values, fill in 1 */
+ c_type_digits =
strdup(d ? d : "1");
+ fprintf(stderr,
"Warning: fixing size of CHAR column for %s of table %s.%s\n", c_name, schema,
tname);
+ }
+ mapi_close_handle(h);
+ }
+ free(q);
+ }
+ free(c);
+ }
+ if (c_type_digits == NULL)
+ goto bailout;
+ }
space = dump_type(mid, toConsole, c_type, c_type_digits,
c_type_scale, hashge);
if (strcmp(c_null, "false") == 0) {
mnstr_printf(toConsole, "%*s NOT NULL",
diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc
--- a/clients/mapilib/mapi.rc
+++ b/clients/mapilib/mapi.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
#define sversion(major,minor,patch) #major "." #minor "." #patch "\0"
1 VERSIONINFO
- FILEVERSION version(11,39,12)
- PRODUCTVERSION version(11,39,12)
+ FILEVERSION version(11,39,14)
+ PRODUCTVERSION version(11,39,14)
FILEFLAGSMASK 0x3fL
FILEFLAGS 0
FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "MonetDB B.V.\0"
VALUE "FileDescription", "MonetDB Application Interface DLL\0"
- VALUE "FileVersion", sversion(11,39,12)
+ VALUE "FileVersion", sversion(11,39,14)
VALUE "InternalName", "Mapi\0"
VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "Mapi.dll\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "MonetDB Client Libraries\0"
- VALUE "ProductVersion", sversion(11,39,12)
+ VALUE "ProductVersion", sversion(11,39,14)
VALUE "SpecialBuild", "\0"
END
END
diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc
--- a/clients/odbc/driver/driver.rc
+++ b/clients/odbc/driver/driver.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
#define sversion(major,minor,patch) #major "." #minor "." #patch "\0"
1 VERSIONINFO
- FILEVERSION version(11,39,12)
- PRODUCTVERSION version(11,39,12)
+ FILEVERSION version(11,39,14)
+ PRODUCTVERSION version(11,39,14)
FILEFLAGSMASK 0x3fL
FILEFLAGS 0
FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "MonetDB B.V.\0"
VALUE "FileDescription", "MonetDB ODBC Driver DLL\0"
- VALUE "FileVersion", sversion(11,39,12)
+ VALUE "FileVersion", sversion(11,39,14)
VALUE "InternalName", "MonetODBC\0"
VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "MonetODBC.dll\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "MonetDB SQL Server\0"
- VALUE "ProductVersion", sversion(11,39,12)
+ VALUE "ProductVersion", sversion(11,39,14)
VALUE "SpecialBuild", "\0"
END
END
diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc
--- a/clients/odbc/winsetup/setup.rc
+++ b/clients/odbc/winsetup/setup.rc
@@ -65,8 +65,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION version(11,39,12)
- PRODUCTVERSION version(11,39,12)
+ FILEVERSION version(11,39,14)
+ PRODUCTVERSION version(11,39,14)
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -83,12 +83,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "MonetDB B.V."
VALUE "FileDescription", "MonetDB ODBC Setup DLL"
- VALUE "FileVersion", sversion(11,39,12)
+ VALUE "FileVersion", sversion(11,39,14)
VALUE "InternalName", "MonetODBCs.dll"
VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2021"
VALUE "OriginalFilename", "MonetODBCs.dll"
VALUE "ProductName", "MonetDB SQL Server"
- VALUE "ProductVersion", sversion(11,39,12)
+ VALUE "ProductVersion", sversion(11,39,14)
END
END
BLOCK "VarFileInfo"
diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -8,7 +8,7 @@
set(MONETDB_VERSION_MAJOR "11")
set(MONETDB_VERSION_MINOR "39")
-set(MONETDB_VERSION_PATCH "12")
+set(MONETDB_VERSION_PATCH "14")
if(RELEASE_VERSION)
set(MONETDB_RELEASE "unreleased")
@@ -50,7 +50,7 @@ set(MONETDB_VERSION "${MONETDB_VERSION_M
# version of the GDK library (subdirectory gdk; also includes
# common/options and common/utils)
set(GDK_VERSION_CURRENT "22")
-set(GDK_VERSION_REVISION "1")
+set(GDK_VERSION_REVISION "2")
set(GDK_VERSION_AGE "1")
math(EXPR GDK_VERSION_MAJOR "${GDK_VERSION_CURRENT} - ${GDK_VERSION_AGE}")
set(GDK_VERSION
"${GDK_VERSION_MAJOR}.${GDK_VERSION_AGE}.${GDK_VERSION_REVISION}")
@@ -64,7 +64,7 @@ set(MAPI_VERSION "${MAPI_VERSION_MAJOR}.
# version of the MONETDB5 library (subdirectory monetdb5, not including extras
or sql)
set(MONETDB5_VERSION_CURRENT "30")
-set(MONETDB5_VERSION_REVISION "4")
+set(MONETDB5_VERSION_REVISION "5")
set(MONETDB5_VERSION_AGE "0")
math(EXPR MONETDB5_VERSION_MAJOR "${MONETDB5_VERSION_CURRENT} -
${MONETDB5_VERSION_AGE}")
set(MONETDB5_VERSION
"${MONETDB5_VERSION_MAJOR}.${MONETDB5_VERSION_AGE}.${MONETDB5_VERSION_REVISION}")
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+monetdb (11.39.13) unstable; urgency=low
+
+ * Rebuilt.
+ * GH#7049: Implement DISTINCT for GROUP_CONCAT
+
+ -- Sjoerd Mullender <[email protected]> Thu, 11 Feb 2021 10:59:33 +0100
+
monetdb (11.39.11) unstable; urgency=low
* Rebuilt.
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -1675,11 +1675,11 @@ BATsort(BAT **sorted, BAT **order, BAT *
b->tsorted = true;
b->batDirtydesc = true;
}
- if (b->trevsorted != is_oid_nil(b->tseqbase) || b->batCount <=
1) {
+ if (b->trevsorted != (is_oid_nil(b->tseqbase) || b->batCount <=
1)) {
b->trevsorted = !b->trevsorted;
b->batDirtydesc = true;
}
- if (b->tkey != !is_oid_nil(b->tseqbase)) {
+ if (b->tkey != (!is_oid_nil(b->tseqbase) || b->batCount <= 1)) {
b->tkey = !b->tkey;
b->batDirtydesc = true;
}
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -2400,8 +2400,10 @@ mergejoin(BAT **r1p, BAT **r2p, BAT *l,
nr = 0; \
if ((!nil_matches || not_in) && is_##TYPE##_nil(v)) { \
/* no match */ \
- if (not_in) \
+ if (not_in) { \
+ lskipped = BATcount(r1) > 0; \
continue; \
+ } \
} else if (hash_cand) { \
for (rb = HASHget(hsh, hash_##TYPE(hsh, &v)); \
rb != HASHnil(hsh); \
@@ -2673,8 +2675,10 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B
nr = 0;
if ((!nil_matches || not_in) && cmp(v, nil) == 0) {
/* no match */
- if (not_in)
+ if (not_in) {
+ lskipped = BATcount(r1) > 0;
continue;
+ }
} else if (hash_cand) {
for (rb = HASHget(hsh, HASHprobe(hsh, v));
rb != HASHnil(hsh);
@@ -2990,7 +2994,9 @@ count_unique(BAT *b, BAT *s, BUN *cnt1,
mask = HASHmask(ci.ncand);
if (mask < ((BUN) 1 << 16))
mask = (BUN) 1 << 16;
- if (snprintf(hs.heaplink.filename,
sizeof(hs.heaplink.filename), "%s.thshunil%x", nme, (unsigned) THRgettid()) >=
(int) sizeof(hs.heaplink.filename) ||
+ if ((hs.heaplink.farmid = BBPselectfarm(TRANSIENT, b->ttype,
hashheap)) < 0 ||
+ (hs.heapbckt.farmid = BBPselectfarm(TRANSIENT, b->ttype,
hashheap)) < 0 ||
+ snprintf(hs.heaplink.filename,
sizeof(hs.heaplink.filename), "%s.thshunil%x", nme, (unsigned) THRgettid()) >=
(int) sizeof(hs.heaplink.filename) ||
snprintf(hs.heapbckt.filename,
sizeof(hs.heapbckt.filename), "%s.thshunib%x", nme, (unsigned) THRgettid()) >=
(int) sizeof(hs.heapbckt.filename) ||
HASHnew(&hs, b->ttype, BUNlast(b), mask, BUN_NONE, false)
!= GDK_SUCCEED) {
GDKerror("cannot allocate hash table\n");
diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c
--- a/gdk/gdk_project.c
+++ b/gdk/gdk_project.c
@@ -612,7 +612,7 @@ BATproject2(BAT *restrict l, BAT *restri
}
if (!stringtrick && tpe != TYPE_oid)
- tpe = ATOMstorage(tpe);
+ tpe = ATOMbasetype(tpe);
switch (tpe) {
case TYPE_bte:
res = project_bte(bn, l, lci, r1, r2);
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -865,7 +865,12 @@ ilog2(BUN x)
/* degenerates into half range */ \
/* -inf < x <[=] *tl */ \
anti = false; \
- th = tl; \
+ if (tl == &vl.v_##TYPE) { \
+ vh.v_##TYPE = vl.v_##TYPE; \
+ th = &vh.v_##TYPE; \
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list