Changeset: a91675a2eb8d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a91675a2eb8d
Added Files:
        ctest/tools/monetdbe/CMakeLists.txt
        ctest/tools/monetdbe/backup.c
        ctest/tools/monetdbe/example1.c
        ctest/tools/monetdbe/example2.c
        ctest/tools/monetdbe/example_append.c
        ctest/tools/monetdbe/example_blob.c
        ctest/tools/monetdbe/example_connections.c
        ctest/tools/monetdbe/example_decimals.c
        ctest/tools/monetdbe/example_temporal.c
        ctest/tools/monetdbe/mapi.c
        ctest/tools/monetdbe/mapi.h
        documentation/embedded/authors.rst
        documentation/embedded/conf.py
        documentation/embedded/dev_notes.rst
        documentation/embedded/examples.rst
        documentation/embedded/index.rst
        documentation/embedded/installation.rst
        documentation/embedded/introduction.rst
        documentation/embedded/monetdbe_api.rst
        sql/test/SQLancer/Tests/SingleServer
        tools/monetdbe/CMakeLists.txt
        tools/monetdbe/monetdbe.c
        tools/monetdbe/monetdbe.h
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapilib/monetdb-mapi.pc.in
        cmake/Modules/FindLZ4.cmake
        cmake/monetdb-findpackages.cmake
        common/options/CMakeLists.txt
        common/stream/CMakeLists.txt
        common/stream/monetdb-stream.pc.in
        ctest/cmake/detect-iconv.cmake
        ctest/tools/CMakeLists.txt
        ctest/tools/embedded/backup.c
        ctest/tools/embedded/example1.c
        ctest/tools/embedded/example2.c
        ctest/tools/embedded/example_append.c
        ctest/tools/embedded/example_blob.c
        ctest/tools/embedded/example_connections.c
        ctest/tools/embedded/example_decimals.c
        ctest/tools/embedded/example_temporal.c
        ctest/tools/embedded/mapi.c
        ctest/tools/embedded/mapi.h
        gdk/gdk_cross.c
        gdk/gdk_join.c
        gdk/gdk_select.c
        gdk/gdk_utils.c
        gdk/monetdb-gdk.pc.in
        geom/lib/CMakeLists.txt
        geom/monetdb5/CMakeLists.txt
        monetdb5/mal/CMakeLists.txt
        monetdb5/modules/atoms/str.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/pcre.mal
        monetdb5/modules/mal/tablet.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_postfix.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_profiler.c
        monetdb5/optimizer/opt_support.c
        monetdb5/tools/CMakeLists.txt
        monetdb5/tools/monetdb5.pc.in
        sql/backends/monet5/CMakeLists.txt
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_statement.c
        sql/server/rel_optimizer.c
        sql/server/rel_rewriter.c
        sql/server/rel_select.c
        sql/server/rel_unnest.c
        sql/server/sql_parser.y
        sql/test/BugTracker-2017/Tests/date-arithmetic.Bug-6415.sql
        sql/test/SQLancer/Tests/sqlancer01.sql
        sql/test/SQLancer/Tests/sqlancer01.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/subquery/Tests/subquery6.sql
        sql/test/subquery/Tests/subquery6.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        testing/Mtest.py.in
        tools/CMakeLists.txt
        tools/embedded/monetdb_embedded.c
        tools/embedded/monetdb_embedded.h
Branch: unlock
Log Message:

Merge with default branch.


diffs (truncated from 90418 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -64,10969 +64,6816 @@ stdout of test 'MAL-signatures` in direc
 % .%1, .%1,    .%1,    .%1,    .%1 # table_name
 % module,      function,       signature,      address,        comment # name
 % clob,        clob,   clob,   clob,   clob # type
-% 12,  28,     364,    42,     874 # length
-[ "aggr",      "allnotequal",  "command aggr.allnotequal(l:bat[:any_1], 
r:bat[:any_1]):bit ",  "SQLallnotequal;",      "if all values in r are not 
equal to l return true, else if r has nil nil else false"   ]
-[ "aggr",      "anyequal",     "pattern aggr.anyequal(l:any_1, r:any_1):bit ", 
"CMDvarEQ;",    ""      ]
-[ "aggr",      "anyequal",     "command aggr.anyequal(l:bat[:any_1], 
r:bat[:any_1]):bit ",     "SQLanyequal;", "if any value in r is equal to l 
return true, else if r has nil nil else false" ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
bte"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
dbl"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
flt"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
int"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
lng"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
sht"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], scale:int):bat[:dbl] ",      "AGGRavg14_dbl;",       "Grouped 
tail average on bte"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], scale:int):bat[:dbl] ",      "AGGRavg14_dbl;",       "Grouped 
tail average on dbl"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], scale:int):bat[:dbl] ",      "AGGRavg14_dbl;",       "Grouped 
tail average on flt"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], scale:int):bat[:dbl] ",      "AGGRavg14_dbl;",       "Grouped 
tail average on int"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], scale:int):bat[:dbl] ",      "AGGRavg14_dbl;",       "Grouped 
tail average on lng"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], scale:int):bat[:dbl] ",      "AGGRavg14_dbl;",       "Grouped 
tail average on sht"   ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ",    "AGGRavg23_dbl;",       
"Grouped tail average on bte, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ",    "AGGRavg23_dbl;",       
"Grouped tail average on dbl, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ",    "AGGRavg23_dbl;",       
"Grouped tail average on flt, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ",    "AGGRavg23_dbl;",       
"Grouped tail average on int, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ",    "AGGRavg23_dbl;",       
"Grouped tail average on lng, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1]) (X_0:bat[:dbl], X_1:bat[:lng]) ",    "AGGRavg23_dbl;",       
"Grouped tail average on sht, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], scale:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;",   
    "Grouped tail average on bte, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], scale:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;",   
    "Grouped tail average on dbl, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], scale:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;",   
    "Grouped tail average on flt, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], scale:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;",   
    "Grouped tail average on int, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], scale:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;",   
    "Grouped tail average on lng, also returns count"       ]
