Changeset: 4cb7e5279533 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4cb7e5279533
Modified Files:
        gdk/gdk_bbp.c
Branch: default
Log Message:

The big one: merge pipeline (pp_hashjoin) into default.


diffs (truncated from 368039 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
@@ -129,6 +129,11 @@ jobs:
           PATH=$HOME/MDB/bin:$PATH $HOME/MDB/bin/Mtest.py -v -r --debug=0 --ci 
--no-html --TSTTRGBASE=.
         if: runner.os != 'Windows'
 
+      - name: mtest-pipeline
+        run: |
+          PATH=$HOME/MDB/bin:$PATH $HOME/MDB/bin/Mtest.py -r --debug=0 --ci 
--no-html --TSTTRGBASE=. --pipeline
+        if: runner.os != 'Windows'
+
       - name: ctest 
         shell: pwsh
         run: |
@@ -144,6 +149,13 @@ jobs:
           python C:\MDB\bin\Mtest.py -v -r --debug=0 --ci --no-html 
--TSTTRGBASE=.
         if: runner.os == 'Windows'
 
+      - name: mtest-pipeline
+        shell: pwsh
+        run: |
+          $env:PATH = 
'C:\MDB\lib;C:\MDB\lib\monetdb5;C:\MDB\bin;C:\vcpkg\installed\x64-windows\bin;C:\vcpkg\installed\x64-windows\debug\bin;'
 + $env:PATH
+          python C:\MDB\bin\Mtest.py -v -r --debug=0 --ci --no-html 
--TSTTRGBASE=. --pipeline
+        if: runner.os == 'Windows'
+
       - name: Tar files
         run: tar -cvf mtests.tar mTests
       - name: Publish mtest results
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -49,6 +49,7 @@ cscope.*
 *.rej
 *.orig
 compile_commands.json
+.cache
 
 # package building on Mac OS X
 MacOSX/build
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -513,6 +513,7 @@ embedded library (%{name}-embedded).
 %{_libdir}/libmonetdbsql*.so*
 %dir %{_libdir}/monetdb5-%{version}
 %{_libdir}/monetdb5*/lib_csv.so
+%{_libdir}/monetdb5*/lib_parquet.so
 %{_libdir}/monetdb5*/lib_generator.so
 %{_libdir}/monetdb5*/lib_monetdb_loader.so
 
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
@@ -3269,6 +3269,11 @@ pattern aggr.sum(X_0:bat[:sht], X_1:bit)
 CMDBATsum
 Calculate aggregate sum of B.
 aggr
+uniques_guess
+command aggr.uniques_guess(X_0:bat[:any_1]):lng
+uniques_guess
+(empty)
+aggr
 variance
 command aggr.variance(X_0:bat[:bte], X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl]
 AGGRvariance3_dbl
@@ -3570,7 +3575,7 @@ ALGouterjoin1
 Left outer join with candidate lists; only produce left output
 algebra
 outerselect
-command algebra.outerselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], 
X_3:bit) (X_4:bat[:oid], X_5:bat[:bit])
+command algebra.outerselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], 
X_3:bit, X_4:bit) (X_5:bat[:oid], X_6:bat[:bit])
 ALGouterselect
 Per input lid return at least one row, if none of the predicates (p) hold, 
return a nil, else 'all' true cases.
 algebra
@@ -3639,6 +3644,11 @@ command algebra.semijoin(X_0:bat[:any_1]
 ALGsemijoin
 Semi join with candidate lists
 algebra
+single
+command algebra.single(X_0:bat[:oid], X_1:bat[:oid]):bat[:oid]
+ALGsingle
+Check for single result ids.
+algebra
 slice
 command algebra.slice(X_0:bat[:any_1], X_1:int, X_2:int):bat[:any_1]
 ALGslice_int
@@ -3704,6 +3714,11 @@ command algebra.subslice(X_0:bat[:any_1]
 ALGsubslice_lng
 Return the oids of the slice with the BUNs at position x till y.
 algebra
+subslice
+command algebra.subslice(X_0:bat[:any_1], X_1:lng, X_2:lng) (X_3:bat[:oid], 
X_4:bat[:oid], X_5:bat[:oid])
+LALGsubslice
+Returns the slice of a pipelined result
+algebra
 thetajoin
 command algebra.thetajoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], 
X_3:bat[:oid], X_4:int, X_5:bit, X_6:lng) (X_7:bat[:oid], X_8:bat[:oid])
 ALGthetajoin
