Changeset: bcb2e60e41ad for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/bcb2e60e41ad
Modified Files:
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_group.c
        gdk/gdk_hash.c
        gdk/gdk_join.c
        gdk/gdk_select.c
        gdk/gdk_unique.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/modules/mal/pcre.c
Branch: qcancel
Log Message:

merge default


diffs (truncated from 39613 to 300 lines):

diff --git a/.github/lock.yml b/.github/lock.yml
new file mode 100644
--- /dev/null
+++ b/.github/lock.yml
@@ -0,0 +1,38 @@
+# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app
+
+# Number of days of inactivity before a closed issue or pull request is locked
+daysUntilLock: 20
+
+# Skip issues and pull requests created before a given timestamp. Timestamp 
must
+# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
+skipCreatedBefore: false
+
+# Issues and pull requests with these labels will be ignored. Set to `[]` to 
disable
+exemptLabels: []
+
+# Label to add before locking, such as `outdated`. Set to `false` to disable
+lockLabel: false
+
+# Comment to post before locking. Set to `false` to disable
+lockComment: >
+  This thread has been automatically locked since there has not been
+  any recent activity after it was closed. Please open a new issue for
+  related bugs.
+
+# Assign `resolved` as the reason for locking. Set to `false` to disable
+setLockReason: false
+
+# Limit to only `issues` or `pulls`
+# only: issues
+
+# Optionally, specify configuration settings just for `issues` or `pulls`
+# issues:
+#   exemptLabels:
+#     - help-wanted
+#   lockLabel: outdated
+
+# pulls:
+#   daysUntilLock: 30
+
+# Repository to extend settings from
+# _extends: repo
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
+* Thu Apr 15 2021 svetlin <svetlin.stali...@monetdbsolutions.com>
+- preserve in query comments
+
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -523,7 +523,6 @@ exit 0
 %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5
 %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5/dbfarm
 %{_bindir}/mserver5
-%exclude %{_bindir}/stethoscope
 %{_libdir}/libmonetdb5.so.*
 %{_libdir}/libmonetdbsql.so*
 %dir %{_libdir}/monetdb5
diff --git a/NT/ChangeLog.Oct2020 b/NT/ChangeLog.Oct2020
new file mode 100644
--- /dev/null
+++ b/NT/ChangeLog.Oct2020
@@ -0,0 +1,6 @@
+# ChangeLog file for NT
+# This file is updated with Maddlog
+
+* Fri Apr 23 2021 Sjoerd Mullender <sjo...@acm.org>
+- Added the monetdbe library to the Windows installer.
+
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -143,6 +143,7 @@ def main():
                r'bin\bat.dll',
                r'bin\mapi.dll',
                r'bin\monetdb5.dll',
+               r'bin\monetdbe.dll',
                r'bin\monetdbsql.dll',
                r'bin\stream.dll',
                vcpkg.format(r'bin\iconv-2.dll'),
