Changeset: 8c568a540a28 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8c568a540a28
Modified Files:
        tools/mserver/mserver5.c
Branch: pp_hashjoin
Log Message:

Merge with ppbench to fix accidental merge of default into ppbench.


diffs (truncated from 3281 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -858,3 +858,4 @@ b4c2936c46f28ad6b3e59ed5a1a844726d521994
 691e862e16ceb7f720536063ed6d3c2e3d11e33a Dec2025_5
 691e862e16ceb7f720536063ed6d3c2e3d11e33a Dec2025_SP2_release
 1d742c123cb0e622d9a137b10bfbd7e4c446fde2 Dec2025_7
+1d742c123cb0e622d9a137b10bfbd7e4c446fde2 Dec2025_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -92,7 +92,7 @@ BuildRequires: hardlink
 BuildRequires: cmake >= 3.12
 BuildRequires: gcc
 BuildRequires: bison
-BuildRequires: python3-devel
+BuildRequires: python3-rpm-macros
 %if %{?rhel:1}%{!?rhel:0}
 # RH 7 (and for readline also 8)
 BuildRequires: bzip2-devel
@@ -155,6 +155,7 @@ Summary: MonetDB development files
 Group: Applications/Databases
 Requires: %{name}%{?_isa} = %{version}-%{release}
 Requires: %{name}-stream-devel%{?_isa} = %{version}-%{release}
+Requires: %{name}-client-devel%{?_isa} = %{version}-%{release}
 
 %description devel
 MonetDB is a database management system that is developed from a
@@ -405,7 +406,6 @@ Recommends: perl-DBD-monetdb >= 1.0
 Recommends: php-monetdb >= 1.0
 Requires: %{name}-server%{?_isa} = %{version}-%{release}
 Recommends: python3dist(lz4)
-Recommends: python3dist(scipy)
 
 %description client-tests
 MonetDB is a database management system that is developed from a
diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -103,8 +103,8 @@ The following packages are optional but 
 The following packages are optional:
 ``cfitsio-devel``, ``gdal-devel``, ``geos-devel``, ``libasan``,
 ``libcmocka-devel``, ``libcurl-devel``, ``libxml2-devel``,
-``netcdf-devel``, ``proj-devel``, ``python3-devel``, ``python3-numpy``,
-``unixODBC-devel``, ``valgrind-devel``.
+``netcdf-devel``, ``proj-devel``, ``unixODBC-devel``,
+``valgrind-devel``.
 
 On Ubuntu and Debian the following packages are required:
 ``bison``, ``cmake``, ``gcc``, ``pkg-config``, ``python3``.
@@ -116,8 +116,8 @@ The following packages are optional but 
 The following packages are optional:
 ``libasan5``, ``libcfitsio-dev``, ``libcmocka-dev``,
 ``libcurl4-gnutls-dev``, ``libgdal-dev``, ``libgeos-dev``,
-``libnetcdf-dev``, ``libproj-dev``, ``libxml2-dev``, ``python3-dev``,
-``python3-numpy``, ``unixodbc-dev``, ``valgrind``.
+``libnetcdf-dev``, ``libproj-dev``, ``libxml2-dev``, ``unixodbc-dev``,
+``valgrind``.
 
 ``cmake`` must be at least version 3.12, ``python`` must be at least
 version 3.5.
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
@@ -357,7 +357,7 @@ aggr
 count
 command aggr.count(X_0:bat[:any], X_1:bat[:oid], X_2:bit):lng
 ALGcountCND_nil
-Return the number of elements currently in a BAT ignores@BUNs with nil-tail 
iff ignore_nils==TRUE.
+Return the number of elements currently in a BAT ignores BUNs with nil-tail 
iff ignore_nils==TRUE.
 aggr
 count
 command aggr.count(X_0:bat[:any]):lng
@@ -367,7 +367,7 @@ aggr
 count
 command aggr.count(X_0:bat[:any], X_1:bit):lng
 ALGcount_nil
-Return the number of elements currently in a BAT ignores@BUNs with nil-tail 
iff ignore_nils==TRUE.
+Return the number of elements currently in a BAT ignores BUNs with nil-tail 
iff ignore_nils==TRUE.
 aggr
 count
 command aggr.count(X_0:bat[:oid], X_1:bat[:any_1], X_2:bit, X_3:ptr, 
X_4:bat[:oid]):bat[:lng]
@@ -387,12 +387,12 @@ aggr
 count_no_nil
 command aggr.count_no_nil(X_0:bat[:any_2], X_1:bat[:oid]):lng
 ALGcountCND_no_nil
-Return the number of elements currently@in a BAT ignoring BUNs with nil-tail
+Return the number of elements currently in a BAT ignoring BUNs with nil-tail
 aggr
 count_no_nil
 command aggr.count_no_nil(X_0:bat[:any_2]):lng
 ALGcount_no_nil
-Return the number of elements currently@in a BAT ignoring BUNs with nil-tail
+Return the number of elements currently in a BAT ignoring BUNs with nil-tail
 aggr
 covariance
 command aggr.covariance(X_0:bat[:bte], X_1:bat[:bte], X_2:bat[:oid], 
X_3:bat[:any_1]):bat[:dbl]
@@ -3582,7 +3582,7 @@ algebra
 crossproduct
 command algebra.crossproduct(X_0:bat[:any_1], X_1:bat[:any_2], X_2:bit) 
(X_3:bat[:oid], X_4:bat[:oid])
 ALGcrossproduct2
-Returns 2 columns with all BUNs, consisting of the head-oids@from 'left' and 
'right' for which there are BUNs in 'left'@and 'right' with equal tails
+Returns 2 columns with all BUNs, consisting of the head-oids from 'left' and 
'right' for which there are BUNs in 'left' and 'right' with equal tails
 algebra
 crossproduct
 command algebra.crossproduct(X_0:bat[:any_1], X_1:bat[:any_2], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit) (X_5:bat[:oid], X_6:bat[:oid])
@@ -3682,7 +3682,7 @@ 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
-Join the string bat L with the pattern bat R@with optional candidate lists SL 
and SR using pattern escape string ESC@and doing a case sensitive match.@The 
result is two aligned bats with oids of matching rows.
+Join the string bat L with the pattern bat R with optional candidate lists SL 
and SR using pattern escape string ESC and doing a case sensitive match. The 
result is two aligned bats with oids of matching rows.
 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]
