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]