@@ -198,6 +199,7 @@ def main():
               [r'lib\bat.lib',
                r'lib\mapi.lib',
                r'lib\monetdb5.lib',
+               r'lib\monetdbe.lib',
                r'lib\monetdbsql.lib',
                r'lib\stream.lib',
                vcpkg.format(r'lib\iconv.lib'),
diff --git a/clients/NT/stethoscope.bat b/clients/NT/stethoscope.bat
deleted file mode 100755
--- a/clients/NT/stethoscope.bat
+++ /dev/null
@@ -1,20 +0,0 @@
-@REM This Source Code Form is subject to the terms of the Mozilla Public
-@REM License, v. 2.0.  If a copy of the MPL was not distributed with this
-@REM file, You can obtain one at http://mozilla.org/MPL/2.0/.
-@REM
-@REM Copyright 1997 - July 2008 CWI, August 2008 - 2021 MonetDB B.V.
-
-@echo off
-rem figure out the folder name
-set MONETDB=%~dp0
-
-rem remove the final backslash from the path
-set MONETDB=%MONETDB:~0,-1%
-
-rem extend the search path with our EXE and DLL folders
-set PATH=%MONETDB%\bin;%MONETDB%\lib\monetdb5;%PATH%
-
-rem start the real client
-"%MONETDB%\bin\stethoscope.exe" %1 %2 %3 %4 %5 %6 %7 %8
-
-if ERRORLEVEL 1 pause
diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -635,32 +635,16 @@ stdout of test 'MAL-signatures` in direc
 [ "algebra",   "firstn",       "pattern algebra.firstn(X_0:bat[:any], 
X_1:bat[:oid], X_2:bat[:oid], X_3:lng, X_4:bit, X_5:bit, X_6:bit) 
(X_7:bat[:oid], X_8:bat[:oid]) ",      "ALGfirstn;",   ""      ]
 [ "algebra",   "firstn",       "pattern algebra.firstn(X_0:bat[:any], 
X_1:bat[:oid], X_2:bat[:oid], X_3:lng, X_4:bit, X_5:bit, X_6:bit):bat[:oid] ",  
 "ALGfirstn;",   ""      ]
 [ "algebra",   "groupby",      "command algebra.groupby(X_0:bat[:oid], 
X_1:bat[:lng]):bat[:oid] ",     "ALGgroupby;",  ""      ]
-[ "algebra",   "ilike",        "command algebra.ilike(X_0:str, X_1:str):bit ", 
"PCREilike2;",  ""      ]
-[ "algebra",   "ilike",        "command algebra.ilike(X_0:str, X_1:str, 
X_2:str):bit ",        "PCREilike3;",  ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, 
X_6:bit):bat[:oid] ",  "ILIKEjoin1;",  ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) 
(X_7:bat[:oid], X_8:bat[:oid]) ",     "ILIKEjoin;",   ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit):bat[:oid] ",   "ILIKEjoin_esc1;",      ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit) (X_8:bat[:oid], X_9:bat[:oid]) ",      "ILIKEjoin_esc;",       ""      
]
-[ "algebra",   "ilikeselect",  "command algebra.ilikeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit):bat[:oid] ",      "PCRElikeselect1;", 
    ""      ]
-[ "algebra",   "ilikeselect",  "command algebra.ilikeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:bit):bat[:oid] ",       "PCRElikeselect4;",     ""  
    ]
 [ "algebra",   "intersect",    "command algebra.intersect(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, 
X_6:lng):bat[:oid] ",      "ALGintersect;",        ""      ]
 [ "algebra",   "join", "command algebra.join(X_0:bat[:any_1], X_1:bat[:any_1], 
X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng):bat[:oid] ",    "ALGjoin1;",    
""      ]
 [ "algebra",   "join", "command algebra.join(X_0:bat[:any_1], X_1:bat[:any_1], 
X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:oid]) 
",       "ALGjoin;",     ""      ]
 [ "algebra",   "leftjoin",     "command algebra.leftjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng):bat[:oid] ",   
     "ALGleftjoin1;",        ""      ]
 [ "algebra",   "leftjoin",     "command algebra.leftjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) 
(X_6:bat[:oid], X_7:bat[:oid]) ",   "ALGleftjoin;", ""      ]
-[ "algebra",   "like", "command algebra.like(X_0:str, X_1:str):bit ",  
"PCRElike2;",   ""      ]
-[ "algebra",   "like", "command algebra.like(X_0:str, X_1:str, X_2:str):bit ", 
"PCRElike3;",   ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, 
X_6:bit):bat[:oid] ",   "LIKEjoin1;",   ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) 
(X_7:bat[:oid], X_8:bat[:oid]) ",      "LIKEjoin;",    ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit):bat[:oid] ",    "LIKEjoin_esc1;",       ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit) (X_8:bat[:oid], X_9:bat[:oid]) ",       "LIKEjoin_esc;",        ""     
 ]
-[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit, X_5:bit):bat[:oid] ",      
"PCRElikeselect2;",     ""      ]
-[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit):bat[:oid] ",       
"PCRElikeselect3;",     ""      ]
-[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:bit):bat[:oid] ",        "PCRElikeselect5;",     "" 
     ]