@@ -3692,7 +3692,7 @@ 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
-Select all head values of the first input BAT for which the@tail value is 
"like" the given (SQL-style) pattern and for@which the head value occurs in the 
tail of the second input@BAT.@Input is a dense-headed BAT, output is a 
dense-headed BAT with in@the tail the head value of the input BAT for which 
the@relationship holds.  The output BAT is sorted on the tail value.
+Select all head values of the first input BAT for which the tail value is 
"like" the given (SQL-style) pattern and for which the head value occurs in the 
tail of the second input BAT. Input is a dense-headed BAT, output is a 
dense-headed BAT with in the tail the head value of the input BAT for which the 
relationship holds.  The output BAT is sorted on the tail value.
 algebra
 markjoin
 command algebra.markjoin(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[:bit])
@@ -3782,12 +3782,12 @@ algebra
 reuse
 command algebra.reuse(X_0:bat[:any_1]):bat[:any_1]
 ALGreuse
-Reuse a temporary BAT if you can. Otherwise,@allocate enough storage to accept 
result of an@operation (not involving the heap)
+Reuse a temporary BAT if you can. Otherwise, allocate enough storage to accept 
result of an operation (not involving the heap)
 algebra
 select
 command algebra.select(X_0:bat[:any_1], X_1:any_1, X_2:any_1, X_3:bit, 
X_4:bit, X_5:bit):bat[:oid]
 ALGselect1