@@ -3754,6 +3769,11 @@ command bat.append(X_0:bat[:any_1], X_1:
 BKCappend_wrap
 append the content of u to i
 bat
+append
+unsafe pattern bat.append(X_0:bat[:any_1], X_1:lng, X_2:bat[:any_1], X_3:bit, 
X_4:bat[:bte]):int
+PPappend
+Append bat at offset
+bat
 appendBulk
 pattern bat.appendBulk(X_0:bat[:any_1], X_1:bit, X_2:any_1...):bat[:any_1]
 CMDBATappend_bulk
@@ -34088,6 +34108,11 @@ year
 pattern batmtime.year(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:int]
 MTIMEtimestamp_year_bulk
 (empty)
+batoahash
+hash
+pattern batoahash.hash(X_0:bat[:any_1]):bat[:lng]
+OAHASHhash
+Compute hash.
 batpcre
 replace
 command batpcre.replace(X_0:bat[:str], X_1:str, X_2:str, X_3:str):bat[:str]
@@ -34525,6 +34550,11 @@ SQLrank
 return the ranked groups
 batsql
 row_number
+pattern batsql.row_number(X_0:bat[:any], X_1:oid) (X_2:bat[:int], X_3:oid)
+PBATSQLrow_number
+Returns the unique row number.
+batsql
+row_number
 pattern batsql.row_number(X_0:bat[:any_1], X_1:bat?[:bit], 
X_2:bat?[:bit]):bat[:int]
 SQLrow_number
 return the row_numer-ed groups
@@ -44599,6 +44629,31 @@ pattern calc.not(X_0:sht):sht
 CMDvarNOT
 Unary bitwise not of V
 calc
+num_div
+pattern calc.num_div(X_0:bte, X_1:lng):bte
+CMDvarDIV2
+Return (V1+(V2-1)/2) / V2, nil on divide by zero
+calc
+num_div
+pattern calc.num_div(X_0:hge, X_1:lng):hge
+CMDvarDIV2
+Return (V1+(V2-1)/2) / V2, nil on divide by zero
+calc
+num_div
+pattern calc.num_div(X_0:int, X_1:lng):int
+CMDvarDIV2
+Return (V1+(V2-1)/2) / V2, nil on divide by zero
+calc
+num_div
+pattern calc.num_div(X_0:lng, X_1:lng):lng
+CMDvarDIV2
+Return (V1+(V2-1)/2) / V2, nil on divide by zero
+calc
+num_div
+pattern calc.num_div(X_0:sht, X_1:lng):sht
+CMDvarDIV2
+Return (V1+(V2-1)/2) / V2, nil on divide by zero
+calc
 oid
 pattern calc.oid(X_0:bit):oid
 CMDvarCONVERT
@@ -45378,6 +45433,131 @@ wakeup
 unsafe pattern clients.wakeup(X_0:int):void
 CLTwakeup
 Wakeup a client process
+copy
+from_stdin
+unsafe pattern copy.from_stdin(X_0:lng, X_1:lng, X_2:bit, X_3:str, X_4:str, 
X_5:bit):streams
+COPYfrom_stdin
+read FROM STDIN
+copy
+get_blocksize
+command copy.get_blocksize():int
+COPYget_blocksize
+get the COPY block size
+copy
+new
+unsafe pattern copy.new(X_0:stream, X_1:lng, X_2:lng, X_3:lng, X_4:str, 
X_5:str, X_6:str, X_7:str, X_8:bit, X_9:str, X_10:bit):bat[:bte]
+COPYnew
+Create resource for shared reading from stream
+copy
+parse_decimal
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int, 
X_4:bte, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:bte]
+COPYparse_decimal_bte
+Parse as a decimal
+copy
+parse_decimal
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int, 
X_4:hge, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:hge]
+COPYparse_decimal_hge
+Parse as a decimal
+copy
+parse_decimal
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int, 
X_4:int, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:int]
+COPYparse_decimal_int
+Parse as a decimal
+copy
+parse_decimal
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int, 
X_4:lng, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:lng]
+COPYparse_decimal_lng
+Parse as a decimal
+copy
+parse_decimal
+pattern copy.parse_decimal(X_0:bat[:bte], X_1:bat[:int], X_2:int, X_3:int, 
X_4:sht, X_5:bat[:oid], X_6:int, X_7:str, X_8:str, X_9:str):bat[:sht]
+COPYparse_decimal_sht
+Parse as a decimal
+copy
+parse_float
+pattern copy.parse_float(X_0:bat[:bte], X_1:bat[:int], X_2:any_1, 
X_3:bat[:oid], X_4:int, X_5:str, X_6:str, X_7:str):bat[:any_1]
+COPYparse_float
+Parse using GDK's atomFromStr, handle optional seperator and skip char
+copy
+parse_generic
+pattern copy.parse_generic(X_0:bat[:bte], X_1:bat[:int], X_2:any_1, 
X_3:bat[:oid], X_4:int, X_5:str):bat[:any_1]
+COPYparse_generic
+Parse using GDK's atomFromStr
+copy
+parse_integer
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:bte, 
X_3:bat[:oid], X_4:int, X_5:str):bat[:bte]
+COPYparse_integer_bte
+Parse as an integer
+copy
+parse_integer
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:hge, 
X_3:bat[:oid], X_4:int, X_5:str):bat[:hge]
+COPYparse_integer_hge
+Parse as an integer
+copy
+parse_integer
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:int, 
X_3:bat[:oid], X_4:int, X_5:str):bat[:int]
+COPYparse_integer_int
+Parse as an integer
+copy
+parse_integer
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:lng, 
X_3:bat[:oid], X_4:int, X_5:str):bat[:lng]
+COPYparse_integer_lng
+Parse as an integer
+copy
+parse_integer
+pattern copy.parse_integer(X_0:bat[:bte], X_1:bat[:int], X_2:sht, 
X_3:bat[:oid], X_4:int, X_5:str):bat[:sht]
+COPYparse_integer_sht
+Parse as an integer
+copy
+parse_string
+pattern copy.parse_string(X_0:bat[:bte], X_1:bat[:int], X_2:int, 
X_3:bat[:oid], X_4:int, X_5:str):bat[:str]
+COPYparse_string
+Parse as a string with given max width
+copy
+request_upload
+unsafe pattern copy.request_upload(X_0:str, X_1:int):streams
+COPYrequest_upload
+request MAPI file upload
+copy
+rows
+unsafe pattern copy.rows():bat[:oid]
+COPYrows
+For best effort we use a selection vector too produce the correctly formated 
rows
+copy
+scale
+pattern copy.scale(X_0:bat[:bte], X_1:int, X_2:bat[:oid], X_3:int, 
X_4:str):bat[:bte]
+COPYscale_bte
+scale by a power of 10
+copy
+scale
+pattern copy.scale(X_0:bat[:hge], X_1:int, X_2:bat[:oid], X_3:int, 
X_4:str):bat[:hge]
+COPYscale_hge
+scale by a power of 10
+copy
+scale
+pattern copy.scale(X_0:bat[:int], X_1:int, X_2:bat[:oid], X_3:int, 
X_4:str):bat[:int]
+COPYscale_int
+scale by a power of 10
+copy
+scale
+pattern copy.scale(X_0:bat[:lng], X_1:int, X_2:bat[:oid], X_3:int, 
X_4:str):bat[:lng]
+COPYscale_lng
+scale by a power of 10
+copy
+scale
+pattern copy.scale(X_0:bat[:sht], X_1:int, X_2:bat[:oid], X_3:int, 
X_4:str):bat[:sht]
+COPYscale_sht
+scale by a power of 10
+copy
+set_blocksize
+command copy.set_blocksize(X_0:int):int
+COPYset_blocksize
+set the COPY block size
+copy
+splitlines
+pattern copy.splitlines(X_0:bat[:bte], X_1:bat[:oid]):bat[:int]...
+COPYsplitlines
+Find the fields of the individual columns
 csv
 epilogue
 command csv.epilogue():void
@@ -45509,6 +45689,91 @@ pattern generator.join(X_0:bat[:sht], X_
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to