-[ "algebra",   "not_ilike",    "command algebra.not_ilike(X_0:str, 
X_1:str):bit ",     "PCREnotilike2;",       ""      ]
-[ "algebra",   "not_ilike",    "command algebra.not_ilike(X_0:str, X_1:str, 
X_2:str):bit ",    "PCREnotilike3;",       ""      ]
-[ "algebra",   "not_like",     "command algebra.not_like(X_0:str, X_1:str):bit 
",      "PCREnotlike2;",        ""      ]
-[ "algebra",   "not_like",     "command algebra.not_like(X_0:str, X_1:str, 
X_2:str):bit ",     "PCREnotlike3;",        ""      ]
+[ "algebra",   "like", "command algebra.like(X_0:str, X_1:str, X_2:str, 
X_3:bit):bit ",        "PCRElike;",    ""      ]
+[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:bit], X_4:bat[:oid], X_5:bat[:oid], 
X_6:bit, X_7:lng, X_8:bit):bat[:oid] ",     "LIKEjoin1;",   ""      ]
+[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:bit], X_4:bat[:oid], X_5:bat[:oid], 
X_6:bit, X_7:lng, X_8:bit) (X_9:bat[:oid], X_10:bat[:oid]) ",       
"LIKEjoin;",    ""      ]
+[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit, X_5:bit):bat[:oid] ",      
"PCRElikeselect;",      ""      ]
+[ "algebra",   "not_like",     "command algebra.not_like(X_0:str, X_1:str, 
X_2:str, X_3:bit):bit ",    "PCREnotlike;", ""      ]
 [ "algebra",   "orderidx",     "command algebra.orderidx(X_0:bat[:any_1], 
X_1:bit):bat[:any_1] ",      "OIDXorderidx;",        ""      ]
 [ "algebra",   "outerjoin",    "command algebra.outerjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, 
X_6:lng):bat[:oid] ",      "ALGouterjoin1;",       ""      ]
 [ "algebra",   "outerjoin",    "command algebra.outerjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, X_6:lng) 
(X_7:bat[:oid], X_8:bat[:oid]) ", "ALGouterjoin;",        ""      ]
@@ -776,30 +760,12 @@ stdout of test 'MAL-signatures` in direc
 [ "bataggr",   "not_exist",    "pattern bataggr.not_exist(X_0:any_1):bat[:bit] 
",      "SQLnot_exist;",        ""      ]
 [ "bataggr",   "not_exist",    "pattern 
bataggr.not_exist(X_0:bat[:any_1]):bat[:bit] ",        "SQLnot_exist;",        
""      ]
 [ "bataggr",   "not_exist",    "pattern bataggr.not_exist(X_0:bat[:any_1]):bit 
",      "SQLnot_exist;",        ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:bat[:str]):bat[:bit] ",    
"BATPCREilike2;",       ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:str):bat[:bit] ",  "BATPCREilike2;",       
""      ]
-[ "batalgebra",        "ilike",        "pattern batalgebra.ilike(X_0:str, 
X_1:bat[:str]):bat[:bit] ",  "BATPCREilike2;",       ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:bat[:str], X_2:str):bat[:bit] ",   
"BATPCREilike;",        ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:str, X_2:str):bat[:bit] ", "BATPCREilike;", 
       ""      ]
