Changeset: d99c9c126b51 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d99c9c126b51 Modified Files: clients/Tests/MAL-signatures-hge.test monetdb5/mal/mal_listing.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_prelude.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_type.h monetdb5/mal/mel.h monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/bat5.c monetdb5/modules/mal/bbp.c monetdb5/modules/mal/iterator.c monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mat.c sql/backends/monet5/sql.c Branch: no_type_bat Log Message:
More cleanup, ie no-more any_3 or higher, in the code base. added to the mal type system optional bat arguments, ie a type argument can be optionaly a bat of that type. Reduces lots of signatures (probably more cleaning is needed). diffs (truncated from 2111 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 @@ -3600,7 +3600,7 @@ ALGselect2nil; With unknown set, each nil != nil algebra selectNotNil -command algebra.selectNotNil(X_0:bat[:any_2]):bat[:any_2] +command algebra.selectNotNil(X_0:bat[:any_1]):bat[:any_1] ALGselectNotNil; Select all not-nil values algebra @@ -3930,7 +3930,7 @@ BKCmergecand; Merge two candidate lists into one bat mirror -command bat.mirror(X_0:bat[:any_2]):bat[:oid] +command bat.mirror(X_0:bat[:any_1]):bat[:oid] BKCmirror; Returns the head-mirror image of a BAT (two head columns). bat @@ -3980,7 +3980,7 @@ OIDXmerge; Consolidates the OID index arrangement bat pack -pattern bat.pack(X_0:any_2...):bat[:any_2] +pattern bat.pack(X_0:any_1...):bat[:any_1] MATpackValues; Materialize the values into a BAT. Avoiding a clash with mat.pack() in mergetable bat @@ -33605,392 +33605,182 @@ SQLany_cmp; if cmp then true, (nl or nr) nil then nil, else false batsql avg -pattern batsql.avg(X_0:bat[:bte], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] +pattern batsql.avg(X_0:bat[:bte], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:dbl] SQLavg; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:dbl], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] +pattern batsql.avg(X_0:bat[:dbl], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:dbl] SQLavg; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:flt], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] +pattern batsql.avg(X_0:bat[:flt], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:dbl] SQLavg; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:hge], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] +pattern batsql.avg(X_0:bat[:hge], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:dbl] SQLavg; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:int], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] +pattern batsql.avg(X_0:bat[:int], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:dbl] SQLavg; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:lng], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] +pattern batsql.avg(X_0:bat[:lng], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:dbl] SQLavg; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:sht], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] +pattern batsql.avg(X_0:bat[:sht], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:dbl] SQLavg; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:bte], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:bte] +pattern batsql.avg(X_0:bat[:bte], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:bte] SQLavginteger; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:hge], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:hge] +pattern batsql.avg(X_0:bat[:hge], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:hge] SQLavginteger; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:int], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:int] +pattern batsql.avg(X_0:bat[:int], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:int] SQLavginteger; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:lng], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:lng] +pattern batsql.avg(X_0:bat[:lng], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:lng] SQLavginteger; return the average of groups batsql avg -pattern batsql.avg(X_0:bat[:sht], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:sht] +pattern batsql.avg(X_0:bat[:sht], X_1:bat?[:bit], X_2:bat?[:bit], X_3:int, X_4:bat?[:oid], X_5:bat?[:oid]):bat[:sht] SQLavginteger; return the average of groups batsql corr -pattern batsql.corr(X_0:bat[:bte], X_1:bat[:bte], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:bte], X_1:bte, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:dbl], X_1:bat[:dbl], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:dbl], X_1:dbl, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:flt], X_1:bat[:flt], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:flt], X_1:flt, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.corr(X_0:bat?[:bte], X_1:bat?[:bte], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcorr; return the correlation value of groups batsql corr -pattern batsql.corr(X_0:bat[:hge], X_1:bat[:hge], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:hge], X_1:hge, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:int], X_1:bat[:int], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:int], X_1:int, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.corr(X_0:bat?[:dbl], X_1:bat?[:dbl], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcorr; return the correlation value of groups batsql corr -pattern batsql.corr(X_0:bat[:lng], X_1:bat[:lng], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:lng], X_1:lng, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.corr(X_0:bat?[:flt], X_1:bat?[:flt], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcorr; return the correlation value of groups batsql corr -pattern batsql.corr(X_0:bat[:sht], X_1:bat[:sht], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bat[:sht], X_1:sht, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:bte, X_1:bat[:bte], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.corr(X_0:bat?[:hge], X_1:bat?[:hge], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcorr; return the correlation value of groups batsql corr -pattern batsql.corr(X_0:dbl, X_1:bat[:dbl], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:flt, X_1:bat[:flt], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.corr(X_0:bat?[:int], X_1:bat?[:int], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcorr; return the correlation value of groups batsql corr -pattern batsql.corr(X_0:hge, X_1:bat[:hge], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:int, X_1:bat[:int], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcorr; -return the correlation value of groups -batsql -corr -pattern batsql.corr(X_0:lng, X_1:bat[:lng], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.corr(X_0:bat?[:lng], X_1:bat?[:lng], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcorr; return the correlation value of groups batsql corr -pattern batsql.corr(X_0:sht, X_1:bat[:sht], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.corr(X_0:bat?[:sht], X_1:bat?[:sht], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcorr; return the correlation value of groups batsql count -pattern batsql.count(X_0:bat[:any_1], X_1:bit, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:lng] +pattern batsql.count(X_0:bat[:any_1], X_1:bit, X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:lng] SQLcount; return count of groups batsql covariance -pattern batsql.covariance(X_0:bat[:bte], X_1:bat[:bte], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:bte], X_1:bte, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:dbl], X_1:bat[:dbl], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:dbl], X_1:dbl, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.covariance(X_0:bat?[:bte], X_1:bat?[:bte], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcovar_samp; return the covariance sample value of groups batsql covariance -pattern batsql.covariance(X_0:bat[:flt], X_1:bat[:flt], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:flt], X_1:flt, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:hge], X_1:bat[:hge], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:hge], X_1:hge, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.covariance(X_0:bat?[:dbl], X_1:bat?[:dbl], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcovar_samp; return the covariance sample value of groups batsql covariance -pattern batsql.covariance(X_0:bat[:int], X_1:bat[:int], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:int], X_1:int, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.covariance(X_0:bat?[:flt], X_1:bat?[:flt], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcovar_samp; return the covariance sample value of groups batsql covariance -pattern batsql.covariance(X_0:bat[:lng], X_1:bat[:lng], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:lng], X_1:lng, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bat[:sht], X_1:bat[:sht], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] +pattern batsql.covariance(X_0:bat?[:hge], X_1:bat?[:hge], X_2:bat?[:bit], X_3:bat?[:bit], X_4:int, X_5:bat?[:oid], X_6:bat?[:oid]):bat[:dbl] SQLcovar_samp; return the covariance sample value of groups batsql covariance -pattern batsql.covariance(X_0:bat[:sht], X_1:sht, X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; -return the covariance sample value of groups -batsql -covariance -pattern batsql.covariance(X_0:bte, X_1:bat[:bte], X_2:any, X_3:any, X_4:int, X_5:any, X_6:any):bat[:dbl] -SQLcovar_samp; _______________________________________________ checkin-list mailing list -- [email protected] To unsubscribe send an email to [email protected]