-[ "aggr",      "avg",  "command aggr.avg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], scale:int) (X_0:bat[:dbl], X_1:bat[:lng]) ", "AGGRavg24_dbl;",   
    "Grouped tail average on sht, also returns count"       ]
-[ "aggr",      "avg",  "pattern aggr.avg(b:bat[:any_2]):dbl ", "CMDcalcavg;",  
"Gives the avg of all tail values"      ]
-[ "aggr",      "avg",  "pattern aggr.avg(b:bat[:any_2], scale:int):dbl ",      
"CMDcalcavg;",  "Gives the avg of all tail values"      ]
-[ "aggr",      "cardinality",  "command aggr.cardinality(b:bat[:any_2]):lng ", 
"ALGcard;",     "Return the cardinality of the BAT tail values."        ]
-[ "aggr",      "corr", "command aggr.corr(b1:bat[:bte], b2:bat[:bte], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRcorr;",    "Correlation 
aggregate" ]
-[ "aggr",      "corr", "command aggr.corr(b1:bat[:dbl], b2:bat[:dbl], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRcorr;",    "Correlation 
aggregate" ]
-[ "aggr",      "corr", "command aggr.corr(b1:bat[:flt], b2:bat[:flt], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRcorr;",    "Correlation 
aggregate" ]
-[ "aggr",      "corr", "command aggr.corr(b1:bat[:int], b2:bat[:int], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRcorr;",    "Correlation 
aggregate" ]
-[ "aggr",      "corr", "command aggr.corr(b1:bat[:lng], b2:bat[:lng], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRcorr;",    "Correlation 
aggregate" ]
-[ "aggr",      "corr", "command aggr.corr(b1:bat[:sht], b2:bat[:sht], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRcorr;",    "Correlation 
aggregate" ]
-[ "aggr",      "corr", "command aggr.corr(b1:bat[:any_2], b2:bat[:any_2]):dbl 
",       "ALGcorr;",     "Gives the correlation of all tail values"      ]
-[ "aggr",      "count",        "command aggr.count(b:bat[:any_1], g:bat[:oid], 
e:bat[:any_2], ignorenils:bit):bat[:lng] ",     "AGGRcount3;",  ""      ]
-[ "aggr",      "count",        "command aggr.count(b:bat[:any_1], g:bat[:oid], 
e:bat[:any_2]):bat[:lng] ",     "AGGRcount3nils;",      "Grouped count" ]
-[ "aggr",      "count",        "command aggr.count(b:bat[:any], 
cnd:bat[:oid]):lng ",  "ALGcountCND_bat;",     "Return the current size (in 
number of elements) in a BAT."     ]
-[ "aggr",      "count",        "command aggr.count(b:bat[:any], cnd:bat[:oid], 
ignore_nils:bit):lng ", "ALGcountCND_nil;",     "Return the number of elements 
currently in a BAT ignores\n\t\tBUNs with nil-tail iff ignore_nils==TRUE."      
 ]
-[ "aggr",      "count",        "command aggr.count(b:bat[:any]):lng ", 
"ALGcount_bat;",        "Return the current size (in number of elements) in a 
BAT."     ]
-[ "aggr",      "count",        "command aggr.count(b:bat[:any], 
ignore_nils:bit):lng ",        "ALGcount_nil;",        "Return the number of 
elements currently in a BAT ignores\n\t\tBUNs with nil-tail iff 
ignore_nils==TRUE."       ]
-[ "aggr",      "count_no_nil", "command aggr.count_no_nil(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2]):bat[:lng] ",      "AGGRcount3nonils;",    ""      ]
-[ "aggr",      "count_no_nil", "command aggr.count_no_nil(b:bat[:any_2], 
cnd:bat[:oid]):lng ", "ALGcountCND_no_nil;",  "Return the number of elements 
currently\n\tin a BAT ignoring BUNs with nil-tail"       ]
-[ "aggr",      "count_no_nil", "command aggr.count_no_nil(b:bat[:any_2]):lng 
",        "ALGcount_no_nil;",     "Return the number of elements 
currently\n\tin a BAT ignoring BUNs with nil-tail"       ]
-[ "aggr",      "covariance",   "command aggr.covariance(b1:bat[:bte], 
b2:bat[:bte], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRcovariance;",     
 "Covariance sample aggregate"   ]
-[ "aggr",      "covariance",   "command aggr.covariance(b1:bat[:dbl], 
b2:bat[:dbl], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRcovariance;",     
 "Covariance sample aggregate"   ]
-[ "aggr",      "covariance",   "command aggr.covariance(b1:bat[:flt], 
b2:bat[:flt], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRcovariance;",     
 "Covariance sample aggregate"   ]
-[ "aggr",      "covariance",   "command aggr.covariance(b1:bat[:int], 
b2:bat[:int], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRcovariance;",     
 "Covariance sample aggregate"   ]
-[ "aggr",      "covariance",   "command aggr.covariance(b1:bat[:lng], 
b2:bat[:lng], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRcovariance;",     
 "Covariance sample aggregate"   ]
-[ "aggr",      "covariance",   "command aggr.covariance(b1:bat[:sht], 
b2:bat[:sht], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRcovariance;",     
 "Covariance sample aggregate"   ]
-[ "aggr",      "covariance",   "command aggr.covariance(b1:bat[:any_2], 
b2:bat[:any_2]):dbl ", "ALGcovariance;",       "Gives the covariance of all 
tail values"       ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(b1:bat[:bte], 
b2:bat[:bte], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",  "AGGRcovariancep;",     
"Covariance population aggregate"       ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(b1:bat[:dbl], 
b2:bat[:dbl], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",  "AGGRcovariancep;",     
"Covariance population aggregate"       ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(b1:bat[:flt], 
b2:bat[:flt], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",  "AGGRcovariancep;",     
"Covariance population aggregate"       ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(b1:bat[:int], 
b2:bat[:int], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",  "AGGRcovariancep;",     
"Covariance population aggregate"       ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(b1:bat[:lng], 
b2:bat[:lng], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",  "AGGRcovariancep;",     
"Covariance population aggregate"       ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(b1:bat[:sht], 
b2:bat[:sht], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",  "AGGRcovariancep;",     
"Covariance population aggregate"       ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(b1:bat[:any_2], 
b2:bat[:any_2]):dbl ",        "ALGcovariancep;",      "Gives the covariance of 
all tail values"       ]
-[ "aggr",      "exist",        "command aggr.exist(b:bat[:any_2], h:any_1):bit 
",      "ALGexist;",    ""      ]
-[ "aggr",      "exist",        "command aggr.exist(b:bat[:any_2]):bit ",       
"SQLexist;",    ""      ]
-[ "aggr",      "exist",        "pattern aggr.exist(v:any_2):bit ",     
"SQLexist_val;",        ""      ]
-[ "aggr",      "jsonaggr",     "command aggr.jsonaggr(val:bat[:dbl]):str ",    
"JSONgroupStr;",        "Aggregate the double values to array." ]
-[ "aggr",      "jsonaggr",     "command aggr.jsonaggr(val:bat[:str]):str ",    
"JSONgroupStr;",        "Aggregate the string values to array." ]
-[ "aggr",      "max",  "command aggr.max(b:bat[:any_1], g:bat[:oid], 
e:bat[:any_2]):bat[:any_1] ",     "AGGRmax3;",    ""      ]
-[ "aggr",      "max",  "command aggr.max(b:bat[:any_2]):any_2 ",       
"ALGmaxany;",   "Return the highest tail value or nil." ]
-[ "aggr",      "max",  "command aggr.max(b:bat[:any_2], skipnil:bit):any_2 ",  
"ALGmaxany_skipnil;",   "Return the highest tail value or nil." ]
-[ "aggr",      "median",       "command aggr.median(b:bat[:any_1]):any_1 ",    
"AGGRmedian;",  "Median aggregate"      ]
-[ "aggr",      "median_avg",   "command aggr.median_avg(b:bat[:any_1]):dbl ",  
"AGGRmedian_avg;",      "Median aggregate"      ]
-[ "aggr",      "min",  "command aggr.min(b:bat[:any_1], g:bat[:oid], 
e:bat[:any_2]):bat[:any_1] ",     "AGGRmin3;",    ""      ]
-[ "aggr",      "min",  "command aggr.min(b:bat[:any_2]):any_2 ",       
"ALGminany;",   "Return the lowest tail value or nil."  ]
-[ "aggr",      "min",  "command aggr.min(b:bat[:any_2], skipnil:bit):any_2 ",  
"ALGminany_skipnil;",   "Return the lowest tail value or nil."  ]
-[ "aggr",      "not_anyequal", "pattern aggr.not_anyequal(l:any_1, 
r:any_1):bit ",     "CMDvarNE;",    ""      ]
-[ "aggr",      "not_exist",    "command aggr.not_exist(b:bat[:any_2]):bit ",   
"SQLnot_exist;",        ""      ]
-[ "aggr",      "not_exist",    "pattern aggr.not_exist(v:any_2):bit ", 
"SQLnot_exist_val;",    ""      ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:bte] ",        "AGGRprod3_bte;",       "Grouped tail 
product on bte"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",        "AGGRprod3_dbl;",       "Grouped tail 
product on dbl"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",        "AGGRprod3_dbl;",       "Grouped tail 
product on flt"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1]):bat[:flt] ",        "AGGRprod3_flt;",       "Grouped tail 
product on flt"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:int] ",        "AGGRprod3_int;",       "Grouped tail 
product on bte"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:int], g:bat[:oid], 
e:bat[:any_1]):bat[:int] ",        "AGGRprod3_int;",       "Grouped tail 
product on int"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1]):bat[:int] ",        "AGGRprod3_int;",       "Grouped tail 
product on sht"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:lng] ",        "AGGRprod3_lng;",       "Grouped tail 
product on bte"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:int], g:bat[:oid], 
e:bat[:any_1]):bat[:lng] ",        "AGGRprod3_lng;",       "Grouped tail 
product on int"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1]):bat[:lng] ",        "AGGRprod3_lng;",       "Grouped tail 
product on lng"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1]):bat[:lng] ",        "AGGRprod3_lng;",       "Grouped tail 
product on sht"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:sht] ",        "AGGRprod3_sht;",       "Grouped tail 
product on bte"   ]
-[ "aggr",      "prod", "command aggr.prod(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1]):bat[:sht] ",        "AGGRprod3_sht;",       "Grouped tail 
product on sht"   ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte]):bte ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte]):dbl ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte]):int ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte]):lng ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte]):sht ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], nil_if_empty:bit):bte 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], nil_if_empty:bit):dbl 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], nil_if_empty:bit):int 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], nil_if_empty:bit):lng 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], nil_if_empty:bit):sht 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid]):bte ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid]):dbl ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid]):int ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid]):lng ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid]):sht ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid], 
nil_if_empty:bit):bte ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid], 
nil_if_empty:bit):dbl ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid], 
nil_if_empty:bit):int ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid], 
nil_if_empty:bit):lng ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:bte], s:bat[:oid], 
nil_if_empty:bit):sht ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:dbl]):dbl ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:dbl], nil_if_empty:bit):dbl 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:dbl], s:bat[:oid]):dbl ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:dbl], s:bat[:oid], 
nil_if_empty:bit):dbl ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt]):dbl ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt]):flt ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt], nil_if_empty:bit):dbl 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt], nil_if_empty:bit):flt 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt], s:bat[:oid]):dbl ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt], s:bat[:oid]):flt ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt], s:bat[:oid], 
nil_if_empty:bit):dbl ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:flt], s:bat[:oid], 
nil_if_empty:bit):flt ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int]):dbl ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int]):int ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int]):lng ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], nil_if_empty:bit):dbl 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], nil_if_empty:bit):int 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], nil_if_empty:bit):lng 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], s:bat[:oid]):dbl ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], s:bat[:oid]):int ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], s:bat[:oid]):lng ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], s:bat[:oid], 
nil_if_empty:bit):dbl ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], s:bat[:oid], 
nil_if_empty:bit):int ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:int], s:bat[:oid], 
nil_if_empty:bit):lng ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng]):dbl ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng]):lng ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng], nil_if_empty:bit):dbl 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng], nil_if_empty:bit):lng 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng], s:bat[:oid]):dbl ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng], s:bat[:oid]):lng ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng], s:bat[:oid], 
nil_if_empty:bit):dbl ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:lng], s:bat[:oid], 
nil_if_empty:bit):lng ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht]):dbl ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht]):int ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht]):lng ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht]):sht ",  "CMDBATprod;",  
"Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], nil_if_empty:bit):dbl 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], nil_if_empty:bit):int 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], nil_if_empty:bit):lng 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], nil_if_empty:bit):sht 
",        "CMDBATprod;",  "Calculate aggregate product of B."     ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid]):dbl ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid]):int ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid]):lng ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid]):sht ",     
"CMDBATprod;",  "Calculate aggregate product of B with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid], 
nil_if_empty:bit):dbl ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid], 
nil_if_empty:bit):int ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid], 
nil_if_empty:bit):lng ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid], 
nil_if_empty:bit):sht ",   "CMDBATprod;",  "Calculate aggregate product of B 
with candidate list." ]
-[ "aggr",      "quantile",     "command aggr.quantile(b:bat[:any_1], 
q:bat[:dbl]):any_1 ",     "AGGRquantile;",        "Quantile aggregate"    ]
-[ "aggr",      "quantile_avg", "command aggr.quantile_avg(b:bat[:any_1], 
q:bat[:dbl]):dbl ",   "AGGRquantile_avg;",    "Quantile aggregate"    ]
-[ "aggr",      "stdev",        "command aggr.stdev(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",       "AGGRstdev3_dbl;",      "Grouped tail 
standard deviation (sample/non-biased) on bte"    ]
-[ "aggr",      "stdev",        "command aggr.stdev(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",       "AGGRstdev3_dbl;",      "Grouped tail 
standard deviation (sample/non-biased) on dbl"    ]
-[ "aggr",      "stdev",        "command aggr.stdev(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",       "AGGRstdev3_dbl;",      "Grouped tail 
standard deviation (sample/non-biased) on flt"    ]
-[ "aggr",      "stdev",        "command aggr.stdev(b:bat[:int], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",       "AGGRstdev3_dbl;",      "Grouped tail 
standard deviation (sample/non-biased) on int"    ]
-[ "aggr",      "stdev",        "command aggr.stdev(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",       "AGGRstdev3_dbl;",      "Grouped tail 
standard deviation (sample/non-biased) on lng"    ]
-[ "aggr",      "stdev",        "command aggr.stdev(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",       "AGGRstdev3_dbl;",      "Grouped tail 
standard deviation (sample/non-biased) on sht"    ]
-[ "aggr",      "stdev",        "command aggr.stdev(b:bat[:any_2]):dbl ",       
"ALGstdev;",    "Gives the standard deviation of all tail values"       ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",      "AGGRstdevp3_dbl;",     "Grouped tail standard 
deviation (population/biased) on bte"    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",      "AGGRstdevp3_dbl;",     "Grouped tail standard 
deviation (population/biased) on dbl"    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",      "AGGRstdevp3_dbl;",     "Grouped tail standard 
deviation (population/biased) on flt"    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(b:bat[:int], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",      "AGGRstdevp3_dbl;",     "Grouped tail standard 
deviation (population/biased) on int"    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",      "AGGRstdevp3_dbl;",     "Grouped tail standard 
deviation (population/biased) on lng"    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ",      "AGGRstdevp3_dbl;",     "Grouped tail standard 
deviation (population/biased) on sht"    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(b:bat[:any_2]):dbl ",      
"ALGstdevp;",   "Gives the standard deviation of all tail values"       ]
-[ "aggr",      "str_group_concat",     "command 
aggr.str_group_concat(b:bat[:str], g:bat[:oid], e:bat[:any_1]):bat[:str] ",    
"AGGRstr_group_concat;",        "Grouped string tail concat"    ]
-[ "aggr",      "str_group_concat",     "command 
aggr.str_group_concat(b:bat[:str], sep:bat[:str], g:bat[:oid], 
e:bat[:any_1]):bat[:str] ",     "AGGRstr_group_concat_sep;",    "Grouped string 
tail concat with custom separator"      ]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str]):str ",      "CMDBATstr_group_concat;",      
"Calculate aggregate string concatenate of B."  ]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], nil_if_empty:bit):str ",    
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B."  
]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], s:bat[:oid]):str ", 
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B 
with candidate list."      ]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], s:bat[:oid], nil_if_empty:bit):str ",       
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B 
with candidate list."      ]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], sep:bat[:str]):str ",       
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B 
with separator SEP."       ]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], sep:bat[:str], nil_if_empty:bit):str ",     
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B 
with separator SEP."       ]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], sep:bat[:str], s:bat[:oid]):str ",  
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B 
with candidate list and separator SEP."    ]
-[ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], sep:bat[:str], s:bat[:oid], 
nil_if_empty:bit):str ",        "CMDBATstr_group_concat;",      "Calculate 
aggregate string concatenate of B with candidate list and separator SEP."    ]
-[ "aggr",      "suballnotequal",       "command 
aggr.suballnotequal(l:bat[:any_1], r:bat[:any_1], rid:bat[:oid], gp:bat[:oid], 
gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLallnotequal_grp2;", "if all values 
in r are not equal to l return true, else if r has nil nil else false, except 
if rid is nil (ie empty) then true"        ]
-[ "aggr",      "suballnotequal",       "command 
aggr.suballnotequal(l:bat[:any_1], r:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], 
no_nil:bit):bat[:bit] ",        "SQLallnotequal_grp;",  "if all values in r are 
not equal to l return true, else if r has nil nil else false"   ]
-[ "aggr",      "subanyequal",  "command aggr.subanyequal(l:bat[:any_1], 
r:bat[:any_1], rid:bat[:oid], gp:bat[:oid], gpe:bat[:oid], 
no_nil:bit):bat[:bit] ",    "SQLanyequal_grp2;",    "if any value in r is equal 
to l return true, else if r has nil nil else false, except if rid is nil (ie 
empty) then false"     ]
-[ "aggr",      "subanyequal",  "command aggr.subanyequal(l:bat[:any_1], 
r:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ",   
"SQLanyequal_grp;",     "if any value in r is equal to l return true, else if r 
has nil nil else false" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     
 "AGGRsubavg1cand_dbl;", "Grouped average aggregate with candidates list"       
 ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     
 "AGGRsubavg1cand_dbl;", "Grouped average aggregate with candidates list"       
 ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     
 "AGGRsubavg1cand_dbl;", "Grouped average aggregate with candidates list"       
 ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     
 "AGGRsubavg1cand_dbl;", "Grouped average aggregate with candidates list"       
 ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     
 "AGGRsubavg1cand_dbl;", "Grouped average aggregate with candidates list"       
 ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     
 "AGGRsubavg1cand_dbl;", "Grouped average aggregate with candidates list"       
 ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int):bat[:dbl] ",       
 "AGGRsubavg1s_dbl;",    "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int):bat[:dbl] ",       
 "AGGRsubavg1s_dbl;",    "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int):bat[:dbl] ",       
 "AGGRsubavg1s_dbl;",    "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int):bat[:dbl] ",       
 "AGGRsubavg1s_dbl;",    "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int):bat[:dbl] ",       
 "AGGRsubavg1s_dbl;",    "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int):bat[:dbl] ",       
 "AGGRsubavg1s_dbl;",    "Grouped average aggregate"     ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, 
scale:int):bat[:dbl] ",   "AGGRsubavg1scand_dbl;",        "Grouped average 
aggregate with candidates list"        ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, 
scale:int):bat[:dbl] ",   "AGGRsubavg1scand_dbl;",        "Grouped average 
aggregate with candidates list"        ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, 
scale:int):bat[:dbl] ",   "AGGRsubavg1scand_dbl;",        "Grouped average 
aggregate with candidates list"        ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, 
scale:int):bat[:dbl] ",   "AGGRsubavg1scand_dbl;",        "Grouped average 
aggregate with candidates list"        ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, 
scale:int):bat[:dbl] ",   "AGGRsubavg1scand_dbl;",        "Grouped average 
aggregate with candidates list"        ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, 
scale:int):bat[:dbl] ",   "AGGRsubavg1scand_dbl;",        "Grouped average 
aggregate with candidates list"        ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",      "AGGRsubavg2_dbl;",     "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",      "AGGRsubavg2_dbl;",     "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",      "AGGRsubavg2_dbl;",     "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",      "AGGRsubavg2_dbl;",     "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",      "AGGRsubavg2_dbl;",     "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",      "AGGRsubavg2_dbl;",     "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ", "AGGRsubavg2cand_dbl;", "Grouped average aggregate with 
candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ", "AGGRsubavg2cand_dbl;", "Grouped average aggregate with 
candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ", "AGGRsubavg2cand_dbl;", "Grouped average aggregate with 
candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ", "AGGRsubavg2cand_dbl;", "Grouped average aggregate with 
candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ", "AGGRsubavg2cand_dbl;", "Grouped average aggregate with 
candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit) (X_0:bat[:dbl], 
X_1:bat[:lng]) ", "AGGRsubavg2cand_dbl;", "Grouped average aggregate with 
candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",   "AGGRsubavg2s_dbl;",    "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",   "AGGRsubavg2s_dbl;",    "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",   "AGGRsubavg2s_dbl;",    "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",   "AGGRsubavg2s_dbl;",    "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",   "AGGRsubavg2s_dbl;",    "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit, scale:int) (X_0:bat[:dbl], 
X_1:bat[:lng]) ",   "AGGRsubavg2s_dbl;",    "Grouped average aggregate, also 
returns count" ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, scale:int) 
(X_0:bat[:dbl], X_1:bat[:lng]) ",      "AGGRsubavg2scand_dbl;",        "Grouped 
average aggregate with candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, scale:int) 
(X_0:bat[:dbl], X_1:bat[:lng]) ",      "AGGRsubavg2scand_dbl;",        "Grouped 
average aggregate with candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, scale:int) 
(X_0:bat[:dbl], X_1:bat[:lng]) ",      "AGGRsubavg2scand_dbl;",        "Grouped 
average aggregate with candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:int], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, scale:int) 
(X_0:bat[:dbl], X_1:bat[:lng]) ",      "AGGRsubavg2scand_dbl;",        "Grouped 
average aggregate with candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:lng], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, scale:int) 
(X_0:bat[:dbl], X_1:bat[:lng]) ",      "AGGRsubavg2scand_dbl;",        "Grouped 
average aggregate with candidates list, also returns count"    ]
-[ "aggr",      "subavg",       "command aggr.subavg(b:bat[:sht], g:bat[:oid], 
e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit, scale:int) 
(X_0:bat[:dbl], X_1:bat[:lng]) ",      "AGGRsubavg2scand_dbl;",        "Grouped 
average aggregate with candidates list, also returns count"    ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:bte], 
b2:bat[:bte], g:bat[:oid], e:bat[:any_1], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",   "AGGRsubcorr;", "Grouped correlation 
aggregate" ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:dbl], 
b2:bat[:dbl], g:bat[:oid], e:bat[:any_1], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",   "AGGRsubcorr;", "Grouped correlation 
aggregate" ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:flt], 
b2:bat[:flt], g:bat[:oid], e:bat[:any_1], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",   "AGGRsubcorr;", "Grouped correlation 
aggregate" ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:int], 
b2:bat[:int], g:bat[:oid], e:bat[:any_1], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",   "AGGRsubcorr;", "Grouped correlation 
aggregate" ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:lng], 
b2:bat[:lng], g:bat[:oid], e:bat[:any_1], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",   "AGGRsubcorr;", "Grouped correlation 
aggregate" ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:sht], 
b2:bat[:sht], g:bat[:oid], e:bat[:any_1], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",   "AGGRsubcorr;", "Grouped correlation 
aggregate" ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:bte], 
b2:bat[:bte], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",      "AGGRsubcorrcand;",     "Grouped 
correlation aggregate with candidate list"     ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:dbl], 
b2:bat[:dbl], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",      "AGGRsubcorrcand;",     "Grouped 
correlation aggregate with candidate list"     ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:flt], 
b2:bat[:flt], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",      "AGGRsubcorrcand;",     "Grouped 
correlation aggregate with candidate list"     ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:int], 
b2:bat[:int], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",      "AGGRsubcorrcand;",     "Grouped 
correlation aggregate with candidate list"     ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:lng], 
b2:bat[:lng], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",      "AGGRsubcorrcand;",     "Grouped 
correlation aggregate with candidate list"     ]
-[ "aggr",      "subcorr",      "command aggr.subcorr(b1:bat[:sht], 
b2:bat[:sht], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit, 
abort_on_error:bit):bat[:dbl] ",      "AGGRsubcorrcand;",     "Grouped 
correlation aggregate with candidate list"     ]
-[ "aggr",      "subcount",     "command aggr.subcount(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:lng] ",   "AGGRsubcount;",      
  "Grouped count aggregate"       ]