-[ "batalgebra",        "ilike",        "pattern batalgebra.ilike(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ", "BATPCREilike;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:bat[:str]):bat[:bit] ",     "BATPCRElike2;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:str):bat[:bit] ",   "BATPCRElike2;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:str, 
X_1:bat[:str]):bat[:bit] ",   "BATPCRElike2;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:bat[:str], X_2:str):bat[:bit] ",    "BATPCRElike;", ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:str, X_2:str):bat[:bit] ",  "BATPCRElike;", ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ",  "BATPCRElike;", ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:bat[:str]):bat[:bit] ",        
"BATPCREnotilike2;",    ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:str):bat[:bit] ",      
"BATPCREnotilike2;",    ""      ]
-[ "batalgebra",        "not_ilike",    "pattern batalgebra.not_ilike(X_0:str, 
X_1:bat[:str]):bat[:bit] ",      "BATPCREnotilike2;",    ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:bat[:str], X_2:str):bat[:bit] ",       
"BATPCREnotilike;",     ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:str, X_2:str):bat[:bit] ",     
"BATPCREnotilike;",     ""      ]
-[ "batalgebra",        "not_ilike",    "pattern batalgebra.not_ilike(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ",     "BATPCREnotilike;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:bat[:str]):bat[:bit] ", 
"BATPCREnotlike2;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:str):bat[:bit] ",       
"BATPCREnotlike2;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern batalgebra.not_like(X_0:str, 
X_1:bat[:str]):bat[:bit] ",       "BATPCREnotlike2;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:bat[:str], X_2:str):bat[:bit] ",        
"BATPCREnotlike;",      ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:str, X_2:str):bat[:bit] ",      
"BATPCREnotlike;",      ""      ]
-[ "batalgebra",        "not_like",     "pattern batalgebra.not_like(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ",      "BATPCREnotlike;",      ""      ]
+[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] ",   "BATPCRElike;", ""      ]
+[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:str, X_2:str, X_3:bit):bat[:bit] ", "BATPCRElike;", ""      ]
+[ "batalgebra",        "like", "pattern batalgebra.like(X_0:str, 
X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] ", "BATPCRElike;", ""      ]
+[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] 
",       "BATPCREnotlike;",      ""      ]
+[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:str, X_2:str, X_3:bit):bat[:bit] ",     
"BATPCREnotlike;",      ""      ]
+[ "batalgebra",        "not_like",     "pattern batalgebra.not_like(X_0:str, 
X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] ",     "BATPCREnotlike;",      ""    
  ]
 [ "batblob",   "nitems",       "pattern 
batblob.nitems(X_0:bat[:blob]):bat[:int] ",    "BLOBnitems_bulk;",     ""      ]
 [ "batblob",   "nitems",       "pattern batblob.nitems(X_0:bat[:blob], 
X_1:bat[:oid]):bat[:int] ",     "BLOBnitems_bulk;",     ""      ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(X_0:any_1, 
X_1:bat[:any_1]):bat[:bit] ",    "CMDbatNE;",    ""      ]
@@ -6177,6 +6143,7 @@ stdout of test 'MAL-signatures` in direc
 [ "batmtime",  "epoch",        "pattern 
batmtime.epoch(X_0:bat[:timestamp]):bat[:int] ",       
"MTIMEseconds_since_epoch_bulk;",       ""      ]
 [ "batmtime",  "epoch",        "pattern batmtime.epoch(X_0:bat[:timestamp], 
X_1:bat[:oid]):bat[:int] ",        "MTIMEseconds_since_epoch_bulk;",       ""   
   ]
 [ "batmtime",  "epoch",        "pattern 
batmtime.epoch(X_0:bat[:lng]):bat[:timestamp] ",       
"MTIMEtimestamp_frommsec_epoch_bulk;",  ""      ]
+[ "batmtime",  "epoch",        "pattern batmtime.epoch(X_0:bat[:lng], 
X_1:bat[:oid]):bat[:timestamp] ",        "MTIMEtimestamp_frommsec_epoch_bulk;", 
 ""      ]
 [ "batmtime",  "epoch",        "pattern 
batmtime.epoch(X_0:bat[:int]):bat[:timestamp] ",       
"MTIMEtimestamp_fromsecond_epoch_bulk;",        ""      ]
 [ "batmtime",  "epoch",        "pattern batmtime.epoch(X_0:bat[:int], 
X_1:bat[:oid]):bat[:timestamp] ",        
"MTIMEtimestamp_fromsecond_epoch_bulk;",        ""      ]
 [ "batmtime",  "epoch_ms",     "pattern 
batmtime.epoch_ms(X_0:bat[:date]):bat[:lng] ", 
"MTIMEdate_extract_epoch_ms_bulk;",     ""      ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -752,32 +752,16 @@ stdout of test 'MAL-signatures` in direc
 [ "algebra",   "firstn",       "pattern algebra.firstn(X_0:bat[:any], 
X_1:bat[:oid], X_2:bat[:oid], X_3:lng, X_4:bit, X_5:bit, X_6:bit) 
(X_7:bat[:oid], X_8:bat[:oid]) ",      "ALGfirstn;",   ""      ]
 [ "algebra",   "firstn",       "pattern algebra.firstn(X_0:bat[:any], 
X_1:bat[:oid], X_2:bat[:oid], X_3:lng, X_4:bit, X_5:bit, X_6:bit):bat[:oid] ",  
 "ALGfirstn;",   ""      ]
 [ "algebra",   "groupby",      "command algebra.groupby(X_0:bat[:oid], 
X_1:bat[:lng]):bat[:oid] ",     "ALGgroupby;",  ""      ]
-[ "algebra",   "ilike",        "command algebra.ilike(X_0:str, X_1:str):bit ", 
"PCREilike2;",  ""      ]
-[ "algebra",   "ilike",        "command algebra.ilike(X_0:str, X_1:str, 
X_2:str):bit ",        "PCREilike3;",  ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, 
X_6:bit):bat[:oid] ",  "ILIKEjoin1;",  ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) 
(X_7:bat[:oid], X_8:bat[:oid]) ",     "ILIKEjoin;",   ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit):bat[:oid] ",   "ILIKEjoin_esc1;",      ""      ]
-[ "algebra",   "ilikejoin",    "command algebra.ilikejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit) (X_8:bat[:oid], X_9:bat[:oid]) ",      "ILIKEjoin_esc;",       ""      
]
-[ "algebra",   "ilikeselect",  "command algebra.ilikeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit):bat[:oid] ",      "PCRElikeselect1;", 
    ""      ]
