Changeset: 8d90a78cdb68 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8d90a78cdb68
Modified Files:
        gdk/gdk.h
        gdk/gdk_bbp.c
        gdk/gdk_private.h
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        sql/backends/monet5/sql.c
        sql/scripts/CMakeLists.txt
Branch: string_imprints
Log Message:

Merge with default


diffs (truncated from 32345 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -527,7 +527,6 @@ exit 0
 %{_libdir}/monetdb5/lib_capi.so
 %endif
 %{_libdir}/monetdb5/lib_generator.so
-%{_libdir}/monetdb5/lib_udf.so
 %doc %{_mandir}/man1/mserver5.1.gz
 %dir %{_datadir}/doc/MonetDB
 %docdir %{_datadir}/doc/MonetDB
@@ -832,6 +831,7 @@ rm -f %{buildroot}%{_libdir}/monetdb5/ru
 rm -f %{buildroot}%{_libdir}/monetdb5/lib_run_*.so
 rm -f %{buildroot}%{_libdir}/monetdb5/microbenchmark.mal
 rm -f %{buildroot}%{_libdir}/monetdb5/lib_microbenchmark*.so
+rm -f %{buildroot}%{_libdir}/monetdb5/lib_udf*.so
 rm -f %{buildroot}%{_bindir}/monetdb_mtest.sh
 rm -rf %{buildroot}%{_datadir}/monetdb # /cmake
 
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -191,9 +191,9 @@ def main():
     print(r'            <Directory Id="lib" Name="lib">')
     print(r'              <Directory Id="monetdb5" Name="monetdb5">')
     id = comp(features, id, 16,
-              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not 
in x) and ('opt_sql_append' not in x) and ('run_' not in x) and 
('microbenchmark' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 
'monetdb5'))))])
+              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not 
in x) and ('opt_sql_append' not in x) and ('run_' not in x) and 
('microbenchmark' not in x) and ('udf' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
     id = comp(debug, id, 16,
-              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('_') and x.endswith('.pdb') and ('geom' not in x) and 
('opt_sql_append' not in x) and ('run_' not in x) and ('microbenchmark' not in 
x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
+              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('_') and x.endswith('.pdb') and ('geom' not in x) and 
('opt_sql_append' not in x) and ('run_' not in x) and ('microbenchmark' not in 
x) and ('udf' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 
'monetdb5'))))])
     id = comp(geom, id, 16,
               [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' in 
x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
     id = comp(pyapi3, id, 16,
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
@@ -1,697 +1,694 @@
-stdout of test 'MAL-signatures` in directory 'clients` itself:
-
-#select * from sys.malfunctions() order by module, "function", address, 
signature, comment;
 % .%1, .%1,    .%1,    .%1,    .%1 # table_name
 % module,      function,       signature,      address,        comment # name
 % clob,        clob,   clob,   clob,   clob # type
-% 12,  28,     313,    42,     0 # length
-[ "aggr",      "all",  "command aggr.all(X_0:bat[:any_1]):any_1 ",     
"SQLall;",      ""      ]
-[ "aggr",      "allnotequal",  "pattern aggr.allnotequal(X_0:bat[:any_1], 
X_1:bat[:any_1]):bit ",      "SQLallnotequal;",      ""      ]
+% 12,  28,     313,    42,     860 # length
+[ "aggr",      "all",  "command aggr.all(X_0:bat[:any_1]):any_1 ",     
"SQLall;",      "if all values in b are equal return this, else nil"    ]
+[ "aggr",      "allnotequal",  "pattern aggr.allnotequal(X_0:bat[:any_1], 
X_1: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(X_0:any_1, 
X_1:any_1):bit ",     "CMDvarEQ;",    ""      ]
-[ "aggr",      "anyequal",     "pattern aggr.anyequal(X_0:bat[:any_1], 
X_1:bat[:any_1]):bit ", "SQLanyequal;", ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       ""      ]
-[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bit) (X_3:bte, X_4:lng, X_5:lng) ", "CMDBATavg3;",  ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bit) (X_3:int, X_4:lng, X_5:lng) ", "CMDBATavg3;",  ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bit) (X_3:lng, X_4:lng, X_5:lng) ", "CMDBATavg3;",  ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bit) (X_3:sht, X_4:lng, X_5:lng) ", "CMDBATavg3;",  ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:bte], X_1:bat[:lng], 
X_2:bat[:lng]):bte ",   "CMDBATavg3comb;",      ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:int], X_1:bat[:lng], 
X_2:bat[:lng]):int ",   "CMDBATavg3comb;",      ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:lng], X_1:bat[:lng], 
X_2:bat[:lng]):lng ",   "CMDBATavg3comb;",      ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:sht], X_1:bat[:lng], 
X_2:bat[:lng]):sht ",   "CMDBATavg3comb;",      ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:any_2]):dbl ",       
"CMDcalcavg;",  ""      ]
-[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:any_2], X_1:int):dbl ",      
"CMDcalcavg;",  ""      ]
-[ "aggr",      "cardinality",  "command aggr.cardinality(X_0:bat[:any_2]):lng 
",       "ALGcard;",     ""      ]
-[ "aggr",      "corr", "command aggr.corr(X_0:bat[:bte], X_1:bat[:bte], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    ""      ]
-[ "aggr",      "corr", "command aggr.corr(X_0:bat[:dbl], X_1:bat[:dbl], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    ""      ]
-[ "aggr",      "corr", "command aggr.corr(X_0:bat[:flt], X_1:bat[:flt], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    ""      ]
-[ "aggr",      "corr", "command aggr.corr(X_0:bat[:int], X_1:bat[:int], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    ""      ]
-[ "aggr",      "corr", "command aggr.corr(X_0:bat[:lng], X_1:bat[:lng], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    ""      ]
-[ "aggr",      "corr", "command aggr.corr(X_0:bat[:sht], X_1:bat[:sht], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    ""      ]
-[ "aggr",      "corr", "command aggr.corr(X_0:bat[:any_2], 
X_1:bat[:any_2]):dbl ",     "ALGcorr;",     ""      ]
+[ "aggr",      "anyequal",     "pattern aggr.anyequal(X_0:bat[:any_1], 
X_1: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(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       "Grouped tail average 
on bte"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       "Grouped tail average 
on dbl"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       "Grouped tail average 
on flt"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       "Grouped tail average 
on int"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       "Grouped tail average 
on lng"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",   "AGGRavg13_dbl;",       "Grouped tail average 
on sht"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       "Grouped tail 
average on bte"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       "Grouped tail 
average on dbl"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       "Grouped tail 
average on flt"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       "Grouped tail 
average on int"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       "Grouped tail 
average on lng"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int):bat[:dbl] ",  "AGGRavg14_dbl;",       "Grouped tail 
average on sht"   ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
"Grouped tail average on bte, also returns count"       ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
"Grouped tail average on dbl, also returns count"       ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
"Grouped tail average on flt, also returns count"       ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
"Grouped tail average on int, also returns count"       ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
"Grouped tail average on lng, also returns count"       ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1]) (X_3:bat[:dbl], X_4:bat[:lng]) ",      "AGGRavg23_dbl;",       
"Grouped tail average on sht, also returns count"       ]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       "Grouped tail average on bte, also returns count"       
]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       "Grouped tail average on dbl, also returns count"       
]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       "Grouped tail average on flt, also returns count"       
]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       "Grouped tail average on int, also returns count"       
]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       "Grouped tail average on lng, also returns count"       
]
+[ "aggr",      "avg",  "command aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1], X_3:int) (X_4:bat[:dbl], X_5:bat[:lng]) ",     
"AGGRavg24_dbl;",       "Grouped tail average on sht, also returns count"       
]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bit) (X_3:bte, X_4:lng, X_5:lng) ", "CMDBATavg3;",  "Calculate aggregate 
average of B."     ]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:int], X_1:bat[:oid], 
X_2:bit) (X_3:int, X_4:lng, X_5:lng) ", "CMDBATavg3;",  "Calculate aggregate 
average of B."     ]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bit) (X_3:lng, X_4:lng, X_5:lng) ", "CMDBATavg3;",  "Calculate aggregate 
average of B."     ]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bit) (X_3:sht, X_4:lng, X_5:lng) ", "CMDBATavg3;",  "Calculate aggregate 
average of B."     ]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:bte], X_1:bat[:lng], 
X_2:bat[:lng]):bte ",   "CMDBATavg3comb;",      "Average aggregation combiner." 
]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:int], X_1:bat[:lng], 
X_2:bat[:lng]):int ",   "CMDBATavg3comb;",      "Average aggregation combiner." 
]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:lng], X_1:bat[:lng], 
X_2:bat[:lng]):lng ",   "CMDBATavg3comb;",      "Average aggregation combiner." 
]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:sht], X_1:bat[:lng], 
X_2:bat[:lng]):sht ",   "CMDBATavg3comb;",      "Average aggregation combiner." 
]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:any_2]):dbl ",       
"CMDcalcavg;",  "Gives the avg of all tail values"      ]
+[ "aggr",      "avg",  "pattern aggr.avg(X_0:bat[:any_2], X_1:int):dbl ",      
"CMDcalcavg;",  "Gives the avg of all tail values"      ]
+[ "aggr",      "cardinality",  "command aggr.cardinality(X_0:bat[:any_2]):lng 
",       "ALGcard;",     "Return the cardinality of the BAT tail values."       
 ]
+[ "aggr",      "corr", "command aggr.corr(X_0:bat[:bte], X_1:bat[:bte], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    "Correlation 
aggregate" ]
+[ "aggr",      "corr", "command aggr.corr(X_0:bat[:dbl], X_1:bat[:dbl], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    "Correlation 
aggregate" ]
+[ "aggr",      "corr", "command aggr.corr(X_0:bat[:flt], X_1:bat[:flt], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    "Correlation 
aggregate" ]
+[ "aggr",      "corr", "command aggr.corr(X_0:bat[:int], X_1:bat[:int], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    "Correlation 
aggregate" ]
+[ "aggr",      "corr", "command aggr.corr(X_0:bat[:lng], X_1:bat[:lng], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    "Correlation 
aggregate" ]
+[ "aggr",      "corr", "command aggr.corr(X_0:bat[:sht], X_1:bat[:sht], 
X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",   "AGGRcorr;",    "Correlation 
aggregate" ]
+[ "aggr",      "corr", "command aggr.corr(X_0:bat[:any_2], 
X_1:bat[:any_2]):dbl ",     "ALGcorr;",     "Gives the correlation of all tail 
values"      ]
 [ "aggr",      "count",        "command aggr.count(X_0:bat[:any_1], 
X_1:bat[:oid], X_2:bat[:any_2], X_3:bit):bat[:lng] ",      "AGGRcount3;",  ""   
   ]
-[ "aggr",      "count",        "command aggr.count(X_0:bat[:any_1], 
X_1:bat[:oid], X_2:bat[:any_2]):bat[:lng] ",       "AGGRcount3nils;",      ""   
   ]
-[ "aggr",      "count",        "command aggr.count(X_0:bat[:any], 
X_1:bat[:oid]):lng ",        "ALGcountCND_bat;",     ""      ]
-[ "aggr",      "count",        "command aggr.count(X_0:bat[:any], 
X_1:bat[:oid], X_2:bit):lng ",       "ALGcountCND_nil;",     ""      ]
-[ "aggr",      "count",        "command aggr.count(X_0:bat[:any]):lng ",       
"ALGcount_bat;",        ""      ]
-[ "aggr",      "count",        "command aggr.count(X_0:bat[:any], X_1:bit):lng 
",      "ALGcount_nil;",        ""      ]
+[ "aggr",      "count",        "command aggr.count(X_0:bat[:any_1], 
X_1:bat[:oid], X_2:bat[:any_2]):bat[:lng] ",       "AGGRcount3nils;",      
"Grouped count" ]
+[ "aggr",      "count",        "command aggr.count(X_0:bat[:any], 
X_1:bat[:oid]):lng ",        "ALGcountCND_bat;",     "Return the current size 
(in number of elements) in a BAT."     ]
+[ "aggr",      "count",        "command aggr.count(X_0:bat[:any], 
X_1:bat[:oid], X_2:bit):lng ",       "ALGcountCND_nil;",     "Return the number 
of elements currently in a BAT ignores\nBUNs with nil-tail iff 
ignore_nils==TRUE."   ]
+[ "aggr",      "count",        "command aggr.count(X_0:bat[:any]):lng ",       
"ALGcount_bat;",        "Return the current size (in number of elements) in a 
BAT."     ]
+[ "aggr",      "count",        "command aggr.count(X_0:bat[:any], X_1:bit):lng 
",      "ALGcount_nil;",        "Return the number of elements currently in a 
BAT ignores\nBUNs with nil-tail iff ignore_nils==TRUE."   ]
 [ "aggr",      "count_no_nil", "command aggr.count_no_nil(X_0:bat[:any_1], 
X_1:bat[:oid], X_2:bat[:any_2]):bat[:lng] ",        "AGGRcount3nonils;",    ""  
    ]
-[ "aggr",      "count_no_nil", "command aggr.count_no_nil(X_0:bat[:any_2], 
X_1:bat[:oid]):lng ",       "ALGcountCND_no_nil;",  ""      ]
-[ "aggr",      "count_no_nil", "command aggr.count_no_nil(X_0:bat[:any_2]):lng 
",      "ALGcount_no_nil;",     ""      ]
-[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:bte], 
X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      ""      ]
-[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:dbl], 
X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      ""      ]
-[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:flt], 
X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      ""      ]
-[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:int], 
X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      ""      ]
-[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:lng], 
X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      ""      ]
-[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:sht], 
X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      ""      ]
-[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:any_2], 
X_1:bat[:any_2]):dbl ",       "ALGcovariance;",       ""      ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:bte], 
X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     ""      ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:dbl], 
X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     ""      ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:flt], 
X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     ""      ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:int], 
X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     ""      ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:lng], 
X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     ""      ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:sht], 
X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     ""      ]
-[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:any_2], 
X_1:bat[:any_2]):dbl ",      "ALGcovariancep;",      ""      ]
+[ "aggr",      "count_no_nil", "command aggr.count_no_nil(X_0:bat[:any_2], 
X_1:bat[:oid]):lng ",       "ALGcountCND_no_nil;",  "Return the number of 
elements currently\nin a BAT ignoring BUNs with nil-tail" ]
+[ "aggr",      "count_no_nil", "command aggr.count_no_nil(X_0:bat[:any_2]):lng 
",      "ALGcount_no_nil;",     "Return the number of elements currently\nin a 
BAT ignoring BUNs with nil-tail" ]
+[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:bte], 
X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      "Covariance sample aggregate"   ]
+[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:dbl], 
X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      "Covariance sample aggregate"   ]
+[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:flt], 
X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      "Covariance sample aggregate"   ]
+[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:int], 
X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      "Covariance sample aggregate"   ]
+[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:lng], 
X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      "Covariance sample aggregate"   ]
+[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:sht], 
X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",     
"AGGRcovariance;",      "Covariance sample aggregate"   ]
+[ "aggr",      "covariance",   "command aggr.covariance(X_0:bat[:any_2], 
X_1:bat[:any_2]):dbl ",       "ALGcovariance;",       "Gives the covariance of 
all tail values"       ]
+[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:bte], 
X_1:bat[:bte], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     "Covariance population aggregate"       ]
+[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:dbl], 
X_1:bat[:dbl], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     "Covariance population aggregate"       ]
+[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:flt], 
X_1:bat[:flt], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     "Covariance population aggregate"       ]
+[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:int], 
X_1:bat[:int], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     "Covariance population aggregate"       ]
+[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:lng], 
X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     "Covariance population aggregate"       ]
+[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:sht], 
X_1:bat[:sht], X_2:bat[:oid], X_3:bat[:any_1]):bat[:dbl] ",    
"AGGRcovariancep;",     "Covariance population aggregate"       ]
+[ "aggr",      "covariancep",  "command aggr.covariancep(X_0:bat[:any_2], 
X_1:bat[:any_2]):dbl ",      "ALGcovariancep;",      "Gives the covariance of 
all tail values"       ]
 [ "aggr",      "exist",        "command aggr.exist(X_0:bat[:any_2], 
X_1:any_1):bit ",  "ALGexist;",    ""      ]
 [ "aggr",      "exist",        "pattern aggr.exist(X_0:any_1):bit ",   
"SQLexist;",    ""      ]
-[ "aggr",      "jsonaggr",     "command aggr.jsonaggr(X_0:bat[:dbl]):str ",    
"JSONgroupStr;",        ""      ]
-[ "aggr",      "jsonaggr",     "command aggr.jsonaggr(X_0:bat[:str]):str ",    
"JSONgroupStr;",        ""      ]
+[ "aggr",      "jsonaggr",     "command aggr.jsonaggr(X_0:bat[:dbl]):str ",    
"JSONgroupStr;",        "Aggregate the double values to array." ]
+[ "aggr",      "jsonaggr",     "command aggr.jsonaggr(X_0:bat[:str]):str ",    
"JSONgroupStr;",        "Aggregate the string values to array." ]
 [ "aggr",      "max",  "command aggr.max(X_0:bat[:any_1], X_1:bat[:oid], 
X_2:bat[:any_2]):bat[:any_1] ",       "AGGRmax3;",    ""      ]
-[ "aggr",      "max",  "command aggr.max(X_0:bat[:any_2]):any_2 ",     
"ALGmaxany;",   ""      ]
-[ "aggr",      "max",  "command aggr.max(X_0:bat[:any_2], X_1:bit):any_2 ",    
"ALGmaxany_skipnil;",   ""      ]
-[ "aggr",      "median",       "command aggr.median(X_0:bat[:any_1]):any_1 ",  
"AGGRmedian;",  ""      ]
-[ "aggr",      "median_avg",   "command aggr.median_avg(X_0:bat[:any_1]):dbl 
",        "AGGRmedian_avg;",      ""      ]
+[ "aggr",      "max",  "command aggr.max(X_0:bat[:any_2]):any_2 ",     
"ALGmaxany;",   "Return the highest tail value or nil." ]
+[ "aggr",      "max",  "command aggr.max(X_0:bat[:any_2], X_1:bit):any_2 ",    
"ALGmaxany_skipnil;",   "Return the highest tail value or nil." ]
+[ "aggr",      "median",       "command aggr.median(X_0:bat[:any_1]):any_1 ",  
"AGGRmedian;",  "Median aggregate"      ]
+[ "aggr",      "median_avg",   "command aggr.median_avg(X_0:bat[:any_1]):dbl 
",        "AGGRmedian_avg;",      "Median aggregate"      ]
 [ "aggr",      "min",  "command aggr.min(X_0:bat[:any_1], X_1:bat[:oid], 
X_2:bat[:any_2]):bat[:any_1] ",       "AGGRmin3;",    ""      ]
-[ "aggr",      "min",  "command aggr.min(X_0:bat[:any_2]):any_2 ",     
"ALGminany;",   ""      ]
-[ "aggr",      "min",  "command aggr.min(X_0:bat[:any_2], X_1:bit):any_2 ",    
"ALGminany_skipnil;",   ""      ]
+[ "aggr",      "min",  "command aggr.min(X_0:bat[:any_2]):any_2 ",     
"ALGminany;",   "Return the lowest tail value or nil."  ]
+[ "aggr",      "min",  "command aggr.min(X_0:bat[:any_2], X_1:bit):any_2 ",    
"ALGminany_skipnil;",   "Return the lowest tail value or nil."  ]
 [ "aggr",      "not_anyequal", "pattern aggr.not_anyequal(X_0:any_1, 
X_1:any_1):bit ", "CMDvarNE;",    ""      ]
 [ "aggr",      "not_exist",    "pattern aggr.not_exist(X_0:any_1):bit ",       
"SQLnot_exist;",        ""      ]
-[ "aggr",      "not_unique",   "command aggr.not_unique(X_0:bat[:oid]):bit ",  
"not_unique;",  ""      ]
-[ "aggr",      "null", "command aggr.null(X_0:bat[:any_1]):bit ",      
"SQLnil;",      ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:bte] ",  "AGGRprod3_bte;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",  "AGGRprod3_dbl;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:dbl] ",  "AGGRprod3_dbl;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:flt] ",  "AGGRprod3_flt;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:int] ",  "AGGRprod3_int;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:int] ",  "AGGRprod3_int;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:int] ",  "AGGRprod3_int;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:lng] ",  "AGGRprod3_lng;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:int], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:lng] ",  "AGGRprod3_lng;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:lng] ",  "AGGRprod3_lng;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:lng] ",  "AGGRprod3_lng;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:sht] ",  "AGGRprod3_sht;",       ""      ]
-[ "aggr",      "prod", "command aggr.prod(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bat[:any_1]):bat[:sht] ",  "AGGRprod3_sht;",       ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte]):bte ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte]):dbl ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte]):int ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte]):lng ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte]):sht ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid]):bte ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid]):dbl ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid]):int ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid]):lng ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid]):sht ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bit):bte ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bit):dbl ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bit):int ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bit):lng ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bat[:oid], 
X_2:bit):sht ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bit):bte ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bit):dbl ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bit):int ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bit):lng ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:bte], X_1:bit):sht ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:dbl]):dbl ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:dbl], X_1:bat[:oid]):dbl ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:dbl], X_1:bat[:oid], 
X_2:bit):dbl ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:dbl], X_1:bit):dbl ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt]):dbl ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt]):flt ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt], X_1:bat[:oid]):dbl ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt], X_1:bat[:oid]):flt ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bit):dbl ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt], X_1:bat[:oid], 
X_2:bit):flt ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt], X_1:bit):dbl ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:flt], X_1:bit):flt ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int]):dbl ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int]):int ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int]):lng ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bat[:oid]):dbl ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bat[:oid]):int ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bat[:oid]):lng ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bat[:oid], 
X_2:bit):dbl ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bat[:oid], 
X_2:bit):int ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bat[:oid], 
X_2:bit):lng ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bit):dbl ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bit):int ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:int], X_1:bit):lng ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng]):dbl ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng]):lng ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng], X_1:bat[:oid]):dbl ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng], X_1:bat[:oid]):lng ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bit):dbl ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng], X_1:bat[:oid], 
X_2:bit):lng ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng], X_1:bit):dbl ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:lng], X_1:bit):lng ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht]):dbl ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht]):int ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht]):lng ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht]):sht ",        
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid]):dbl ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid]):int ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid]):lng ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid]):sht ", 
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bit):dbl ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bit):int ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bit):lng ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bat[:oid], 
X_2:bit):sht ",        "CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bit):dbl ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bit):int ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bit):lng ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "prod", "pattern aggr.prod(X_0:bat[:sht], X_1:bit):sht ",       
"CMDBATprod;",  ""      ]
-[ "aggr",      "quantile",     "command aggr.quantile(X_0:bat[:any_1], 
X_1:bat[:dbl]):any_1 ", "AGGRquantile;",        ""      ]
-[ "aggr",      "quantile_avg", "command aggr.quantile_avg(X_0:bat[:any_1], 
X_1:bat[:dbl]):dbl ",       "AGGRquantile_avg;",    ""      ]
-[ "aggr",      "stdev",        "command aggr.stdev(X_0:bat[:bte], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;",      ""      ]
-[ "aggr",      "stdev",        "command aggr.stdev(X_0:bat[:dbl], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;",      ""      ]
-[ "aggr",      "stdev",        "command aggr.stdev(X_0:bat[:flt], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;",      ""      ]
-[ "aggr",      "stdev",        "command aggr.stdev(X_0:bat[:int], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;",      ""      ]
-[ "aggr",      "stdev",        "command aggr.stdev(X_0:bat[:lng], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;",      ""      ]
-[ "aggr",      "stdev",        "command aggr.stdev(X_0:bat[:sht], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;",      ""      ]
-[ "aggr",      "stdev",        "command aggr.stdev(X_0:bat[:any_2]):dbl ",     
"ALGstdev;",    ""      ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(X_0:bat[:bte], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ",        "AGGRstdevp3_dbl;",     ""  
    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(X_0:bat[:dbl], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ",        "AGGRstdevp3_dbl;",     ""  
    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(X_0:bat[:flt], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ",        "AGGRstdevp3_dbl;",     ""  
    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(X_0:bat[:int], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ",        "AGGRstdevp3_dbl;",     ""  
    ]
-[ "aggr",      "stdevp",       "command aggr.stdevp(X_0:bat[:lng], 
X_1:bat[:oid], X_2:bat[:any_1]):bat[:dbl] ",        "AGGRstdevp3_dbl;",     ""  
    ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to