Changeset: 2adfb79ddd57 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/2adfb79ddd57 Modified Files: gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_join.c gdk/gdk_select.c gdk/gdk_system.h gdk/gdk_unique.c Branch: qcancel Log Message:
merge with default diffs (truncated from 93791 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -798,3 +798,5 @@ 929f5e280bc1532a2bfaab127ca7915dc3b69a33 742b7847cfdcea39a6c19ab29eb35471d46bb2bb Oct2020_SP2_release 17d27ad30941c81e4bc700300912e84e9b9a8c37 Oct2020_13 17d27ad30941c81e4bc700300912e84e9b9a8c37 Oct2020_SP3_release +6b71a8cc3498561815ac88d6c652922359efd13a Oct2020_15 +6b71a8cc3498561815ac88d6c652922359efd13a Oct2020_SP4_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -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-SP3/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Oct2020-SP4/%{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 @@ -828,6 +828,48 @@ else fi %changelog +* Fri Apr 02 2021 Sjoerd Mullender <[email protected]> - 11.39.15-20210402 +- Rebuilt. +- GH#6786: function json.isvalid(js json) is not useful, could be removed +- GH#7016: Database crashes when use similarity function on a table with + more than 200k records +- GH#7037: Clearer err msg for ALTER USER with insufficient privileges +- GH#7042: AddressSanitizer:DEADLYSIGNAL in Oct2020/gdk/gdk_tracer.c:494 +- GH#7050: file descriptor leak when forward=redirect +- GH#7057: ODBC driver installer on Windows is missing some DLLs +- GH#7058: MonetDBe: COPY INTO csv file does not produce any output +- GH#7059: MonetDBe: 'reverse' C UDF crashes +- GH#7061: Have bulk load support combined gzip files +- GH#7064: Temporary hashes created in hash and unique logic should try to + use transient data farm first +- GH#7066: percent_rank function with wrong results +- GH#7070: double free error when running MonetDBe Example +- GH#7076: mserver5 ignores memory.low from cgroups v2 +- GH#7077: Oct2020: new default privileges not effectively communicated +- GH#7083: MonetDBe C++ Compiling Error +- GH#7085: Mitosis and filter functions +- GH#7087: SIGSEGV caused by error in subquery's function being ignored by + top-level query +- GH#7089: Data consistency problem of query results in the latest release + of Monetdb (Remote Table) + +* Wed Mar 31 2021 Sjoerd Mullender <[email protected]> - 11.39.15-20210402 +- odbc: When connecting using a DSN (Data Source Name), information about the + data source is retrieved from the ODBC.INI file. Now we also get the + location of the LOGFILE from this file. The logfile can be used to + log all calls to the MonetDB ODBC driver to a file which can be used + for debugging. + +* Thu Mar 25 2021 Sjoerd Mullender <[email protected]> - 11.39.15-20210402 +- odbc: The ODBC driver now only passes on information about HUGEINT columns + as HUGEINT when the application has indicated interest by querying + about the SQL_HUGEINT extension type using the SQLGetTypeInfo + function or by specifying the type in a call to SQLSetDescField. + Otherwise the driver silently translates the HUGEINT type to BIGINT. + This means that most application will see BIGINT columns when the + server produced a HUGEINT column and only give an error if the value + in the HUGEINT column didn't fit into a BIGINT. + * Thu Feb 11 2021 Sjoerd Mullender <[email protected]> - 11.39.13-20210211 - Rebuilt. - GH#7049: Implement DISTINCT for GROUP_CONCAT 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 @@ -146,6 +146,7 @@ BAT *BATgroupsum(BAT *b, BAT *g, BAT *e, BAT *BATgroupvariance_population(BAT *b, BAT *g, BAT *e, BAT *s, int tp, bool skip_nils, bool abort_on_error); BAT *BATgroupvariance_sample(BAT *b, BAT *g, BAT *e, BAT *s, int tp, bool skip_nils, bool abort_on_error); BUN BATgrows(BAT *b); +BUN BATguess_uniques(BAT *b, struct canditer *ci); gdk_return BAThash(BAT *b); void BAThseqbase(BAT *b, oid o); gdk_return BATimprints(BAT *b); @@ -181,7 +182,7 @@ gdk_return BATrangejoin(BAT **r1p, BAT * gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bool force) __attribute__((__warn_unused_result__)); gdk_return BATroles(BAT *b, const char *tnme); BAT *BATsample(BAT *b, BUN n); -BAT *BATsample_with_seed(BAT *b, BUN n, unsigned seed); +BAT *BATsample_with_seed(BAT *b, BUN n, uint64_t seed); gdk_return BATsave(BAT *b) __attribute__((__warn_unused_result__)); BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, bool li, bool hi, bool anti); gdk_return BATsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool max_one, BUN estimate) __attribute__((__warn_unused_result__)); @@ -242,7 +243,7 @@ gdk_return GDKanalytical_variance_samp(B gdk_return GDKanalyticalavg(BAT *r, BAT *p, BAT *o, BAT *b, BAT *s, BAT *e, int tpe, int frame_type); gdk_return GDKanalyticalavginteger(BAT *r, BAT *p, BAT *o, BAT *b, BAT *s, BAT *e, int tpe, int frame_type); gdk_return GDKanalyticalcount(BAT *r, BAT *p, BAT *o, BAT *b, BAT *s, BAT *e, bit ignore_nils, int tpe, int frame_type); -gdk_return GDKanalyticaldiff(BAT *r, BAT *b, BAT *p, int tpe); +gdk_return GDKanalyticaldiff(BAT *r, BAT *b, BAT *p, const bit *restrict npbit, int tpe); gdk_return GDKanalyticalfirst(BAT *r, BAT *b, BAT *s, BAT *e, int tpe); gdk_return GDKanalyticallag(BAT *r, BAT *b, BAT *p, BUN lag, const void *restrict default_value, int tpe); gdk_return GDKanalyticallast(BAT *r, BAT *b, BAT *s, BAT *e, int tpe); @@ -1277,6 +1278,7 @@ const char *remapRef; const char *remoteRef; void removeInstruction(MalBlkPtr mb, InstrPtr p); void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt); +void removeMalBlkHistory(MalBlkPtr mb); void renameVariables(MalBlkPtr mb); const char *rename_columnRef; const char *rename_schemaRef; @@ -1452,7 +1454,7 @@ int mnstr_fsetpos(stream *restrict s, fp int mnstr_fsync(stream *s); buffer *mnstr_get_buffer(stream *s); bool mnstr_get_swapbytes(const stream *s); -int mnstr_init(bool embedded); +int mnstr_init(void); int mnstr_isalive(const stream *s); bool mnstr_isbinary(const stream *s); char *mnstr_name(const stream *s); diff --git a/clients/examples/C/streamcat.c b/clients/examples/C/streamcat.c --- a/clients/examples/C/streamcat.c +++ b/clients/examples/C/streamcat.c @@ -92,7 +92,7 @@ croak(int status, const char *msg, ...) int main(int argc, char *argv[]) { - if (mnstr_init(false) < 0) + if (mnstr_init() < 0) croak(2, "Could not initialize streams library"); if (argc < 2) diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -3178,7 +3178,7 @@ main(int argc, char **argv) perror("sigaction"); #endif - if (mnstr_init(false) < 0) { + if (mnstr_init() < 0) { fprintf(stderr, "error: could not initialize streams library"); exit(2); } diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c --- a/clients/mapilib/mapi.c +++ b/clients/mapilib/mapi.c @@ -2039,7 +2039,7 @@ mapi_mapiuri(const char *url, const char char *query; if (!ATOMIC_TAS(&mapi_initialized)) { - if (mnstr_init(false) < 0) + if (mnstr_init() < 0) return NULL; } @@ -2161,7 +2161,7 @@ mapi_mapi(const char *host, int port, co Mapi mid; if (!ATOMIC_TAS(&mapi_initialized)) { - if (mnstr_init(false) < 0) + if (mnstr_init() < 0) return NULL; } diff --git a/clients/odbc/ChangeLog b/clients/odbc/ChangeLog --- a/clients/odbc/ChangeLog +++ b/clients/odbc/ChangeLog @@ -1,13 +1,3 @@ # ChangeLog file for odbc # This file is updated with Maddlog -* Thu Mar 25 2021 Sjoerd Mullender <[email protected]> -- The ODBC driver now only passes on information about HUGEINT columns - as HUGEINT when the application has indicated interest by querying - about the SQL_HUGEINT extension type using the SQLGetTypeInfo - function or by specifying the type in a call to SQLSetDescField. - Otherwise the driver silently translates the HUGEINT type to BIGINT. - This means that most application will see BIGINT columns when the - server produced a HUGEINT column and only give an error if the value - in the HUGEINT column didn't fit into a BIGINT. - diff --git a/clients/odbc/ChangeLog-Archive b/clients/odbc/ChangeLog-Archive --- a/clients/odbc/ChangeLog-Archive +++ b/clients/odbc/ChangeLog-Archive @@ -1,6 +1,23 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Wed Mar 31 2021 Sjoerd Mullender <[email protected]> - 11.39.15-20210402 +- When connecting using a DSN (Data Source Name), information about the + data source is retrieved from the ODBC.INI file. Now we also get the + location of the LOGFILE from this file. The logfile can be used to + log all calls to the MonetDB ODBC driver to a file which can be used + for debugging. + +* Thu Mar 25 2021 Sjoerd Mullender <[email protected]> - 11.39.15-20210402 +- The ODBC driver now only passes on information about HUGEINT columns + as HUGEINT when the application has indicated interest by querying + about the SQL_HUGEINT extension type using the SQLGetTypeInfo + function or by specifying the type in a call to SQLSetDescField. + Otherwise the driver silently translates the HUGEINT type to BIGINT. + This means that most application will see BIGINT columns when the + server produced a HUGEINT column and only give an error if the value + in the HUGEINT column didn't fit into a BIGINT. + * Mon Apr 20 2020 Sjoerd Mullender <[email protected]> - 11.37.1-20200511 - The NUMERIC and FLOAT types are now handled fully. Before only DECIMAL, FLOAT, and DOUBLE were handled fully. diff --git a/clients/odbc/ChangeLog.Oct2020 b/clients/odbc/ChangeLog.Oct2020 new file mode 100644 --- /dev/null +++ b/clients/odbc/ChangeLog.Oct2020 @@ -0,0 +1,3 @@ +# ChangeLog file for odbc +# This file is updated with Maddlog + diff --git a/clients/odbc/driver/SQLConnect.c b/clients/odbc/driver/SQLConnect.c --- a/clients/odbc/driver/SQLConnect.c +++ b/clients/odbc/driver/SQLConnect.c @@ -141,6 +141,20 @@ MNDBConnect(ODBCDbc *dbc, } } +#ifdef ODBCDEBUG + if ((ODBCdebug == NULL || *ODBCdebug == 0) && dsn && *dsn) { + char logfile[2048]; + n = SQLGetPrivateProfileString(dsn, "logfile", "", + logfile, sizeof(logfile), + "odbc.ini"); + if (n > 0) { + if (ODBCdebug) + free((void *) ODBCdebug); /* discard const */ + ODBCdebug = strdup(logfile); + } + } +#endif + if (dsn && *dsn) n = SQLGetPrivateProfileString(dsn, "uid", "monetdb", uid, sizeof(uid), "odbc.ini"); diff --git a/clients/odbc/driver/SQLGetTypeInfo.c b/clients/odbc/driver/SQLGetTypeInfo.c --- a/clients/odbc/driver/SQLGetTypeInfo.c +++ b/clients/odbc/driver/SQLGetTypeInfo.c @@ -1148,6 +1148,10 @@ MNDBGetTypeInfo(ODBCStmt *stmt, assert(t == types || t->data_type >= (t-1)->data_type); if (DataType != SQL_ALL_TYPES && DataType != t->data_type) continue; + if (DataType == SQL_ALL_TYPES && + t->data_type == SQL_HUGEINT && + !stmt->Dbc->allow_hugeint) + continue; if (first) { /* specify column types in first set of values */ i += snprintf(query + i, sizeof(query) - i, diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake --- a/cmake/monetdb-versions.cmake +++ b/cmake/monetdb-versions.cmake @@ -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 "2") +set(GDK_VERSION_REVISION "3") 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 "5") +set(MONETDB5_VERSION_REVISION "6") 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/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -148,7 +148,7 @@ get_tl_error_buf(void) static const char *mnstr_error_kind_description(mnstr_error_kind kind); int -mnstr_init(bool embedded) +mnstr_init(void) { static ATOMIC_FLAG inited = ATOMIC_FLAG_INIT; @@ -159,15 +159,11 @@ mnstr_init(bool embedded) return -1; #ifdef NATIVE_WIN32 - if (!embedded) { - WSADATA w; + WSADATA w; + if (WSAStartup(0x0101, &w) != 0) + return -1; +#endif - if (WSAStartup(0x0101, &w) != 0) - return -1; - } -#else - (void)embedded; _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
