Changeset: d9497995919e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d9497995919e
Modified Files:
        .github/workflows/linux.yml
        MonetDB.spec
        clients/Tests/MAL-signatures-hge.test
        clients/Tests/MAL-signatures.test
        clients/Tests/exports.stable.out
        cmake/monetdb-findpackages.cmake
        gdk/CMakeLists.txt
        gdk/gdk.h
        gdk/gdk_atoms.c
        gdk/gdk_bbp.c
        gdk/gdk_hash.c
        gdk/gdk_private.h
        gdk/gdk_string.c
        monetdb5/mal/CMakeLists.txt
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_namespace.h
        monetdb5/modules/mal/calc.c
        monetdb5/optimizer/opt_pushselect.c
        sql/backends/monet5/CMakeLists.txt
        sql/storage/store.c
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.int128
        tools/mserver/mserver5.c
Branch: pp_hashjoin
Log Message:

merged with default


diffs (truncated from 5661 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
@@ -58,6 +58,9 @@ jobs:
         run: pip3 install --user --break-system-packages --upgrade pymonetdb 
cryptography
         if: runner.os == 'macOS'
 
+      - name: install packages
+        run: sudo apt-get install -y bison libbz2-dev libpcre2-dev liblzma-dev 
liblz4-dev libxml2-dev pkg-config libxxhash-dev unixodbc-dev zlib1g-dev 
libssl-dev
+        if: runner.os == 'Linux'
 
       - name: Patch /etc/hosts on Unix
         run: echo '127.0.0.1   altlocalhost' | sudo tee -a /etc/hosts
@@ -82,7 +85,7 @@ jobs:
         if: runner.os == 'Linux'
 
       - name: brew packages
-        run: brew install bison
+        run: brew install bison pkgconf xxhash
         if: runner.os == 'macOS'
 
       - name: make MonetDB on macos
@@ -116,7 +119,7 @@ jobs:
       - name: choco packages
         run: |
           choco install winflexbison3
-          vcpkg install libiconv bzip2 libxml2 pcre2 zlib getopt
+          vcpkg install libiconv bzip2 libxml2 pcre2 zlib getopt pkgconf xxhash
         if: runner.os == 'Windows'
 
       - name: make MonetDB on Windows
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -119,6 +119,7 @@ BuildRequires: pkgconfig(libpcre2-8)
 %endif
 BuildRequires: pkgconfig(zlib)
 BuildRequires: pkgconfig(liblz4) >= 1.8
+BuildRequires: pkgconfig(libxxhash)
 # optional packages:
 # BuildRequires: pkgconfig(cmocka)      # -DWITH_CMOCKA=ON
 # BuildRequires: pkgconfig(gdal)        # -DSHP=ON
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -152,16 +152,17 @@ def main():
                rf'bin\monetdbsql-{version}.dll',
                rf'bin\stream-{version}.dll',
                rf'bin\mutils-{version}.dll',
-               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\getopt.dll'),
+               vcpkg.format(r'bin\iconv-2.dll'),
                vcpkg.format(r'bin\libcrypto-3{}.dll'.format(libcrypto)),
+               vcpkg.format(r'bin\liblzma.dll'),
                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'),
                vcpkg.format(r'bin\pcre2-8.dll'),
+               vcpkg.format(r'bin\xxhash.dll'),
                vcpkg.format(r'bin\z.dll')])
     id = comp(debug, id, 14,
               [r'bin\mclient.pdb',
@@ -213,14 +214,15 @@ def main():
                rf'lib\monetdbsql-{version}.lib',
                rf'lib\stream-{version}.lib',
                rf'lib\mutils-{version}.lib',
-               vcpkg.format(r'lib\iconv.lib'),
                vcpkg.format(r'lib\bz2.lib'),
                vcpkg.format(r'lib\charset.lib'),
                vcpkg.format(r'lib\getopt.lib'),
+               vcpkg.format(r'lib\iconv.lib'),
                vcpkg.format(r'lib\libxml2.lib'),
                vcpkg.format(r'lib\lz4.lib'),
                vcpkg.format(r'lib\lzma.lib'),
                vcpkg.format(r'lib\pcre2-8.lib'),
+               vcpkg.format(r'lib\xxhash.lib'),
                vcpkg.format(r'lib\z.lib')])
     print(r'            </Directory>')
     print(r'            <Directory Id="share" Name="share">')
diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -94,7 +94,8 @@ Required and Optional Packages
 ..............................
 
 On Fedora, the following packages are required:
-``bison``, ``cmake``, ``gcc``, ``pkgconf``, ``python3``.
+``bison``, ``cmake``, ``gcc``, ``pkgconf``, ``python3``,
+``xxhash-devel``.
 
 The following packages are optional but recommended:
 ``bzip2-devel``, ``lz4-devel``, ``openssl-devel``, ``pcre2-devel``,
@@ -107,11 +108,12 @@ The following packages are optional:
 ``valgrind-devel``.
 
 On Ubuntu and Debian the following packages are required:
-``bison``, ``cmake``, ``gcc``, ``pkg-config``, ``python3``.
+``bison``, ``cmake``, ``gcc``, ``pkg-config``, ``python3``,
+``libxxash-dev``.
 
 The following packages are optional but recommended:
-``libbz2-dev``, ``liblz4-dev``, ``libpcre2-dev``, ``libreadline-dev``,
-``liblzma-dev``, ``libssl-dev``, ``zlib1g-dev``.
+``libbz2-dev``, ``liblz4-dev``, ``liblzma-dev``, ``libpcre2-dev``,
+``libreadline-dev``, ``libssl-dev``, ``zlib1g-dev``.
 
 The following packages are optional:
 ``libasan5``, ``libcfitsio-dev``, ``libcmocka-dev``,
diff --git a/clients/Tests/MAL-signatures-hge.test 
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -48724,11 +48724,6 @@ command inspect.getAtomSizes():bat[:int]
 INSPECTatom_sizes
 Collect a BAT with the atom sizes.
 inspect
-getAtomSuper
-command inspect.getAtomSuper():bat[:str]
-INSPECTatom_sup_names
-Collect a BAT with the atom names.
-inspect
 getComment
 pattern inspect.getComment(X_0:str, X_1:str):bat[:str]
 INSPECTgetComment
diff --git a/clients/Tests/MAL-signatures.test 
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -2824,11 +2824,6 @@ unsafe pattern alarm.sleep(X_0:any_1):an
 ALARMsleep
 Sleep a few milliseconds and return the slept value
 alarm
-sleep
-unsafe pattern alarm.sleep(X_0:any_1):void
-ALARMsleep
-Sleep a few milliseconds
-alarm
 time
 unsafe command alarm.time():int
 ALARMtime
@@ -22120,16 +22115,6 @@ CMDconvertsignal_str
 (empty)
 batcalc
 str
-command batcalc.str(X_0:bat[:inet4], X_1:bat[:oid]):bat[:str]
-INETinet42str_bulk
-Coerce an inet4 to a string type
-batcalc
-str
-command batcalc.str(X_0:bat[:inet6], X_1:bat[:oid]):bat[:str]
-INETinet62str_bulk
-Coerce an inet6 to a string type
-batcalc
-str
 pattern batcalc.str(X_0:int, X_1:int, X_2:int, X_3:int, X_4:bat[:any_1], 
X_5:bat[:oid], X_6:int):bat[:str]
 SQLbatstr_cast
 cast to string and check for overflow
