Changeset: 2ee47ae3ba96 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2ee47ae3ba96
Modified Files:
        clients/Tests/MAL-signatures-hge.test
        gdk/gdk_batop.c
        gdk/gdk_logger.c
        gdk/gdk_utils.c
        monetdb5/modules/mal/batcalc.c
Branch: inet4+6
Log Message:

Merge with default branch.


diffs (truncated from 1997 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
@@ -109,7 +109,7 @@ jobs:
       - name: choco packages
         run: |
           choco install winflexbison3
-          vcpkg install libiconv bzip2 libxml2 pcre zlib getopt 
+          vcpkg install libiconv bzip2 libxml2 pcre2 zlib getopt 
         if: runner.os == 'Windows'
 
       - name: make MonetDB on Windows
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -140,7 +140,7 @@ BuildRequires: pkgconfig(openssl) >= 1.1
 %global with_openssl 1
 %endif
 %if %{with pcre}
-BuildRequires: pkgconfig(libpcre) >= 4.5
+BuildRequires: pkgconfig(libpcre2-8)
 %endif
 BuildRequires: pkgconfig(zlib)
 BuildRequires: pkgconfig(liblz4) >= 1.8
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -169,7 +169,7 @@ def main():
                vcpkg.format(r'bin\libxml2.dll'),
                vcpkg.format(r'bin\lz4.dll'),
                vcpkg.format(r'bin\liblzma.dll'),
-               vcpkg.format(r'bin\pcre.dll'),
+               vcpkg.format(r'bin\pcre2-8.dll'),
                vcpkg.format(r'bin\zlib1.dll')])
     id = comp(debug, id, 14,
               [r'bin\mclient.pdb',
@@ -230,7 +230,7 @@ def main():
                vcpkg.format(r'lib\libxml2.lib'),
                vcpkg.format(r'lib\lz4.lib'),
                vcpkg.format(r'lib\lzma.lib'),
-               vcpkg.format(r'lib\pcre.lib'),
+               vcpkg.format(r'lib\pcre2-8.lib'),
                vcpkg.format(r'lib\zlib.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
@@ -100,7 +100,7 @@ On Fedora, the following packages are re
 ``bison``, ``cmake``, ``gcc``, ``pkgconf``, ``python3``.
 
 The following packages are optional but recommended:
-``bzip2-devel``, ``lz4-devel``, ``openssl-devel``, ``pcre-devel``,
+``bzip2-devel``, ``lz4-devel``, ``openssl-devel``, ``pcre2-devel``,
 ``readline-devel``, ``xz-devel``, ``zlib-devel``.
 
 The following packages are optional:
@@ -113,7 +113,7 @@ On Ubuntu and Debian the following packa
 ``bison``, ``cmake``, ``gcc``, ``pkg-config``, ``python3``.
 
 The following packages are optional but recommended:
-``libbz2-dev``, ``liblz4-dev``, ``libpcre3-dev``, ``libreadline-dev``,
+``libbz2-dev``, ``liblz4-dev``, ``libpcre2-dev``, ``libreadline-dev``,
 ``liblzma-dev``, ``libssl-dev``, ``zlib1g-dev``.
 
 The following packages are optional:
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
@@ -29770,26 +29770,6 @@ CMDbatNOT
 Unary bitwise not over the tail of the bat with candidates list
 batcalc
 not
-pattern batcalc.not(X_0:bat[:dbl]):bat[:dbl]
-CMDbatNOT
-Unary bitwise not over the tail of the bat
-batcalc
-not
-pattern batcalc.not(X_0:bat[:dbl], X_1:bat[:oid]):bat[:dbl]
-CMDbatNOT
-Unary bitwise not over the tail of the bat with candidates list
-batcalc
-not
-pattern batcalc.not(X_0:bat[:flt]):bat[:flt]
-CMDbatNOT
-Unary bitwise not over the tail of the bat
-batcalc
-not
-pattern batcalc.not(X_0:bat[:flt], X_1:bat[:oid]):bat[:flt]
-CMDbatNOT
-Unary bitwise not over the tail of the bat with candidates list
-batcalc
-not
 pattern batcalc.not(X_0:bat[:hge]):bat[:hge]
 CMDbatNOT
 Unary bitwise not over the tail of the bat
@@ -48839,11 +48819,6 @@ command pcre.imatch(X_0:str, X_1:str):bi
 PCREimatch
 Caseless Perl Compatible Regular Expression pattern matching against a string
 pcre
-index
-command pcre.index(X_0:pcre, X_1:str):int
-PCREindex
-match a pattern, return matched position (or 0 when not found)
-pcre
 match
 command pcre.match(X_0:str, X_1:str):bit
 PCREmatch
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
@@ -20625,26 +20625,6 @@ CMDbatNOT
 Unary bitwise not over the tail of the bat with candidates list
 batcalc
 not
-pattern batcalc.not(X_0:bat[:dbl]):bat[:dbl]
-CMDbatNOT
-Unary bitwise not over the tail of the bat
-batcalc
-not
-pattern batcalc.not(X_0:bat[:dbl], X_1:bat[:oid]):bat[:dbl]
-CMDbatNOT
-Unary bitwise not over the tail of the bat with candidates list
-batcalc
-not
-pattern batcalc.not(X_0:bat[:flt]):bat[:flt]
-CMDbatNOT
-Unary bitwise not over the tail of the bat
-batcalc
-not
-pattern batcalc.not(X_0:bat[:flt], X_1:bat[:oid]):bat[:flt]
-CMDbatNOT
-Unary bitwise not over the tail of the bat with candidates list
-batcalc
-not
 pattern batcalc.not(X_0:bat[:int]):bat[:int]
 CMDbatNOT
 Unary bitwise not over the tail of the bat
@@ -36669,11 +36649,6 @@ command pcre.imatch(X_0:str, X_1:str):bi
 PCREimatch
 Caseless Perl Compatible Regular Expression pattern matching against a string
 pcre
-index
-command pcre.index(X_0:pcre, X_1:str):int
-PCREindex
-match a pattern, return matched position (or 0 when not found)
-pcre
 match
 command pcre.match(X_0:str, X_1:str):bit
 PCREmatch
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -2505,19 +2505,20 @@ doFile(Mapi mid, stream *fp, bool useins
                                                        }
                                                } else {
                                                        if (tname == NULL)
-                                                               tname = p;
+                                                               tname = q;
                                                        if (!escaped) {
-                                                               *q++ = 
tolower((int) *p);
                                                                if (*p == '*') {
-                                                                       *p = 
'%';
+                                                                       *q++ = 
'%';
                                                                        
hasWildcard = true;
                                                                } else if (*p 
== '?') {
-                                                                       *p = 
'_';
+                                                                       *q++ = 
'_';
                                                                        
hasWildcard = true;
                                                                } else if (*p 
== '.') {
-                                                                       *p = 
'\0';
+                                                                       *q++ = 
'\0';
                                                                        sname = 
tname;
                                                                        tname = 
NULL;
+                                                               } else {
+                                                                       *q++ = 
tolower((unsigned char) *p);
                                                                }
                                                        } else {
                                                                *q++ = *p;
diff --git a/cmake/Modules/FindPCRE.cmake b/cmake/Modules/FindPCRE.cmake
--- a/cmake/Modules/FindPCRE.cmake
+++ b/cmake/Modules/FindPCRE.cmake
@@ -24,9 +24,9 @@
 # PCRE_VERSION - The version found.
 # PCRE_FOUND   - True if pcre found.
 
-find_path(PCRE_INCLUDE_DIR NAMES pcre.h)
+find_path(PCRE_INCLUDE_DIR NAMES pcre2.h)
 
-find_library(PCRE_LIBRARIES NAMES pcre)
+find_library(PCRE_LIBRARIES NAMES pcre2-8)
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(PCRE
@@ -37,9 +37,9 @@ find_package_handle_standard_args(PCRE
 mark_as_advanced(PCRE_INCLUDE_DIR PCRE_LIBRARIES PCRE_VERSION)
 
 if(PCRE_FOUND)
-  file(STRINGS "${PCRE_INCLUDE_DIR}/pcre.h" PCRE_VERSION_LINES REGEX "[ 
\t]*#define[ \t]+PCRE_(MAJOR|MINOR)")
-  string(REGEX REPLACE ".*PCRE_MAJOR *\([0-9]*\).*" "\\1" PCRE_VERSION_MAJOR 
"${PCRE_VERSION_LINES}")
-  string(REGEX REPLACE ".*PCRE_MINOR *\([0-9]*\).*" "\\1" PCRE_VERSION_MINOR 
"${PCRE_VERSION_LINES}")
+  file(STRINGS "${PCRE_INCLUDE_DIR}/pcre2.h" PCRE_VERSION_LINES REGEX "[ 
\t]*#define[ \t]+PCRE2_(MAJOR|MINOR)")
+  string(REGEX REPLACE ".*PCRE2_MAJOR *\([0-9]*\).*" "\\1" PCRE_VERSION_MAJOR 
"${PCRE_VERSION_LINES}")
+  string(REGEX REPLACE ".*PCRE2_MINOR *\([0-9]*\).*" "\\1" PCRE_VERSION_MINOR 
"${PCRE_VERSION_LINES}")
   set(PCRE_VERSION "${PCRE_VERSION_MAJOR}.${PCRE_VERSION_MINOR}")
 
   if(NOT TARGET PCRE::PCRE AND
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@ Vcs-Browser: https://dev.monetdb.org/hg/
 Vcs-Hg: https://dev.monetdb.org/hg/MonetDB/ -b default
 Build-Depends: debhelper-compat (= 12), cmake (>= 3.12), bison,
  libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.10.0),
- libpcre3-dev, libreadline-dev, liblzma-dev, liblz4-dev (>= 1.8.0),
+ libpcre2-dev, libreadline-dev, liblzma-dev, liblz4-dev (>= 1.8.0),
  libxml2-dev, pkg-config,
  python3, python3-dev, python3-numpy,
  unixodbc-dev, zlib1g-dev, r-base-dev,
diff --git a/documentation/source/build-debian.rst 
b/documentation/source/build-debian.rst
--- a/documentation/source/build-debian.rst
+++ b/documentation/source/build-debian.rst
@@ -30,7 +30,7 @@ libbz2-dev            # optional: read and write .
 libcurl4-gnutls-dev    # optional: read remote files with sys.getcontent(url)
 libgeos-dev            # optional: required for geom module
 liblzma-dev            # optional: read and write .xz compressed files
-libpcre3-dev           # optional: use PCRE library, enable some functions
+libpcre2-dev           # optional: use PCRE2 library, enable some functions
 libreadline-dev                # optional, enable editing in mclient
 python3-dev            # optional, needed for Python 3 integration
 python3-numpy          # optional, needed for Python 3 integration
diff --git a/documentation/source/build-fedora.rst 
b/documentation/source/build-fedora.rst
--- a/documentation/source/build-fedora.rst
+++ b/documentation/source/build-fedora.rst
@@ -30,7 +30,7 @@ the command make rpm.
 | checkpolicy          # optional, required to create RPMs (make rpm)
 | geos-devel           # optional: required for geom module
 | libcurl-devel                # optional: read remote files with 
sys.getcontent(url)
-| pcre-devel           # optional: use PCRE library, enable some functions
+| pcre2-devel          # optional: use PCRE2 library, enable some functions
 | python3-devel                # optional, needed for Python 3 integration
 | python3-numpy                # optional, needed for Python 3 integration
 | R-core-devel         # optional, needed for R integration
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 pcre pcre2 zlib getopt openssl
+  vcpkg install libiconv bzip2 geos libxml2 pcre2 zlib getopt openssl
 
 To compile MonetDB (as normal user)::
 
@@ -143,7 +143,7 @@ Using homebrew install at least current 
   mercurial
   cmake
   pkg-config
-  pcre
+  pcre2
   bison
 
 optional::
diff --git a/gdk/ChangeLog.Mar2025 b/gdk/ChangeLog.Mar2025
--- a/gdk/ChangeLog.Mar2025
+++ b/gdk/ChangeLog.Mar2025
@@ -1,3 +1,7 @@
 # ChangeLog file for GDK
 # This file is updated with Maddlog
 
+* Tue Aug  5 2025 Sjoerd Mullender <[email protected]>
+- The SIGUSR1 output now displays counts for memory sizes in a
+  human-readable format next to the original byte counts.
+
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -1323,6 +1323,11 @@ BATappend_or_update(BAT *b, BAT *p, cons
        bool locked = false;
 
        if (b->tvheap) {
+               const void *prevnew = NULL;
+               var_t prevoff = 0;
+               const bool hasdel = BATatoms[b->ttype].atomDel != NULL;
+               bool minupdated = false;
+               bool maxupdated = false;
                for (BUN i = 0; i < ni.count; i++) {
                        oid updid;
                        if (positions) {
@@ -1399,13 +1404,22 @@ BATappend_or_update(BAT *b, BAT *p, cons
                        b->tnil |= isnil;
                        MT_lock_unset(&b->theaplock);
                        if (bi.maxpos != BUN_NONE) {
+                               /* if new value is the same as the
+                                * previous new value, we've already
+                                * dealt with it; if we've already
+                                * updated the maxpos, it cannot be the
+                                * same as the old value, so we can skip
+                                * that check */
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to