Changeset: cbba2b95e84a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/cbba2b95e84a
Modified Files:
        clients/Tests/MAL-signatures-hge.test
        clients/Tests/MAL-signatures.test
        clients/Tests/exports.stable.out
        monetdb5/modules/mal/mkey.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_support.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
        sql/common/sql_types.c
Branch: default
Log Message:

Backported pushcands branch cleanup of mkey module into default. I need the 
proper module names for a fix on the emptybind optimizer. It also added 
candidate list cases.


diffs (truncated from 1676 to 300 lines):

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
@@ -33209,56 +33209,6 @@ pattern batcalc.flt_noerror(X_0:bat[:str
 CMDconvert_flt;
 (empty)
 batcalc
-hash
-command batcalc.hash(X_0:bat[:any_1]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:bte]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:dbl]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:flt]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:hge]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:int]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:lng]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:lng]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:oid]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:sht]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
 hge
 pattern batcalc.hge(X_0:bat[:bit]):bat[:hge] 
 CMDconvertsignal_hge;
@@ -39389,11 +39339,6 @@ pattern batcalc.or(X_0:sht, X_1:bat[:sht
 CMDbatOR;
 (empty)
 batcalc
-rotate_xor_hash
-command batcalc.rotate_xor_hash(X_0:bat[:lng], X_1:int, 
X_2:bat[:any_1]):bat[:int] 
-MKEYbulk_rotate_xor_hash;
-(empty)
-batcalc
 round
 pattern batcalc.round(X_0:bat[:bte], X_1:bte, X_2:bat[:oid], X_3:int, 
X_4:int):bat[:bte] 
 bte_bat_round_wrap;
@@ -42320,9 +42265,44 @@ MANIFOLDremapMultiplex;
 (empty)
 batmkey
 hash
-command batmkey.hash(X_0:bat[:any_1]):bat[:lng] 
+pattern batmkey.hash(X_0:bat[:any]):bat[:lng] 
 MKEYbathash;
 calculate a hash value
+batmkey
+hash
+pattern batmkey.hash(X_0:bat[:any], X_1:bat[:oid]):bat[:lng] 
+MKEYbathash;
+calculate a hash value, with a candidate list
+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))
+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
+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))
+batmkey
+rotate_xor_hash
+pattern batmkey.rotate_xor_hash(X_0:bat[:lng], X_1:int, X_2:any, 
X_3:bat[:oid]):bat[:lng] 
+MKEYbulkconst_rotate_xor_hash;
+pre: h and b should be synced on head@post: [:xor=]([:rotate=](h, nbits), 
[hash](b)), with a candidate list
+batmkey
+rotate_xor_hash
+pattern batmkey.rotate_xor_hash(X_0:lng, X_1:int, X_2:bat[:any]):bat[:lng] 
+MKEYconstbulk_rotate_xor_hash;
+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:lng, X_1:int, X_2:bat[:any], 
X_3:bat[:oid]):bat[:lng] 
+MKEYconstbulk_rotate_xor_hash;
+pre: h and b should be synced on head@post: [:xor=]([:rotate=](h, nbits), 
[hash](b)), with a candidate list
 batmmath
 acos
 pattern batmmath.acos(X_0:bat[:dbl]):bat[:dbl] 
@@ -55169,56 +55149,6 @@ command calc.flt(X_0:sht, X_1:int, X_2:i
 sht_num2dec_flt;
 cast number to decimal(flt) and check for overflow
 calc
-hash
-pattern calc.hash(X_0:any):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:bte):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:dbl):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:flt):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:hge):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:int):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:lng):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:lng):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:oid):lng 
-MKEYhash;
-(empty)
-calc
-hash
-pattern calc.hash(X_0:sht):lng 
-MKEYhash;
-(empty)
-calc
 hge
 pattern calc.hge(X_0:bit):hge 
 CMDvarCONVERT;
@@ -57394,11 +57324,6 @@ command calc.ptr(X_0:ptr):ptr
 CMDvarCONVERTptr;
 Cast VALUE to ptr
 calc
-rotate_xor_hash
-pattern calc.rotate_xor_hash(X_0:lng, X_1:int, X_2:any_1):lng 
-MKEYrotate_xor_hash;
-(empty)
-calc
 round
 command calc.round(X_0:bte, X_1:bte, X_2:int, X_3:int):bte 
 bte_round_wrap;
@@ -61174,80 +61099,15 @@ pattern mdb.var():void
 MDBvar;
 Dump the symboltable of current routine on standard out.
 mkey
-bulk_rotate_xor_hash
-command mkey.bulk_rotate_xor_hash(X_0:bat[:lng], X_1:int, 
X_2:bat[:any_1]):bat[:lng] 
-MKEYbulk_rotate_xor_hash;
-pre:  h and b should be synced on head@post: [:xor=]([:rotate=](h, nbits), 
[hash](b))
-mkey
-bulk_rotate_xor_hash
-pattern mkey.bulk_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))
-mkey
-bulk_rotate_xor_hash
-command mkey.bulk_rotate_xor_hash(X_0:lng, X_1:int, X_2:bat[:any_1]):bat[:lng] 
-MKEYconstbulk_rotate_xor_hash;
-pre:  h and b should be synced on head@post: [:xor=]([:rotate=](h, nbits), 
[hash](b))
-mkey
-bulk_rotate_xor_hash
-pattern mkey.bulk_rotate_xor_hash(X_0:lng, X_1:int, X_2:any):lng 
-MKEYrotate_xor_hash;
-post: [:xor=]([:rotate=](h, nbits), [hash](b))
-mkey
 hash
 pattern mkey.hash(X_0:any):lng 
 MKEYhash;
 calculate a hash value
 mkey
-hash
-pattern mkey.hash(X_0:bit):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:bte):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:dbl):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:flt):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:hge):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:int):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:lng):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:sht):lng 
-MKEYhash;
-calculate a hash value
-mkey
-hash
-pattern mkey.hash(X_0:str):lng 
-MKEYhash;
-calculate a hash value
-mkey
-rotate
-command mkey.rotate(X_0:lng, X_1:int):lng 
-MKEYrotate;
-left-rotate an int by nbits
+rotate_xor_hash
+pattern mkey.rotate_xor_hash(X_0:lng, X_1:int, X_2:any):lng 
+MKEYrotate_xor_hash;
+post: [:xor=]([:rotate=](h, nbits), [hash](b))
 mmath
 acos
 command mmath.acos(X_0:dbl):dbl 
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
@@ -23264,51 +23264,6 @@ pattern batcalc.flt_noerror(X_0:bat[:str
 CMDconvert_flt;
 (empty)
 batcalc
-hash
-command batcalc.hash(X_0:bat[:any_1]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:bte]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:dbl]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
-command batcalc.hash(X_0:bat[:flt]):bat[:lng] 
-MKEYbathash;
-(empty)
-batcalc
-hash
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to