@@ -22139,11 +22124,6 @@ pattern batcalc.str(X_0:int, X_1:int, X_
 SQLbatstr_cast
 cast to string and check for overflow, no candidate list
 batcalc
-str
-command batcalc.str(X_0:bat[:uuid], X_1:bat[:oid]):bat[:str]
-UUIDuuid2str_bulk
-Coerce a uuid to a string type
-batcalc
 timestamp
 pattern batcalc.timestamp(X_0:bat[:date], X_1:bat[:oid]):bat[:timestamp]
 MTIMEtimestamp_fromdate_bulk
@@ -33610,25 +33590,10 @@ CMDvarCONVERT
 Cast VALUE to str
 calc
 str
-command calc.str(X_0:inet4):str
-INETinet42str
-Coerce an inet4 to a string type
-calc
-str
-command calc.str(X_0:inet6):str
-INETinet62str
-Coerce an inet6 to a string type
-calc
-str
 pattern calc.str(X_0:int, X_1:int, X_2:int, X_3:int, X_4:any_1, X_5:int):str
 SQLstr_cast
 cast to string and check for overflow
 calc
-str
-command calc.str(X_0:uuid):str
-UUIDuuid2str
-Coerce a uuid to a string type
-calc
 timestamp
 command calc.timestamp(X_0:date):timestamp
 MTIMEtimestamp_fromdate
@@ -36964,11 +36929,6 @@ command inspect.getAtomSizes():bat[:int]
 INSPECTatom_sizes
 Collect a BAT with the atom sizes.
 inspect
-getAtomSuper
-command inspect.getAtomSuper():bat[:str]
-INSPECTatom_sup_names
-Collect a BAT with the atom names.
-inspect
 getComment
 pattern inspect.getComment(X_0:str, X_1:str):bat[:str]
 INSPECTgetComment
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
@@ -1265,7 +1265,6 @@ const char subavgRef[];
 const char subcountRef[];
 const char subdeltaRef[];
 const char subdiffRef[];
-const char subeval_aggrRef[];
 const char subgroupRef[];
 const char subgroupdoneRef[];
 const char submaxRef[];
diff --git a/cmake/monetdb-findpackages.cmake b/cmake/monetdb-findpackages.cmake
--- a/cmake/monetdb-findpackages.cmake
+++ b/cmake/monetdb-findpackages.cmake
@@ -12,6 +12,18 @@
 find_package(BISON 3.0 REQUIRED)
 find_package(Iconv)
 find_package(Threads)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(PC_XXHASH REQUIRED libxxhash)
+find_library(XXHASH_LIBRARIES NAMES xxhash
+  HINTS
+  ${PC_XXHASH_LIBDIR}
+  ${PC_XXHASH_LIBRARY_DIRS}
+)
+find_path(XXHASH_INCLUDE_DIR NAMES xxhash.h
+  HINTS
+  ${PC_XXHASH_INCLUDEDIR}
+  ${PC_XXHASH_INCLUDE_DIRS}
+)
 
 if(${CMAKE_VERSION} VERSION_LESS "3.14.0")
   find_package(Python3 COMPONENTS Interpreter Development)
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Vcs-Hg: https://dev.monetdb.org/hg/Monet
 Build-Depends: debhelper-compat (= 12), cmake (>= 3.12), bison,
  libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.10.0),
  libpcre2-dev, libreadline-dev, liblzma-dev, liblz4-dev (>= 1.8.0),
- libxml2-dev, pkg-config,
+ libxml2-dev, pkg-config, libxxash-dev,
  python3,
  unixodbc-dev, zlib1g-dev,
  libcfitsio-dev, libssl-dev (>= 1.1.1)
diff --git a/documentation/source/build.rst b/documentation/source/build.rst
--- a/documentation/source/build.rst
+++ b/documentation/source/build.rst
@@ -114,7 +114,7 @@ Start cmd.exe in "Run as administrator" 
   vcpkg integrate install
   # needed for 64 bits (with the available python being 64 bit this is needed)
   set VCPKG_DEFAULT_TRIPLET=x64-windows
-  vcpkg install libiconv bzip2 geos libxml2 pcre2 zlib getopt openssl
+  vcpkg install libiconv bzip2 geos libxml2 pcre2 zlib getopt openssl pkgconf 
xxhash
 
 To compile MonetDB (as normal user)::
 
diff --git a/gdk/CMakeLists.txt b/gdk/CMakeLists.txt
--- a/gdk/CMakeLists.txt
+++ b/gdk/CMakeLists.txt
@@ -106,7 +106,8 @@ target_include_directories(bat
   $<$<BOOL:${VALGRIND_FOUND}>:${VALGRIND_INCLUDE_DIR}>
   $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/monetdb>
-  $<$<BOOL:${OPENSSL_FOUND}>:${OPENSSL_INCLUDE_DIR}>)
+  $<$<BOOL:${OPENSSL_FOUND}>:${OPENSSL_INCLUDE_DIR}>
+  ${XXHASH_INCLUDE_DIR})
 
 target_link_libraries(bat
   PRIVATE
@@ -116,6 +117,7 @@ target_link_libraries(bat
   monetdb_config_header
   moptions
   mutils
+  ${XXHASH_LIBRARIES}
   $<$<BOOL:${OPENSSL_FOUND}>:OpenSSL::SSL>
   $<$<BOOL:${RTREE_FOUND}>:rtree::rtree>
   $<$<NOT:$<PLATFORM_ID:Windows>>:m>
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -865,9 +865,7 @@ gdk_export BUN ORDERfndlast(BAT *b, Heap
 
 gdk_export BUN BUNfnd(BAT *b, const void *right);
 
-typedef var_t stridx_t;
-#define SIZEOF_STRIDX_T SIZEOF_VAR_T
-#define GDK_VARALIGN SIZEOF_STRIDX_T
+#define GDK_VARALIGN SIZEOF_VAR_T
 
 #include "gdk_atoms.h"
 #include "gdk_cand.h"
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to