-[ "algebra",   "ilikeselect",  "command algebra.ilikeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:bit):bat[:oid] ",       "PCRElikeselect4;",     ""  
    ]
 [ "algebra",   "intersect",    "command algebra.intersect(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, 
X_6:lng):bat[:oid] ",      "ALGintersect;",        ""      ]
 [ "algebra",   "join", "command algebra.join(X_0:bat[:any_1], X_1:bat[:any_1], 
X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng):bat[:oid] ",    "ALGjoin1;",    
""      ]
 [ "algebra",   "join", "command algebra.join(X_0:bat[:any_1], X_1:bat[:any_1], 
X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:oid]) 
",       "ALGjoin;",     ""      ]
 [ "algebra",   "leftjoin",     "command algebra.leftjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng):bat[:oid] ",   
     "ALGleftjoin1;",        ""      ]
 [ "algebra",   "leftjoin",     "command algebra.leftjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) 
(X_6:bat[:oid], X_7:bat[:oid]) ",   "ALGleftjoin;", ""      ]
-[ "algebra",   "like", "command algebra.like(X_0:str, X_1:str):bit ",  
"PCRElike2;",   ""      ]
-[ "algebra",   "like", "command algebra.like(X_0:str, X_1:str, X_2:str):bit ", 
"PCRElike3;",   ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, 
X_6:bit):bat[:oid] ",   "LIKEjoin1;",   ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) 
(X_7:bat[:oid], X_8:bat[:oid]) ",      "LIKEjoin;",    ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit):bat[:oid] ",    "LIKEjoin_esc1;",       ""      ]
-[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, 
X_7:bit) (X_8:bat[:oid], X_9:bat[:oid]) ",       "LIKEjoin_esc;",        ""     
 ]
-[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit, X_5:bit):bat[:oid] ",      
"PCRElikeselect2;",     ""      ]
-[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit):bat[:oid] ",       
"PCRElikeselect3;",     ""      ]
-[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:bit):bat[:oid] ",        "PCRElikeselect5;",     "" 
     ]