-[ "aggr",      "subcount",     "command aggr.subcount(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:lng] ",      
"AGGRsubcountcand;",    "Grouped count aggregate with candidates list"  ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:bte], b2:bat[:bte], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     "AGGRsubcovariance;",   
"Grouped covariance sample aggregate"   ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:dbl], b2:bat[:dbl], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     "AGGRsubcovariance;",   
"Grouped covariance sample aggregate"   ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:flt], b2:bat[:flt], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     "AGGRsubcovariance;",   
"Grouped covariance sample aggregate"   ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:int], b2:bat[:int], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     "AGGRsubcovariance;",   
"Grouped covariance sample aggregate"   ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:lng], b2:bat[:lng], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     "AGGRsubcovariance;",   
"Grouped covariance sample aggregate"   ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:sht], b2:bat[:sht], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",     "AGGRsubcovariance;",   
"Grouped covariance sample aggregate"   ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:bte], b2:bat[:bte], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",        
"AGGRsubcovariancecand;",       "Grouped covariance sample aggregate with 
candidate list"       ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:dbl], b2:bat[:dbl], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",        
"AGGRsubcovariancecand;",       "Grouped covariance sample aggregate with 
candidate list"       ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:flt], b2:bat[:flt], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",        
"AGGRsubcovariancecand;",       "Grouped covariance sample aggregate with 
candidate list"       ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:int], b2:bat[:int], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",        
"AGGRsubcovariancecand;",       "Grouped covariance sample aggregate with 
candidate list"       ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:lng], b2:bat[:lng], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",        
"AGGRsubcovariancecand;",       "Grouped covariance sample aggregate with 
candidate list"       ]
-[ "aggr",      "subcovariance",        "command 
aggr.subcovariance(b1:bat[:sht], b2:bat[:sht], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",        
"AGGRsubcovariancecand;",       "Grouped covariance sample aggregate with 
candidate list"       ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:bte], b2:bat[:bte], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",    "AGGRsubcovariancep;",  
"Grouped covariance population aggregate"       ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:dbl], b2:bat[:dbl], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",    "AGGRsubcovariancep;",  
"Grouped covariance population aggregate"       ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:flt], b2:bat[:flt], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",    "AGGRsubcovariancep;",  
"Grouped covariance population aggregate"       ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:int], b2:bat[:int], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",    "AGGRsubcovariancep;",  
"Grouped covariance population aggregate"       ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:lng], b2:bat[:lng], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",    "AGGRsubcovariancep;",  
"Grouped covariance population aggregate"       ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:sht], b2:bat[:sht], g:bat[:oid], e:bat[:any_1], 
skip_nils:bit, abort_on_error:bit):bat[:dbl] ",    "AGGRsubcovariancep;",  
"Grouped covariance population aggregate"       ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:bte], b2:bat[:bte], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",       
"AGGRsubcovariancepcand;",      "Grouped covariance population aggregate with 
candidate list"   ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:dbl], b2:bat[:dbl], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",       
"AGGRsubcovariancepcand;",      "Grouped covariance population aggregate with 
candidate list"   ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:flt], b2:bat[:flt], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",       
"AGGRsubcovariancepcand;",      "Grouped covariance population aggregate with 
candidate list"   ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:int], b2:bat[:int], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",       
"AGGRsubcovariancepcand;",      "Grouped covariance population aggregate with 
candidate list"   ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:lng], b2:bat[:lng], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",       
"AGGRsubcovariancepcand;",      "Grouped covariance population aggregate with 
candidate list"   ]
-[ "aggr",      "subcovariancep",       "command 
aggr.subcovariancep(b1:bat[:sht], b2:bat[:sht], g:bat[:oid], e:bat[:any_1], 
s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",       
"AGGRsubcovariancepcand;",      "Grouped covariance population aggregate with 
candidate list"   ]
-[ "aggr",      "subexist",     "command aggr.subexist(b:bat[:any_2], 
g:bat[:oid], e:bat[:oid], no_nil:bit):bat[:bit] ",        "SQLsubexist;", ""    
  ]
-[ "aggr",      "subjsonaggr",  "command aggr.subjsonaggr(val:bat[:dbl], 
g:bat[:oid], e:bat[:any_1], skip_nils:bit):bat[:str] ",        "JSONsubjson;", 
"Grouped aggregation of values."        ]
-[ "aggr",      "subjsonaggr",  "command aggr.subjsonaggr(val:bat[:str], 
g:bat[:oid], e:bat[:any_1], skip_nils:bit):bat[:str] ",        "JSONsubjson;", 
"Grouped aggregation of values."        ]
-[ "aggr",      "subjsonaggr",  "command aggr.subjsonaggr(val:bat[:dbl], 
g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit):bat[:str] ",   
"JSONsubjsoncand;",     "Grouped aggregation of values with candidates list."   
]
-[ "aggr",      "subjsonaggr",  "command aggr.subjsonaggr(val:bat[:str], 
g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit):bat[:str] ",   
"JSONsubjsoncand;",     "Grouped aggregation of values with candidates list."   
]
-[ "aggr",      "submax",       "command aggr.submax(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:oid] ",     "AGGRsubmax;",  
"Grouped maximum aggregate"     ]
-[ "aggr",      "submax",       "command aggr.submax(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:any_1] ",   "AGGRsubmax_val;",  
    "Grouped maximum aggregate"     ]
