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]

Reply via email to