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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> -
11.49.5-20240312
+- sql: performance improvement of 'startswith' and 'endswith' filter functions
+ for join operators
+
+* Wed Mar 6 2024 Sjoerd Mullender <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 <[email protected]> - 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 -- [email protected]
To unsubscribe send an email to [email protected]