-[ "algebra",   "not_ilike",    "command algebra.not_ilike(X_0:str, 
X_1:str):bit ",     "PCREnotilike2;",       ""      ]
-[ "algebra",   "not_ilike",    "command algebra.not_ilike(X_0:str, X_1:str, 
X_2:str):bit ",    "PCREnotilike3;",       ""      ]
-[ "algebra",   "not_like",     "command algebra.not_like(X_0:str, X_1:str):bit 
",      "PCREnotlike2;",        ""      ]
-[ "algebra",   "not_like",     "command algebra.not_like(X_0:str, X_1:str, 
X_2:str):bit ",     "PCREnotlike3;",        ""      ]
+[ "algebra",   "like", "command algebra.like(X_0:str, X_1:str, X_2:str, 
X_3:bit):bit ",        "PCRElike;",    ""      ]
+[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:bit], X_4:bat[:oid], X_5:bat[:oid], 
X_6:bit, X_7:lng, X_8:bit):bat[:oid] ",     "LIKEjoin1;",   ""      ]
+[ "algebra",   "likejoin",     "command algebra.likejoin(X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str], X_3:bat[:bit], X_4:bat[:oid], X_5:bat[:oid], 
X_6:bit, X_7:lng, X_8:bit) (X_9:bat[:oid], X_10:bat[:oid]) ",       
"LIKEjoin;",    ""      ]
+[ "algebra",   "likeselect",   "command algebra.likeselect(X_0:bat[:str], 
X_1:bat[:oid], X_2:str, X_3:str, X_4:bit, X_5:bit):bat[:oid] ",      
"PCRElikeselect;",      ""      ]
+[ "algebra",   "not_like",     "command algebra.not_like(X_0:str, X_1:str, 
X_2:str, X_3:bit):bit ",    "PCREnotlike;", ""      ]
 [ "algebra",   "orderidx",     "command algebra.orderidx(X_0:bat[:any_1], 
X_1:bit):bat[:any_1] ",      "OIDXorderidx;",        ""      ]
 [ "algebra",   "outerjoin",    "command algebra.outerjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, 
X_6:lng):bat[:oid] ",      "ALGouterjoin1;",       ""      ]
 [ "algebra",   "outerjoin",    "command algebra.outerjoin(X_0:bat[:any_1], 
X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:bit, X_6:lng) 
(X_7:bat[:oid], X_8:bat[:oid]) ", "ALGouterjoin;",        ""      ]
@@ -895,30 +879,12 @@ stdout of test 'MAL-signatures` in direc
 [ "bataggr",   "not_exist",    "pattern bataggr.not_exist(X_0:any_1):bat[:bit] 
",      "SQLnot_exist;",        ""      ]
 [ "bataggr",   "not_exist",    "pattern 
bataggr.not_exist(X_0:bat[:any_1]):bat[:bit] ",        "SQLnot_exist;",        
""      ]
 [ "bataggr",   "not_exist",    "pattern bataggr.not_exist(X_0:bat[:any_1]):bit 
",      "SQLnot_exist;",        ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:bat[:str]):bat[:bit] ",    
"BATPCREilike2;",       ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:str):bat[:bit] ",  "BATPCREilike2;",       
""      ]
-[ "batalgebra",        "ilike",        "pattern batalgebra.ilike(X_0:str, 
X_1:bat[:str]):bat[:bit] ",  "BATPCREilike2;",       ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:bat[:str], X_2:str):bat[:bit] ",   
"BATPCREilike;",        ""      ]
-[ "batalgebra",        "ilike",        "pattern 
batalgebra.ilike(X_0:bat[:str], X_1:str, X_2:str):bat[:bit] ", "BATPCREilike;", 
       ""      ]