-Select all head values for which the tail value is in range.@Input is a 
dense-headed BAT, output is a dense-headed BAT with in@the tail the head value 
of the input BAT for which the tail value@is between the values low and high 
(inclusive if li respectively@hi is set).  The output BAT is sorted on the tail 
value.  If low@or high is nil, the boundary is not considered (effectively - 
and@+ infinity).  If anti is set, the result is the complement.  Nil@values in 
the tail are never matched, unless low=nil, high=nil,@li=1, hi=1, anti=0.  All 
non-nil values are returned if low=nil,@high=nil, and li, hi are not both 1, or 
anti=1.@Note that the output is suitable as second input for the other@version 
of this function.
+Select all head values for which the tail value is in range. Input is a 
dense-headed BAT, output is a dense-headed BAT with in the tail the head value 
of the input BAT for which the tail value is between the values low and high 
(inclusive if li respectively hi is set).  The output BAT is sorted on the tail 
value.  If low or high is nil, the boundary is not considered (effectively - 
and + infinity).  If anti is set, the result is the complement.  Nil values in 
the tail are never matched, unless low=nil, high=nil, li=1, hi=1, anti=0.  All 
non-nil values are returned if low=nil, high=nil, and li, hi are not both 1, or 
anti=1. Note that the output is suitable as second input for the other version 
of this function.
 algebra
 select
 command algebra.select(X_0:bat[:any_1], X_1:any_1, X_2:any_1, X_3:bit, 
X_4:bit, X_5:bit, X_6:bit):bat[:oid]
@@ -3797,7 +3797,7 @@ algebra
 select
 command algebra.select(X_0:bat[:any_1], X_1:bat[:oid], X_2:any_1, X_3:any_1, 
X_4:bit, X_5:bit, X_6:bit):bat[:oid]
 ALGselect2
-Select all head values of the first input BAT for which the tail value@is in 
range and for which the head value occurs in the tail of the@second input 
BAT.@The first input is a dense-headed BAT, the second input is a@dense-headed 
BAT with sorted tail, output is a dense-headed BAT@with in the tail the head 
value of the input BAT for which the@tail value is between the values low and 
high (inclusive if li@respectively hi is set).  The output BAT is sorted on the 
tail@value.  If low or high is nil, the boundary is not considered@(effectively 
- and + infinity).  If anti is set, the result is the@complement.  Nil values 
in the tail are never matched, unless@low=nil, high=nil, li=1, hi=1, anti=0.  
All non-nil values are@returned if low=nil, high=nil, and li, hi are not both 
1, or anti=1.@Note that the output is suitable as second input for 
this@function.
+Select all head values of the first input BAT for which the tail value is in 
range and for which the head value occurs in the tail of the second input BAT. 
The first input is a dense-headed BAT, the second input is a dense-headed BAT 
with sorted tail, output is a dense-headed BAT with in the tail the head value 
of the input BAT for which the tail value is between the values low and high 
(inclusive if li respectively hi is set).  The output BAT is sorted on the tail 
value.  If low or high is nil, the boundary is not considered (effectively - 
and + infinity).  If anti is set, the result is the complement.  Nil values in 
the tail are never matched, unless low=nil, high=nil, li=1, hi=1, anti=0.  All 
non-nil values are returned if low=nil, high=nil, and li, hi are not both 1, or 
anti=1. Note that the output is suitable as second input for this function.
 algebra
 select
 command algebra.select(X_0:bat[:any_1], X_1:bat[:oid], X_2:any_1, X_3:any_1, 
X_4:bit, X_5:bit, X_6:bit, X_7:bit):bat[:oid]
@@ -3837,47 +3837,47 @@ algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bit, X_2:bit, X_3:bit):bat[:any_1]
 ALGsort11
-Returns a copy of the BAT sorted on tail values.@The order is descending if 
the reverse bit is set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values. The order is descending if 
the reverse bit is set. This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bit, X_2:bit, X_3:bit) 
(X_4:bat[:any_1], X_5:bat[:oid])
 ALGsort12
-Returns a copy of the BAT sorted on tail values and a BAT that@specifies how 
the input was reordered.@The order is descending if the reverse bit is 
set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values and a BAT that specifies how 
the input was reordered. The order is descending if the reverse bit is set. 
This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bit, X_2:bit, X_3:bit) 
(X_4:bat[:any_1], X_5:bat[:oid], X_6:bat[:oid])
 ALGsort13
-Returns a copy of the BAT sorted on tail values, a BAT that specifies@how the 
input was reordered, and a BAT with group information.@The order is descending 
if the reverse bit is set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values, a BAT that specifies how the 
input was reordered, and a BAT with group information. The order is descending 
if the reverse bit is set. This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bat[:oid], X_2:bit, X_3:bit, 
X_4:bit):bat[:any_1]
 ALGsort21
-Returns a copy of the BAT sorted on tail values.@The order is descending if 
the reverse bit is set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values. The order is descending if 
the reverse bit is set. This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bat[:oid], X_2:bit, X_3:bit, 
X_4:bit) (X_5:bat[:any_1], X_6:bat[:oid])
 ALGsort22
