Changeset: ef9f4be424f1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ef9f4be424f1
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_bat.c
sql/storage/bat/bat_storage.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: nilmask
Log Message:
merged with default
diffs (truncated from 11653 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
@@ -29,7 +29,8 @@ jobs:
run: |
mkdir build
cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/${{ matrix.branch }}
-DPY3INTEGRATION=OFF -DCMAKE_BUILD_TYPE=Release -DASSERT=OFF -DRINTEGRATION=OFF
+ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/${{ matrix.branch }}
-DPY3INTEGRATION=OFF -DCMAKE_BUILD_TYPE=Release -DASSERT=OFF -DRINTEGRATION=OFF
\
+ -DCMAKE_SUMMARY=ON
make install -j3
if: runner.os == 'Linux'
-
@@ -41,7 +42,7 @@ jobs:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/${{ matrix.branch }}
-DPY3INTEGRATION=OFF -DCMAKE_BUILD_TYPE=Release -DASSERT=OFF -DRINTEGRATION=OFF
\
- -DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison
+ -DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison
-DCMAKE_SUMMARY=ON
make install -j3
if: runner.os == 'macOS'
- name: ctest
@@ -50,14 +51,16 @@ jobs:
cmake --build . --target test
- name: install pymonetdb
run: pip3 install pymonetdb
+ - name: which python
+ run:
+ head -n 1 $HOME/${{ matrix.branch }}/bin/Mtest.py
- name: mtest
run: |
#cd build
#cmake --build . --target mtest
- $HOME/${{ matix.branch }}/Mtest.py -r --debug=0
- #-
- #uses: actions/upload-artifact@v3
- #name: Publish Linux binary wheels
- #with:
- #name: monetdbe-linux-wheel-${{ matrix.branch }}-${{
matrix.python-version }}
- #path: dist/*.whl
+ PATH=$HOME/${{ matrix.branch }}/bin:$PATH $HOME/${{ matrix.branch
}}/bin/Mtest.py -r --debug=0 --ci --no-html
+ - name: Publish mtest results
+ uses: actions/upload-artifact@v3
+ with:
+ name: mtest-${{ matrix.branch }}
+ path: ${{ matrix.branch }}/mTests/*
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog file for devel
# This file is updated with Maddlog
+* Mon Oct 30 2023 Sjoerd Mullender <[email protected]>
+- The ranges of merge partitions are now pushed down into the low
+ level GDK operations, giving them a handle to sometimes execute more
+ efficiently.
+
* Thu Jul 27 2023 Niels Nes <[email protected]>
- Removed the PYTHON MAP external language option, as after a fork the
synchronization primitives could be in any state, leading to deadlocks.
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -123,6 +123,10 @@ BuildRequires: geos-devel >= 3.10.0
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libxml-2.0)
+%if 0%{?rhel} != 7
+BuildRequires: pkgconfig(openssl) >= 1.1.1
+%global with_openssl 1
+%endif
%if %{with pcre}
BuildRequires: pkgconfig(libpcre) >= 4.5
%endif
@@ -369,6 +373,7 @@ developer.
%{_bindir}/ODBCtester
%{_bindir}/arraytest
%{_bindir}/bincopydata
+%{_bindir}/murltest
%{_bindir}/odbcsample1
%{_bindir}/sample0
%{_bindir}/sample1
@@ -805,6 +810,7 @@ fi
-DWITH_CURL=ON \
-DWITH_LZ4=ON \
-DWITH_LZMA=ON \
+ -DWITH_OPENSSL=%{?with_openssl:ON}%{!?with_openssl:OFF} \
-DWITH_PCRE=ON \
-DWITH_PROJ=OFF \
-DWITH_READLINE=ON \
diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py
--- a/NT/mkodbcwxs.py
+++ b/NT/mkodbcwxs.py
@@ -36,10 +36,12 @@ def main():
if sys.argv[2] == '64':
folder = r'ProgramFiles64Folder'
arch = 'x64'
+ libcrypto = '-x64'
vcpkg = r'C:\vcpkg\installed\x64-windows\{}'
else:
folder = r'ProgramFilesFolder'
arch = 'x86'
+ libcrypto = ''
vcpkg = r'C:\vcpkg\installed\x86-windows\{}'
vcdir = os.getenv('VCINSTALLDIR')
if vcdir is None:
@@ -91,6 +93,8 @@ def main():
vcpkg.format(r'bin\iconv-2.dll'),
vcpkg.format(r'bin\bz2.dll'),
vcpkg.format(r'bin\charset-1.dll'), # for iconv-2.dll
+ vcpkg.format(r'bin\libcrypto-3{}.dll'.format(libcrypto)),
+ vcpkg.format(r'bin\libssl-3{}.dll'.format(libcrypto)),
vcpkg.format(r'bin\lz4.dll'),
vcpkg.format(r'bin\liblzma.dll'),
vcpkg.format(r'bin\zlib1.dll')])
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -43,10 +43,12 @@ def main():
if sys.argv[2] == '64':
folder = r'ProgramFiles64Folder'
arch = 'x64'
+ libcrypto = '-x64'
vcpkg = r'C:\vcpkg\installed\x64-windows\{}'
else:
folder = r'ProgramFilesFolder'
arch = 'x86'
+ libcrypto = ''
vcpkg = r'C:\vcpkg\installed\x86-windows\{}'
vcdir = os.getenv('VCINSTALLDIR')
if vcdir is None:
@@ -158,6 +160,8 @@ def main():
vcpkg.format(r'bin\bz2.dll'),
vcpkg.format(r'bin\charset-1.dll'), # for iconv-2.dll
vcpkg.format(r'bin\getopt.dll'),
+ vcpkg.format(r'bin\libcrypto-3{}.dll'.format(libcrypto)),
+ vcpkg.format(r'bin\libssl-3{}.dll'.format(libcrypto)),
vcpkg.format(r'bin\libxml2.dll'),
vcpkg.format(r'bin\lz4.dll'),
vcpkg.format(r'bin\liblzma.dll'),
diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt
--- a/clients/CMakeLists.txt
+++ b/clients/CMakeLists.txt
@@ -8,8 +8,8 @@
# Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V.
#]]
+add_subdirectory(mapilib)
add_subdirectory(mapiclient)
-add_subdirectory(mapilib)
add_subdirectory(odbc)
if(TESTING)
add_subdirectory(examples)
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
@@ -125,6 +125,7 @@ void BATfakeCommit(BAT *b);
gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps,
BUN n, bool asc, bool nilslast, bool distinct)
__attribute__((__warn_unused_result__));
restrict_t BATgetaccess(BAT *b);
ValPtr BATgetprop(BAT *b, enum prop_t idx);
+ValPtr BATgetprop_nolock(BAT *b, enum prop_t idx);
gdk_return BATgroup(BAT **groups, BAT **extents, BAT **histo, BAT *b, BAT *s,
BAT *g, BAT *e, BAT *h) __attribute__((__warn_unused_result__));
const char *BATgroupaggrinit(BAT *b, BAT *g, BAT *e, BAT *s, oid *minp, oid
*maxp, BUN *ngrpp, struct canditer *ci);
gdk_return BATgroupavg(BAT **bnp, BAT **cntsp, BAT *b, BAT *g, BAT *e, BAT *s,
int tp, bool skip_nils, int scale);
@@ -184,6 +185,8 @@ BAT *BATprojectchain(BAT **bats);
gdk_return BATrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT
*sl, BAT *sr, bool li, bool hi, bool anti, bool symmetric, BUN estimate)
__attribute__((__warn_unused_result__));
gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bool force)
__attribute__((__warn_unused_result__));
gdk_return BATreplacepos(BAT *b, const oid *positions, BAT *n, bool autoincr,
bool force) __attribute__((__warn_unused_result__));
+void BATrmprop(BAT *b, enum prop_t idx);
+void BATrmprop_nolock(BAT *b, enum prop_t idx);
gdk_return BATroles(BAT *b, const char *tnme);
gdk_return BATrtree(BAT *wkb, BAT *mbr);
BAT *BATsample(BAT *b, BUN n);
@@ -194,6 +197,8 @@ gdk_return BATsemijoin(BAT **r1p, BAT **
BAT *BATsetaccess(BAT *b, restrict_t mode)
__attribute__((__warn_unused_result__));
void BATsetcapacity(BAT *b, BUN cnt);
void BATsetcount(BAT *b, BUN cnt);
+ValPtr BATsetprop(BAT *b, enum prop_t idx, int type, const void *v);
+ValPtr BATsetprop_nolock(BAT *b, enum prop_t idx, int type, const void *v);
gdk_return BATsetstrimps(BAT *b);
BAT *BATslice(BAT *b, BUN low, BUN high);
gdk_return BATsort(BAT **sorted, BAT **order, BAT **groups, BAT *b, BAT *o,
BAT *g, bool reverse, bool nilslast, bool stable)
__attribute__((__warn_unused_result__));
@@ -714,6 +719,24 @@ char *mo_find_option(opt *set, int setle
void mo_free_options(opt *set, int setlen);
void mo_print_options(opt *set, int setlen);
int mo_system_config(opt **Set, int setlen);
+mparm mparm_parse(const char *name);
+bool msetting_bool(const msettings *mp, mparm parm);
+long msetting_long(const msettings *mp, mparm parm);
+int msetting_parse_bool(const char *text);
+msettings_error msetting_set_named(msettings *mp, bool allow_core, const char
*key, const char *value);
+const char *msetting_string(const msettings *mp, mparm parm);
+long msettings_connect_binary(const msettings *mp);
+const char *msettings_connect_certhash_digits(const msettings *mp);
+long msettings_connect_port(const msettings *mp);
+bool msettings_connect_scan(const msettings *mp);
+const char *msettings_connect_sockdir(const msettings *mp);
+const char *msettings_connect_tcp(const msettings *mp);
+enum msetting_tls_verify msettings_connect_tls_verify(const msettings *mp);
+const char *msettings_connect_unix(const msettings *mp);
+msettings *msettings_create(void);
+msettings *msettings_destroy(msettings *mp);
+bool msettings_parse_url(msettings *mp, const char *url, char **error_buffer);
+bool msettings_validate(msettings *mp, char **errmsg);
const char *wsaerror(int);
# monetdb5
@@ -1191,7 +1214,7 @@ const char *replaceRef;
void resetMalBlk(MalBlkPtr mb);
void resetMalTypes(MalBlkPtr mb, int stop);
int resizeMalBlk(MalBlkPtr mb, int elements);
-int resolveType(int dsttype, int srctype);
+int resolvedType(int dsttype, int srctype);
const char *resultSetRef;
const char *revokeRef;
const char *revoke_functionRef;
@@ -1708,6 +1731,8 @@ stream *open_rstream(const char *filenam
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);
+stream *openssl_wstream(const char *hostname, BIO *bio);
stream *socket_rstream(SOCKET socket, const char *name);
stream *socket_wstream(SOCKET socket, const char *name);
stream *stderr_wastream(void);
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
@@ -80,6 +80,19 @@ target_link_libraries(bincopyloops
copybinary
)
+add_executable(murltest
+ murltest.c
+ testsfile.c
+ murltest.h
+)
+
+target_link_libraries(murltest
+ PRIVATE
+ monetdb_config_header
+ mapi
+ stream
+)
+
install(TARGETS
sample0
sample1
@@ -89,6 +102,7 @@ install(TARGETS
streamcat
testcondvar
bincopydata
+ murltest
RUNTIME
DESTINATION
${CMAKE_INSTALL_BINDIR}
@@ -105,6 +119,7 @@ if(WIN32)
$<TARGET_PDB_FILE:testcondvar>
$<TARGET_PDB_FILE:bincopydata>
$<TARGET_PDB_FILE:bincopyloops>
+ $<TARGET_PDB_FILE:murltest>
DESTINATION ${CMAKE_INSTALL_BINDIR}
OPTIONAL)
endif()
diff --git a/clients/examples/C/murltest.c b/clients/examples/C/murltest.c
new file mode 100644
--- /dev/null
+++ b/clients/examples/C/murltest.c
@@ -0,0 +1,94 @@
+/*
+ * SPDX-License-Identifier: MPL-2.0
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V.
+ */
+
+#define _POSIX_C_SOURCE 200809L
+
+#include "murltest.h"
+
+#include <errno.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+
+char *USAGE = "Usage: murltest TESTFILES..";
+
+static bool
+run_file(const char *filename, int verbose)
+{
+ stream *s;
+ if (strcmp(filename, "-") == 0) {
+ s = stdin_rastream();
+ } else {
+ s = open_rastream(filename);
+ if (!s || mnstr_errnr(s) != MNSTR_NO__ERROR) {
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]