-[ "batalgebra",        "ilike",        "pattern batalgebra.ilike(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ", "BATPCREilike;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:bat[:str]):bat[:bit] ",     "BATPCRElike2;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:str):bat[:bit] ",   "BATPCRElike2;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:str, 
X_1:bat[:str]):bat[:bit] ",   "BATPCRElike2;",        ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:bat[:str], X_2:str):bat[:bit] ",    "BATPCRElike;", ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:str, X_2:str):bat[:bit] ",  "BATPCRElike;", ""      ]
-[ "batalgebra",        "like", "pattern batalgebra.like(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ",  "BATPCRElike;", ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:bat[:str]):bat[:bit] ",        
"BATPCREnotilike2;",    ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:str):bat[:bit] ",      
"BATPCREnotilike2;",    ""      ]
-[ "batalgebra",        "not_ilike",    "pattern batalgebra.not_ilike(X_0:str, 
X_1:bat[:str]):bat[:bit] ",      "BATPCREnotilike2;",    ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:bat[:str], X_2:str):bat[:bit] ",       
"BATPCREnotilike;",     ""      ]
-[ "batalgebra",        "not_ilike",    "pattern 
batalgebra.not_ilike(X_0:bat[:str], X_1:str, X_2:str):bat[:bit] ",     
"BATPCREnotilike;",     ""      ]
-[ "batalgebra",        "not_ilike",    "pattern batalgebra.not_ilike(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ",     "BATPCREnotilike;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:bat[:str]):bat[:bit] ", 
"BATPCREnotlike2;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:str):bat[:bit] ",       
"BATPCREnotlike2;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern batalgebra.not_like(X_0:str, 
X_1:bat[:str]):bat[:bit] ",       "BATPCREnotlike2;",     ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:bat[:str], X_2:str):bat[:bit] ",        
"BATPCREnotlike;",      ""      ]
-[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:str, X_2:str):bat[:bit] ",      
"BATPCREnotlike;",      ""      ]
-[ "batalgebra",        "not_like",     "pattern batalgebra.not_like(X_0:str, 
X_1:bat[:str], X_2:str):bat[:bit] ",      "BATPCREnotlike;",      ""      ]
+[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] ",   "BATPCRElike;", ""      ]
+[ "batalgebra",        "like", "pattern batalgebra.like(X_0:bat[:str], 
X_1:str, X_2:str, X_3:bit):bat[:bit] ", "BATPCRElike;", ""      ]
+[ "batalgebra",        "like", "pattern batalgebra.like(X_0:str, 
X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] ", "BATPCRElike;", ""      ]
+[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] 
",       "BATPCREnotlike;",      ""      ]
+[ "batalgebra",        "not_like",     "pattern 
batalgebra.not_like(X_0:bat[:str], X_1:str, X_2:str, X_3:bit):bat[:bit] ",     
"BATPCREnotlike;",      ""      ]
+[ "batalgebra",        "not_like",     "pattern batalgebra.not_like(X_0:str, 
X_1:bat[:str], X_2:str, X_3:bit):bat[:bit] ",     "BATPCREnotlike;",      ""    
  ]
 [ "batblob",   "nitems",       "pattern 
batblob.nitems(X_0:bat[:blob]):bat[:int] ",    "BLOBnitems_bulk;",     ""      ]
 [ "batblob",   "nitems",       "pattern batblob.nitems(X_0:bat[:blob], 
X_1:bat[:oid]):bat[:int] ",     "BLOBnitems_bulk;",     ""      ]
 [ "batcalc",   "!=",   "pattern batcalc.!=(X_0:any_1, 
X_1:bat[:any_1]):bat[:bit] ",    "CMDbatNE;",    ""      ]
@@ -8711,6 +8677,7 @@ stdout of test 'MAL-signatures` in direc
 [ "batmtime",  "epoch",        "pattern 
batmtime.epoch(X_0:bat[:timestamp]):bat[:int] ",       
"MTIMEseconds_since_epoch_bulk;",       ""      ]
 [ "batmtime",  "epoch",        "pattern batmtime.epoch(X_0:bat[:timestamp], 
X_1:bat[:oid]):bat[:int] ",        "MTIMEseconds_since_epoch_bulk;",       ""   
   ]
 [ "batmtime",  "epoch",        "pattern 
batmtime.epoch(X_0:bat[:lng]):bat[:timestamp] ",       
"MTIMEtimestamp_frommsec_epoch_bulk;",  ""      ]
+[ "batmtime",  "epoch",        "pattern batmtime.epoch(X_0:bat[:lng], 
X_1:bat[:oid]):bat[:timestamp] ",        "MTIMEtimestamp_frommsec_epoch_bulk;", 
 ""      ]
 [ "batmtime",  "epoch",        "pattern 
batmtime.epoch(X_0:bat[:int]):bat[:timestamp] ",       
"MTIMEtimestamp_fromsecond_epoch_bulk;",        ""      ]
 [ "batmtime",  "epoch",        "pattern batmtime.epoch(X_0:bat[:int], 
X_1:bat[:oid]):bat[:timestamp] ",        
"MTIMEtimestamp_fromsecond_epoch_bulk;",        ""      ]
 [ "batmtime",  "epoch_ms",     "pattern 
batmtime.epoch_ms(X_0:bat[:date]):bat[:lng] ", 
"MTIMEdate_extract_epoch_ms_bulk;",     ""      ]
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
@@ -122,6 +122,7 @@ gdk_return BATextend(BAT *b, BUN newcap)
 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);
 gdk_return BATgroup(BAT **groups, BAT **extents, BAT **histo, BAT *b, BAT *s, 
BAT *g, BAT *e, BAT *h) __attribute__((__warn_unused_result__));
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to