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