-Returns a copy of the BAT sorted on tail values and a BAT that@specifies how 
the input was reordered.@The order is descending if the reverse bit is 
set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values and a BAT that specifies how 
the input was reordered. The order is descending if the reverse bit is set. 
This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bat[:oid], X_2:bit, X_3:bit, 
X_4:bit) (X_5:bat[:any_1], X_6:bat[:oid], X_7:bat[:oid])
 ALGsort23
-Returns a copy of the BAT sorted on tail values, a BAT that specifies@how the 
input was reordered, and a BAT with group information.@The order is descending 
if the reverse bit is set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values, a BAT that specifies how the 
input was reordered, and a BAT with group information. The order is descending 
if the reverse bit is set. This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid], X_3:bit, 
X_4:bit, X_5:bit):bat[:any_1]
 ALGsort31
-Returns a copy of the BAT sorted on tail values.@The order is descending if 
the reverse bit is set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values. The order is descending if 
the reverse bit is set. This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid], X_3:bit, 
X_4:bit, X_5:bit) (X_6:bat[:any_1], X_7:bat[:oid])
 ALGsort32
-Returns a copy of the BAT sorted on tail values and a BAT that@specifies how 
the input was reordered.@The order is descending if the reverse bit is 
set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values and a BAT that specifies how 
the input was reordered. The order is descending if the reverse bit is set. 
This is a stable sort if the stable bit is set.
 algebra
 sort
 command algebra.sort(X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid], X_3:bit, 
X_4:bit, X_5:bit) (X_6:bat[:any_1], X_7:bat[:oid], X_8:bat[:oid])
 ALGsort33
-Returns a copy of the BAT sorted on tail values, a BAT that specifies@how the 
input was reordered, and a BAT with group information.@The order is descending 
if the reverse bit is set.@This is a stable sort if the stable bit is set.
+Returns a copy of the BAT sorted on tail values, a BAT that specifies how the 
input was reordered, and a BAT with group information. The order is descending 
if the reverse bit is set. This is a stable sort if the stable bit is set.
 algebra
 subslice
 command algebra.subslice(X_0:bat[:any_1], X_1:lng, X_2:lng):bat[:oid]
@@ -3902,12 +3902,12 @@ algebra
 thetaselect
 command algebra.thetaselect(X_0:bat[:any_1], X_1:bat[:oid], X_2:any_1, 
X_3:str):bat[:oid]
 ALGthetaselect2
-Select all head values of the first input BAT for which the tail value@obeys 
the relation value OP VAL and for which the head value occurs in@the tail of 
the second input BAT.@Input is a dense-headed BAT, output is a dense-headed BAT 
with in@the tail the head value of the input BAT for which the@relationship 
holds.  The output BAT is sorted on the tail value.
+Select all head values of the first input BAT for which the tail value obeys 
the relation value OP VAL and for which the head value occurs in the tail of 
the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT 
with in the tail the head value of the input BAT for which the relationship 
holds.  The output BAT is sorted on the tail value.
 algebra
 unique
 command algebra.unique(X_0:bat[:any_1], X_1:bat[:oid]):bat[:oid]
 ALGunique
-Select all unique values from the tail of the first input.@Input is a 
dense-headed BAT, the second input is a@dense-headed BAT with sorted tail, 
output is a dense-headed@BAT with in the tail the head value of the input BAT 
that was@selected.  The output BAT is sorted on the tail value.  The@second 
input BAT is a list of candidates.
+Select all unique values from the tail of the first input. Input is a 
dense-headed BAT, the second input is a dense-headed BAT with sorted tail, 
output is a dense-headed BAT with in the tail the head value of the input BAT 
that was selected.  The output BAT is sorted on the tail value.  The second 
input BAT is a list of candidates.
 algebra
 unique
 command algebra.unique(X_0:ptr, X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid]) 
(X_4:bat[:oid], X_5:bat[:any_1])
@@ -4017,7 +4017,7 @@ bat
 getSize
 command bat.getSize(X_0:bat[:any_1]):lng
 BKCgetSize
-Calculate the actual size of the BAT descriptor, heaps, hashes in 
bytes@rounded to the memory page size (see bbp.getPageSize()).
+Calculate the actual size of the BAT descriptor, heaps, hashes in bytes 
rounded to the memory page size (see bbp.getPageSize()).
 bat
 getVHeapSize
 command bat.getVHeapSize(X_0:bat[:any_1]):lng
