Changeset: 275588293138 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/275588293138 Modified Files: MonetDB.spec clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test clients/Tests/exports.stable.out clients/mapilib/mapi.c gdk/gdk.h gdk/gdk_atoms.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_calc_convert.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/remote.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/common/sql_types.c sql/common/sql_types.h sql/include/sql_catalog.h sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_optimize_others.c sql/server/rel_optimize_sel.c sql/server/rel_propagate.c sql/server/rel_rel.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_statistics.c sql/server/rel_statistics_functions.c sql/server/rel_unnest.c sql/server/sql_atom.c sql/server/sql_mvc.c sql/server/sql_parser.y sql/server/sql_partition.c sql/server/sql_scan.c sql/server/sql_semantic.c sql/storage/store.c Branch: no_type_bat Log Message:
merged diffs (truncated from 16552 to 300 lines): diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -43,7 +43,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: ref: ${{ github.ref }} @@ -129,7 +129,7 @@ jobs: - name: Tar files run: tar -cvf mtests.tar mTests - name: Publish mtest results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: mtest-${{ github.sha }}-${{ matrix.os }}-${{ matrix.c_compiler }} path: mtests.tar diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -820,3 +820,6 @@ c9e6096e7519636a4e840c7a0c2e27cccb7dc0fe c9e6096e7519636a4e840c7a0c2e27cccb7dc0fe Jun2023_SP3_release 1230526af30f40eeea30fb87c47c3e414920561f Dec2023_1 1230526af30f40eeea30fb87c47c3e414920561f Dec2023_release +95d8feaa1167b5ba87bd99253c3f4e62ebf528a1 Dec2023_3 +dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_5 +dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release diff --git a/ChangeLog-Archive b/ChangeLog-Archive --- a/ChangeLog-Archive +++ b/ChangeLog-Archive @@ -1,6 +1,12 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Thu Jan 11 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304 +- The copyright for the MonetDB software has been transferred to the newly + established MonetDB Foundation, a not-for-profit foundation with the + express goal of furthering the MonetDB database system. The license + for the software does not change: MonetDB remains fully open source. + * Fri Dec 1 2023 Sjoerd Mullender <sjo...@acm.org> - 11.49.1-20231221 - All binary packages are now signed with a new key with key fingerprint DBCE 5625 94D7 1959 7B54 CE85 3F1A D47F 5521 A603. diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -91,7 +91,7 @@ Group: Applications/Databases License: MPL-2.0 URL: https://www.monetdb.org/ BugURL: https://github.com/MonetDB/MonetDB/issues -Source: https://www.monetdb.org/downloads/sources/Dec2023/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Dec2023-SP1/%{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 @@ -916,6 +916,89 @@ fi %endif %changelog +* Tue Mar 12 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.5-20240312 +- Rebuilt. +- GH#7390: Some MonetDB Server crashes found +- GH#7465: Unexpected result when using `NULL` in `BETWEEN` + +* Fri Mar 8 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.5-20240312 +- gdk: The internal hash function for floating point types has been changed. + It is now no longer based on the bit representation, but on the value, + meaning that +0 and -0 (yes, they both exist in floating point) now + hash to the same value. + +* Thu Mar 7 2024 Lucas Pereira <lucas.pere...@monetdbsolutions.com> - 11.49.5-20240312 +- sql: performance improvement of 'startswith' and 'endswith' filter functions + for join operators + +* Wed Mar 6 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.5-20240312 +- clients: Fixed an issue where mclient wouldn't exit if the server it had + connected to exited for whatever reason while the client was waiting + for a query result. + +* Mon Mar 04 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304 +- Rebuilt. +- GH#6800: Please add information_schema (ANSI SQL norm) +- GH#7152: Occasional dbfarm corruption upon database restart +- GH#7412: MonetDB server crashes in `vscanf` +- GH#7415: MonetDB server crashes in `HEAP_malloc` +- GH#7416: MonetDB server crashes in `atom_get_int` +- GH#7417: MonetDB server crashes in `trimchars`. +- GH#7418: MonetDB server crashes in `bind_col_exp` +- GH#7420: Performance issue with lower(string) +- GH#7425: The last statement, execution error, is a false positive? +- GH#7426: Unexpected result for INNER JOIN with IS NOT NULL +- GH#7428: Unexpected result when using BETWEEN operator +- GH#7429: Unexpected result when using `CASE WHEN` +- GH#7430: Unexpected result when using `AND` and `IS NOT NULL` +- GH#7431: [bug] Error code found, please confirm +- GH#7432: MonetDB server crashes in `dameraulevenshtein` +- GH#7433: MonetDB server crashes in `exp_atom` +- GH#7434: MonetDB server crashes in `exp_bin` +- GH#7435: MonetDB server crashes in `exp_copy` +- GH#7436: MonetDB server crashes in `exp_ref` +- GH#7437: MonetDB server crashes in `exp_values_set_supertype` +- GH#7438: MonetDB server crashes in `exps_bind_column` +- GH#7439: MonetDB server crashes in `exps_card` +- GH#7440: MonetDB server crashes in `gc_col` +- GH#7441: MonetDB server crashes in `is_column_unique` +- GH#7442: MonetDB server crashes in `mat_join2` +- GH#7443: MonetDB server crashes in `merge_table_prune_and_unionize` +- GH#7444: [bug] the table cannot be created because the reserved word is + incorrectly set +- GH#7447: Unexpected result when using `BETWEEN` in `INNER JOIN` +- GH#7448: Unexpected result when using `AND`/`OR` chain +- GH#7450: Unexpected result when `CREATE VIEW` with `WHERE NULL` +- GH#7451: Unexpected result when using `BETWEEN` and `CAST` +- GH#7453: Cannot recover an msqldump +- GH#7455: Unexpected result when using `BETWEEN` with `BOOLEAN` values +- GH#7456: Crash when `INNER JOIN` with `VIEW` +- GH#7457: Unexpected result when using `AND` with `INTEGER` +- GH#7458: Unexpected result when using `SIGN` +- GH#7461: Crash by potentially use of bad escape characters +- GH#7462: Crash when using `BETWEEN AND` + +* Fri Mar 1 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304 +- gdk: Fixed a regression where bats weren't always cleaned up when they + weren't needed anymore. In particular, after a DELETE FROM table query + without a WHERE clause (which deletes all rows from the table), the + bats for the table get replaced by new ones, and the old, now unused, + bats weren't removed from the database. + +* Mon Jan 15 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304 +- geom: We switched over to using the reentrant interface of the geos library. + This fixed a number of bugs that would occur sporadically. + +* Mon Jan 15 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304 +- sql: The function json.isvalid(json) incorrectly returned true if the + argument was null. It should return null. + +* Thu Jan 11 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304 +- MonetDB: The copyright for the MonetDB software has been transferred to the newly + established MonetDB Foundation, a not-for-profit foundation with the + express goal of furthering the MonetDB database system. The license + for the software does not change: MonetDB remains fully open source. + * Thu Dec 21 2023 Sjoerd Mullender <sjo...@acm.org> - 11.49.1-20231221 - Rebuilt. - GH#6933: Add support for scalar function IFNULL(expr1, expr2) diff --git a/clients/ChangeLog-Archive b/clients/ChangeLog-Archive --- a/clients/ChangeLog-Archive +++ b/clients/ChangeLog-Archive @@ -1,6 +1,11 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Wed Mar 6 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.5-20240312 +- Fixed an issue where mclient wouldn't exit if the server it had + connected to exited for whatever reason while the client was waiting + for a query result. + * Tue Jun 20 2023 Sjoerd Mullender <sjo...@acm.org> - 11.47.3-20230622 - The COPY INTO from file ON CLIENT was extended to also look for a relative path name relative to the file from which the query was read. 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 @@ -814,8 +814,8 @@ void TABLETdestroy_format(Tablet *as); int TABLEToutput_file(Tablet *as, BAT *order, stream *s, bstream *in); int TRACEtable(Client cntxt, BAT **r); int TYPE_xml; -int UTF8_strlen(const char *restrict s); -int UTF8_strwidth(const char *restrict s); +int UTF8_strlen(const char *s); +int UTF8_strwidth(const char *s); void addMalException(MalBlkPtr mb, str msg); str addOptimizerPipe(Client cntxt, MalBlkPtr mb, const char *name); str addPipeDefinition(Client cntxt, const char *name, const char *pipe); @@ -1264,7 +1264,7 @@ const char *stoptraceRef; void strAfterCall(ValPtr v, ValPtr bak); void strBeforeCall(ValPtr v, ValPtr bak); const char *strRef; -int str_strlen(const char *restrict s); +int str_strlen(const char *s); const char *streamsRef; const char *strimpsRef; const char *subavgRef; @@ -1734,7 +1734,6 @@ int mnstr_writeShtArray(stream *restrict int mnstr_writeStr(stream *restrict s, const char *restrict val); stream *open_rastream(const char *filename); stream *open_rstream(const char *filename); -stream *open_urlstream(const char *url); stream *open_wastream(const char *filename); stream *open_wstream(const char *filename); stream *openssl_rstream(const char *hostname, BIO *bio); diff --git a/clients/examples/C/CMakeLists.txt b/clients/examples/C/CMakeLists.txt --- a/clients/examples/C/CMakeLists.txt +++ b/clients/examples/C/CMakeLists.txt @@ -46,7 +46,8 @@ add_executable(streamcat target_link_libraries(streamcat PRIVATE monetdb_config_header - stream) + stream + $<$<BOOL:${CURL_FOUND}>:CURL::libcurl>) add_executable(testcondvar testcondvar.c) 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 @@ -436,6 +436,75 @@ opener_rastream(char *filename) return s; } +#ifdef HAVE_CURL +#include <curl/curl.h> + +#ifndef CURL_WRITEFUNC_ERROR +#define CURL_WRITEFUNC_ERROR 0 +#endif + +static size_t +write_callback(char *buffer, size_t size, size_t nitems, void *userp) +{ + stream *s = userp; + + /* size is expected to always be 1 */ + + ssize_t sz = mnstr_write(s, buffer, size, nitems); + if (sz < 0) + return CURL_WRITEFUNC_ERROR; /* indicate failure to library */ + return (size_t) sz * size; +} + +static stream * +open_urlstream(const char *url) +{ + CURL *handle; + stream *s; + CURLcode ret; + char errbuf[CURL_ERROR_SIZE]; + + s = buffer_wastream(NULL, url); + if (s == NULL) { + return NULL; + } + + if ((handle = curl_easy_init()) == NULL) { + mnstr_destroy(s); + return NULL; + } + + errbuf[0] = 0; + + if ((ret = curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, errbuf)) != CURLE_OK || + (ret = curl_easy_setopt(handle, CURLOPT_URL, url)) != CURLE_OK || + (ret = curl_easy_setopt(handle, CURLOPT_WRITEDATA, s)) != CURLE_OK || + (ret = curl_easy_setopt(handle, CURLOPT_VERBOSE, 0)) != CURLE_OK || + (ret = curl_easy_setopt(handle, CURLOPT_NOSIGNAL, 1)) != CURLE_OK || + (ret = curl_easy_setopt(handle, CURLOPT_FAILONERROR, 1)) != CURLE_OK || + (ret = curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_callback)) != CURLE_OK || + (ret = curl_easy_perform(handle)) != CURLE_OK) { + curl_easy_cleanup(handle); + mnstr_destroy(s); + if (errbuf[0]) + fprintf(stderr, "%s\n", errbuf); + else + fprintf(stderr, "%s\n", curl_easy_strerror(ret)); + return NULL; + } + curl_easy_cleanup(handle); + (void) mnstr_get_buffer(s); /* switch to read-only */ + return s; +} +#else +static stream * +open_urlstream(const char *url) +{ + (void) url; + return NULL; +} +#endif + static stream * opener_urlstream(char *url) { diff --git a/clients/mapiclient/CMakeLists.txt b/clients/mapiclient/CMakeLists.txt --- a/clients/mapiclient/CMakeLists.txt +++ b/clients/mapiclient/CMakeLists.txt @@ -54,6 +54,7 @@ target_link_libraries(mclient mapi stream $<$<BOOL:${READLINE_FOUND}>:Readline::Readline> + $<$<BOOL:${CURL_FOUND}>:CURL::libcurl> $<$<BOOL:${Iconv_FOUND}>:Iconv::Iconv> $<$<PLATFORM_ID:Windows>:${GETOPT_LIB}>) diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org