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 <sjo...@acm.org> - 11.39.13-20210211 +- Rebuilt. +- GH#7049: Implement DISTINCT for GROUP_CONCAT + * Mon Jan 18 2021 Sjoerd Mullender <sjo...@acm.org> - 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 <sjo...@acm.org> 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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list