@@ -4037,7 +4037,7 @@ bat
 info
 command bat.info(X_0:bat[:any_1]) (X_1:bat[:str], X_2:bat[:str])
 BKCinfo
-Produce a table containing information about a BAT in [attribute,value] 
format. @It contains all properties of the BAT record. 
+Produce a table containing information about a BAT in [attribute,value] 
format. It contains all properties of the BAT record.
 bat
 intersectcand
 command bat.intersectcand(X_0:bat[:oid], X_1:bat[:oid]):bat[:oid]
@@ -4062,7 +4062,7 @@ bat
 isSynced
 command bat.isSynced(X_0:bat[:any_1], X_1:bat[:any_2]):bit
 BKCisSynced
-Tests whether two BATs are synced or not. 
+Tests whether two BATs are synced or not.
 bat
 isTransient
 command bat.isTransient(X_0:bat[:any_1]):bit
@@ -4167,7 +4167,7 @@ bat
 save
 command bat.save(X_0:str):bit
 BKCsave
-Save a BAT to storage, if it was loaded and dirty.  @Returns whether IO was 
necessary.  Please realize that @calling this function violates the atomic 
commit protocol!!
+Save a BAT to storage, if it was loaded and dirty. Returns whether IO was 
necessary.  Please realize that calling this function violates the atomic 
commit protocol!!
 bat
 save
 command bat.save(X_0:bat[:any_1]):void
@@ -4177,7 +4177,7 @@ bat
 setAccess
 command bat.setAccess(X_0:bat[:any_1], X_1:str):bat[:any_1]
 BKCsetAccess
-Try to change the update access privileges @to this BAT. Mode:@r[ead-only]     
 - allow only read access.@a[append-only]   - allow reads and 
update.@w[riteable]      - allow all operations.@BATs are updatable by default. 
On making a BAT read-only, @all subsequent updates fail with an error 
message.@Returns the BAT itself.
+Try to change the update access privileges to this BAT. Mode: r[ead-only]      
- allow only read access. a[append-only]   - allow reads and update. 
w[riteable]      - allow all operations. BATs are updatable by default. On 
making a BAT read-only, all subsequent updates fail with an error message. 
Returns the BAT itself.
 bat
 setHash
 command bat.setHash(X_0:bat[:any_1]):bit
@@ -4187,7 +4187,7 @@ bat
 setName
 command bat.setName(X_0:bat[:any_1], X_1:str):void
 BKCsetName
-Give a logical name to a BAT. 
+Give a logical name to a BAT.
 bat
 setPersistent
 command bat.setPersistent(X_0:bat[:any_1]):void
@@ -4197,7 +4197,7 @@ bat
 setTransient
 command bat.setTransient(X_0:bat[:any_1]):void
 BKCsetTransient
-Make the BAT transient.  Returns @boolean which indicates if the@BAT 
administration has indeed changed.
+Make the BAT transient.  Returns boolean which indicates if the BAT 
administration has indeed changed.
 bat
 single
 pattern bat.single(X_0:any_1):bat[:any_1]
@@ -31852,32 +31852,32 @@ batmkey
 rotate_xor_hash
 pattern batmkey.rotate_xor_hash(X_0:bat[:lng], X_1:int, 
X_2:bat[:any]):bat[:lng]
 MKEYbulk_rotate_xor_hash
-pre: h and b should be synced on head@post: [:xor=]([:rotate=](h, nbits), 
[hash](b))
+pre: h and b should be synced on head post: [:xor=]([:rotate=](h, nbits), 
[hash](b))
 batmkey
 rotate_xor_hash
 pattern batmkey.rotate_xor_hash(X_0:bat[:lng], X_1:int, X_2:bat[:any], 
X_3:bat[:oid], X_4:bat[:oid]):bat[:lng]
 MKEYbulk_rotate_xor_hash
-pre: h and b should be synced on head@post: [:xor=]([:rotate=](h, nbits), 
[hash](b)), with candidate lists
+pre: h and b should be synced on head post: [:xor=]([:rotate=](h, nbits), 
[hash](b)), with candidate lists
 batmkey
 rotate_xor_hash
 pattern batmkey.rotate_xor_hash(X_0:bat[:lng], X_1:int, X_2:any):bat[:lng]
 MKEYbulkconst_rotate_xor_hash
-pre: h and b should be synced on head@post: [:xor=]([:rotate=](h, nbits), 
[hash](b))
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to