-[ "aggr",      "submax",       "command aggr.submax(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:oid] ",        
"AGGRsubmaxcand;",      "Grouped maximum aggregate with candidates list"        
]
-[ "aggr",      "submax",       "command aggr.submax(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:any_1] ",      
"AGGRsubmaxcand_val;",  "Grouped maximum aggregate with candidates list"        
]
-[ "aggr",      "submedian",    "command aggr.submedian(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:any_1] ",        
"AGGRsubmedian;",       "Grouped median aggregate"      ]
-[ "aggr",      "submedian",    "command aggr.submedian(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:any_1] ",   
"AGGRsubmediancand;",   "Grouped median aggregate with candidate list"  ]
-[ "aggr",      "submedian_avg",        "command 
aggr.submedian_avg(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], 
skip_nils:bit):bat[:dbl] ",      "AGGRsubmedian_avg;",   "Grouped median 
aggregate"      ]
-[ "aggr",      "submedian_avg",        "command 
aggr.submedian_avg(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], s:bat[:oid], 
skip_nils:bit):bat[:dbl] ", "AGGRsubmediancand_avg;",       "Grouped median 
aggregate with candidate list"  ]
-[ "aggr",      "submin",       "command aggr.submin(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:oid] ",     "AGGRsubmin;",  
"Grouped minimum aggregate"     ]
-[ "aggr",      "submin",       "command aggr.submin(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:any_1] ",   "AGGRsubmin_val;",  
    "Grouped minimum aggregate"     ]
-[ "aggr",      "submin",       "command aggr.submin(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:oid] ",        
"AGGRsubmincand;",      "Grouped minimum aggregate with candidates list"        
]
-[ "aggr",      "submin",       "command aggr.submin(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:any_1] ",      
"AGGRsubmincand_val;",  "Grouped minimum aggregate with candidates list"        
]
-[ "aggr",      "subnot_exist", "command aggr.subnot_exist(b:bat[:any_2], 
g:bat[:oid], e:bat[:oid], no_nil:bit):bat[:bit] ",    "SQLsubnot_exist;",     
""      ]
-[ "aggr",      "subprod",      "command aggr.subprod(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:bte] ",  
"AGGRsubprod_bte;",     "Grouped product aggregate"     ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to