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]