Changeset: cff175a50393 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cff175a50393
Modified Files:
        .hgtags
        MonetDB.spec
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-Geom-Module.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-Geom-Module.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        buildtools/autogen/autogen/msc.py
        clients/R/Tests/All
        clients/R/Tests/dbi.stable.err
        clients/R/Tests/deps-install.R
        clients/R/Tests/deps-test.R
        clients/R/Tests/install.R
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/SQL-dump.stable.out
        clients/Tests/SQL-dump.stable.out.int128
        clients/Tests/exports.stable.out
        clients/examples/C/Makefile.ag
        clients/mapiclient/Makefile.ag
        clients/mapiclient/dump.c
        clients/mapiclient/mclient.c
        clients/mapiclient/msqldump.h
        clients/mapiclient/tomograph.c
        clients/mapilib/mapi.c
        clients/mapilib/mapi.h
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        configure.ag
        debian/monetdb-client-testing.install
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_atoms.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_delta.c
        gdk/gdk_group.c
        gdk/gdk_logger.c
        gdk/gdk_orderidx.c
        gdk/gdk_private.h
        gdk/gdk_ssort_impl.h
        gdk/gdk_storage.c
        gdk/gdk_unique.c
        gdk/gdk_utils.c
        gdk/gdk_utils.h
        gdk/libbat.rc
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        monetdb5/extras/mal_optimizer_template/opt_sql_append.c
        monetdb5/extras/rapi/Tests/rapi08.malC
        monetdb5/mal/Tests/dataflow01.malC
        monetdb5/mal/Tests/performanceTests/join.malC
        monetdb5/mal/Tests/selecttest.malC
        monetdb5/mal/Tests/tst005.stable.out
        monetdb5/mal/Tests/tst006.stable.out
        monetdb5/mal/Tests/tst019.stable.err
        monetdb5/mal/Tests/tst023.malC
        monetdb5/mal/Tests/tst027.stable.err
        monetdb5/mal/Tests/tst033.malC
        monetdb5/mal/Tests/tst034.malC
        monetdb5/mal/Tests/tst038.stable.err
        monetdb5/mal/Tests/tst070.stable.err
        monetdb5/mal/Tests/tst071.stable.err
        monetdb5/mal/Tests/tst077.stable.out
        monetdb5/mal/Tests/tst1002.stable.out
        monetdb5/mal/Tests/tst102.stable.err
        monetdb5/mal/Tests/tst1500.malC
        monetdb5/mal/Tests/tst1502.malC
        monetdb5/mal/Tests/tst1503.malC
        monetdb5/mal/Tests/tst1602.malC
        monetdb5/mal/Tests/tst163.stable.err
        monetdb5/mal/Tests/tst200.malC
        monetdb5/mal/Tests/tst201.malC
        monetdb5/mal/Tests/tst220.malC
        monetdb5/mal/Tests/tst233.malC
        monetdb5/mal/Tests/tst234.malC
        monetdb5/mal/Tests/tst235.malC
        monetdb5/mal/Tests/tst272.malC
        monetdb5/mal/Tests/tst275.malC
        monetdb5/mal/Tests/tst275.stable.out
        monetdb5/mal/Tests/tst285.malC
        monetdb5/mal/Tests/tst303.stable.out
        monetdb5/mal/Tests/tst400.stable.out
        monetdb5/mal/Tests/tst401.stable.out
        monetdb5/mal/Tests/tst661.stable.out
        monetdb5/mal/Tests/tst662.stable.out
        monetdb5/mal/Tests/tst755.stable.err
        monetdb5/mal/Tests/tst760.stable.err
        monetdb5/mal/Tests/tst810.stable.out
        monetdb5/mal/Tests/tst819.stable.out
        monetdb5/mal/Tests/tst830.stable.out
        monetdb5/mal/Tests/tst840.stable.out
        monetdb5/mal/Tests/tst850.stable.out
        monetdb5/mal/Tests/tst866.stable.out
        monetdb5/mal/Tests/tst870.stable.out
        monetdb5/mal/Tests/tst880.stable.out
        monetdb5/mal/Tests/tst890.stable.out
        monetdb5/mal/Tests/tst901.stable.out
        monetdb5/mal/Tests/tst901a.stable.out
        monetdb5/mal/Tests/tst902.stable.out
        monetdb5/mal/Tests/tst903.malC
        monetdb5/mal/Tests/tst903.stable.out
        monetdb5/mal/Tests/tst904.stable.out
        monetdb5/mal/Tests/tst906.stable.out
        monetdb5/mal/Tests/tst907.stable.out
        monetdb5/mal/Tests/tst908.stable.out
        monetdb5/mal/Tests/tst911.malC
        monetdb5/mal/Tests/tst911.stable.out
        monetdb5/mal/Tests/tst912.malC
        monetdb5/mal/Tests/tst913.stable.out
        monetdb5/mal/Tests/tst920.stable.out
        monetdb5/mal/Tests/tst960.stable.out
        monetdb5/mal/mal.c
        monetdb5/mal/mal.h
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_module.c
        monetdb5/mal/mal_module.h
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_profiler.h
        monetdb5/mal/mal_runtime.c
        monetdb5/mal/mal_session.c
        monetdb5/mal/mal_stack.c
        monetdb5/modules/atoms/Tests/xml10.malC
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/kernel/Tests/All
        monetdb5/modules/kernel/Tests/time01.malC
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/kernel/bat5.h
        monetdb5/modules/kernel/bat5.mal
        monetdb5/modules/kernel/batmmath.c
        monetdb5/modules/kernel/batmmath.h
        monetdb5/modules/kernel/batmmath.mal
        monetdb5/modules/kernel/group.c
        monetdb5/modules/kernel/group.h
        monetdb5/modules/kernel/group.mal
        monetdb5/modules/kernel/mmath.c
        monetdb5/modules/kernel/mmath.h
        monetdb5/modules/kernel/mmath.mal
        monetdb5/modules/mal/01_calc.mal
        monetdb5/modules/mal/01_calc.mal.sh
        monetdb5/modules/mal/Tests/call00.stable.out
        monetdb5/modules/mal/Tests/inspect00.stable.out
        monetdb5/modules/mal/Tests/inspect05.malC
        monetdb5/modules/mal/Tests/inspect05.stable.out.int128
        monetdb5/modules/mal/Tests/mapi01.malC
        monetdb5/modules/mal/Tests/mapi07.malC
        monetdb5/modules/mal/Tests/orderidx00.malC
        monetdb5/modules/mal/Tests/orderidx01.malC
        monetdb5/modules/mal/Tests/orderidx02.malC
        monetdb5/modules/mal/Tests/orderidx04.malC
        monetdb5/modules/mal/Tests/partition.stable.out
        monetdb5/modules/mal/Tests/remote04.malC
        monetdb5/modules/mal/calc.c
        monetdb5/modules/mal/groupby.c
        monetdb5/modules/mal/inspect.c
        monetdb5/modules/mal/manual.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/mdb.h
        monetdb5/modules/mal/mdb.mal
        monetdb5/modules/mal/orderidx.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/pcre.mal
        monetdb5/modules/mal/profiler.c
        monetdb5/modules/mal/profiler.h
        monetdb5/modules/mal/profiler.mal
        monetdb5/modules/mal/sysmon.mal
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/Tests/ARexample.stable.out
        monetdb5/optimizer/Tests/All
        monetdb5/optimizer/Tests/CMexample.malC
        monetdb5/optimizer/Tests/CRexample.malC
        monetdb5/optimizer/Tests/CXexample.malC
        monetdb5/optimizer/Tests/CXexample.stable.out
        monetdb5/optimizer/Tests/DCexample.malC
        monetdb5/optimizer/Tests/DCexample2.malC
        monetdb5/optimizer/Tests/DCexample2.stable.out
        monetdb5/optimizer/Tests/FTexample.malC
        monetdb5/optimizer/Tests/GCexample01.stable.out
        monetdb5/optimizer/Tests/JPexample.stable.out
        monetdb5/optimizer/Tests/Mexample.stable.out
        monetdb5/optimizer/Tests/dataflow.malC
        monetdb5/optimizer/Tests/dataflow.stable.out
        monetdb5/optimizer/Tests/dataflow3.stable.out
        monetdb5/optimizer/Tests/dataflow4.stable.out
        monetdb5/optimizer/Tests/dataflow5.stable.out
        monetdb5/optimizer/Tests/inline00.stable.out
        monetdb5/optimizer/Tests/inline01.stable.out
        monetdb5/optimizer/Tests/inline02.stable.out
        monetdb5/optimizer/Tests/inline03.stable.out
        monetdb5/optimizer/Tests/inline04.stable.out
        monetdb5/optimizer/Tests/inline05.stable.out
        monetdb5/optimizer/Tests/inline06.stable.out
        monetdb5/optimizer/Tests/inline07.stable.out
        monetdb5/optimizer/Tests/inline08.stable.out
        monetdb5/optimizer/Tests/inline09.stable.out
        monetdb5/optimizer/Tests/inline10.stable.out
        monetdb5/optimizer/Tests/inline12.stable.out
        monetdb5/optimizer/Tests/inlineCst.stable.out
        monetdb5/optimizer/Tests/inlineFunction.stable.out
        monetdb5/optimizer/Tests/inlineFunction2.stable.out
        monetdb5/optimizer/Tests/inlineFunction4.stable.out
        monetdb5/optimizer/Tests/inlineIfthen.stable.out
        monetdb5/optimizer/Tests/manifold2.stable.out
        monetdb5/optimizer/Tests/mat00.malC
        monetdb5/optimizer/Tests/projectionchain.stable.out
        monetdb5/optimizer/Tests/qep00.malC
        monetdb5/optimizer/Tests/qep01.malC
        monetdb5/optimizer/Tests/qep02.malC
        monetdb5/optimizer/Tests/remap.stable.out
        monetdb5/optimizer/Tests/reorder00.malC
        monetdb5/optimizer/Tests/reorder00.stable.out
        monetdb5/optimizer/Tests/tst4000.malC
        monetdb5/optimizer/Tests/tst4000.stable.out
        monetdb5/optimizer/Tests/tst4001.stable.out
        monetdb5/optimizer/Tests/tst4003.malC
        monetdb5/optimizer/Tests/tst4003.stable.out
        monetdb5/optimizer/Tests/tst4004.stable.out
        monetdb5/optimizer/Tests/tst4005.stable.out
        monetdb5/optimizer/Tests/tst4010.stable.out
        monetdb5/optimizer/Tests/tst4030.malC
        monetdb5/optimizer/Tests/tst4030.stable.out
        monetdb5/optimizer/Tests/tst4601.stable.out
        monetdb5/optimizer/Tests/tst4630.stable.out
        monetdb5/optimizer/Tests/tst4700.malC
        monetdb5/optimizer/Tests/tst4700.stable.out
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_candidates.c
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_emptybind.c
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_jit.c
        monetdb5/optimizer/opt_json.c
        monetdb5/optimizer/opt_matpack.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_profiler.c
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_querylog.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.c
        monetdb5/optimizer/optimizer.h
        monetdb5/optimizer/optimizer.mal
        monetdb5/tools/libmonetdb5.rc
        sql/backends/monet5/LSST/lsst.c
        sql/backends/monet5/LSST/lsst.h
        sql/backends/monet5/LSST/lsst.mal
        sql/backends/monet5/Tests/All
        sql/backends/monet5/Tests/pyapi09.sql
        sql/backends/monet5/Tests/pyapi21.sql
        sql/backends/monet5/Tests/simpleSQL.stable.out
        sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
        sql/backends/monet5/UDF/pyapi/Makefile.ag
        sql/backends/monet5/UDF/pyapi/connection.c
        sql/backends/monet5/UDF/pyapi/connection.h
        sql/backends/monet5/UDF/pyapi/convert_loops.h
        sql/backends/monet5/UDF/pyapi/emit.c
        sql/backends/monet5/UDF/pyapi/formatinput.c
        sql/backends/monet5/UDF/pyapi/formatinput.h
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/backends/monet5/UDF/pyapi/pyapi.h
        sql/backends/monet5/UDF/pyapi/pyloader.c
        sql/backends/monet5/UDF/pyapi/pytypes.c
        sql/backends/monet5/UDF/pyapi/pytypes.h
        sql/backends/monet5/UDF/pyapi/type_conversion.c
        sql/backends/monet5/UDF/pyapi/type_conversion.h
        sql/backends/monet5/UDF/pyapi/unicode.h
        sql/backends/monet5/mal_backend.h
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/rel_bin.h
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql.mal
        sql/backends/monet5/sql_bat2time.c
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_fround.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_gencode.h
        sql/backends/monet5/sql_round.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
        sql/backends/monet5/sql_upgrades.c
        sql/benchmarks/ssbm/Tests/01-13.stable.out
        sql/benchmarks/ssbm/Tests/04.stable.out
        sql/benchmarks/ssbm/Tests/05.stable.out
        sql/benchmarks/ssbm/Tests/06.stable.out
        sql/benchmarks/tpch/load.sh
        sql/jdbc/tests/Tests/All
        sql/rel.txt
        sql/scripts/46_profiler.sql
        sql/server/rel_dump.c
        sql/server/rel_exp.c
        sql/server/rel_exp.h
        sql/server/rel_optimizer.c
        sql/server/rel_psm.c
        sql/server/rel_rel.c
        sql/server/rel_select.c
        sql/server/rel_semantic.c
        sql/server/sql_mvc.c
        sql/server/sql_mvc.h
        sql/server/sql_parser.y
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_table.c
        sql/storage/store.c
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/delete_cascade.SF-1296395.stable.out
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
        sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out
        
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.sql
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out.32bit
        sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.sql
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
        sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.sql
        sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
        
sql/test/BugTracker-2012/Tests/aggregate_incorrect_precision_scale.Bug-3182.stable.out
        
sql/test/BugTracker-2012/Tests/aggregate_incorrect_precision_scale.Bug-3182.stable.out.int128
        
sql/test/BugTracker-2012/Tests/aggregate_vs_positional_column_crash.Bug-3085.stable.out
        sql/test/BugTracker-2012/Tests/algebra_find.Bug-2728.stable.out
        sql/test/BugTracker-2012/Tests/any_null.Bug-2594.stable.out
        sql/test/BugTracker-2012/Tests/boolean_coersion.Bug-3012.stable.out
        
sql/test/BugTracker-2012/Tests/case_evaluated_too_early.Bug-3186.stable.out
        sql/test/BugTracker-2012/Tests/cast-tinyint-Bug-3137.stable.out
        
sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out
        
sql/test/BugTracker-2012/Tests/conditions_when_for_triggers_do_not_work.Bug-2073.sql
        
sql/test/BugTracker-2012/Tests/conditions_when_for_triggers_do_not_work.Bug-2073.stable.out
        
sql/test/BugTracker-2012/Tests/correlated_groupby_in_selection.Bug-3011.stable.out
        sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out
        sql/test/BugTracker-2012/Tests/date_script_test.Bug-2973.stable.out
        
sql/test/BugTracker-2012/Tests/day-of-month-localization.Bug-2962.stable.out
        
sql/test/BugTracker-2012/Tests/fixed_limit_for_prepare.Bug-3208.stable.out
        sql/test/BugTracker-2012/Tests/float-mod.Bug-3086.stable.out
        
sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
        
sql/test/BugTracker-2012/Tests/large-number-operation-strange-results.Bug-2929.stable.out.int128
        
sql/test/BugTracker-2012/Tests/many-columns-truncated.Bug-3161.stable.out
        sql/test/BugTracker-2012/Tests/not-equal-Bug.3139.stable.out
        
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
        sql/test/BugTracker-2012/Tests/null_except_null.Bug-3040.stable.out
        
sql/test/BugTracker-2012/Tests/order_by_on_column_exp.Bug-3193.stable.out
        sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.out
        sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.out.int128
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        sql/test/BugTracker-2012/Tests/round-type-inference.Bug-2987.stable.out
        
sql/test/BugTracker-2012/Tests/row_number_does_not_work_in_complex_query.Bug-2805.stable.out
        
sql/test/BugTracker-2012/Tests/scalar_subquery_with_alias.Bug-3093.stable.out
        sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.out
        sql/test/BugTracker-2012/Tests/set_operation.Bug-3059.stable.out
        sql/test/BugTracker-2012/Tests/simple_select.Bug-2988.stable.out
        sql/test/BugTracker-2012/Tests/sticky-precision.Bug-2969.stable.out
        sql/test/BugTracker-2012/Tests/timestamp-diff.Bug-3190.stable.out
        
sql/test/BugTracker-2012/Tests/tuples_INTERSECT_vs_count_intersect_differs.Bug-2659.stable.out
        sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.out
        
sql/test/BugTracker-2012/Tests/user_defined_decimal_function.Bug-2992.stable.out
        sql/test/BugTracker-2012/Tests/with_and_exists.Bug-3099.stable.out
        sql/test/BugTracker-2012/Tests/with_in_derived_table.Bug-3043.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.sql
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.sql
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
        sql/test/BugTracker-2014/Tests/queueError.Bug-3604.stable.out
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql
        sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out
        sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.sql
        sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out
        
sql/test/BugTracker-2016/Tests/CREATE_INDEX_breaks_table_queries.Bug-4053.stable.out
        
sql/test/BugTracker-2016/Tests/DISTINCT_with_correlated_scalar_subquery_crashes_mserver.Bug-3920.stable.out
        sql/test/BugTracker-2016/Tests/assert-on-project.Bug-6078.stable.out
        
sql/test/BugTracker-2016/Tests/assert-on-push-project-up.Bug-6077.stable.out
        
sql/test/BugTracker-2016/Tests/assert-on-table-producing-function.Bug-6076.stable.out
        sql/test/BugTracker-2016/Tests/case-with-string-Bug.3932.stable.out
        sql/test/BugTracker-2016/Tests/cast_and_floor.Bug-6071.stable.out
        
sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out
        
sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out.int128
        sql/test/BugTracker-2016/Tests/column_not_found.Bug-4064.stable.out
        
sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.stable.out
        sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
        
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
        sql/test/BugTracker-2016/Tests/crash.Bug-6081.stable.out
        
sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.out
        sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
        sql/test/BugTracker-2016/Tests/epoch.Bug-3979.stable.out
        
sql/test/BugTracker-2016/Tests/group_distinct_quantile.Bug-3927.stable.out
        sql/test/BugTracker-2016/Tests/ifthenelse-void.Bug-6075.stable.out
        sql/test/BugTracker-2016/Tests/isaUUID_function.Bug-3997.stable.out
        
sql/test/BugTracker-2016/Tests/like_in_non_sys_schema.Bug-4062.stable.out
        sql/test/BugTracker-2016/Tests/merge-table-edit.Bug-6084.stable.err
        
sql/test/BugTracker-2016/Tests/min-max-uuid-column-wrong-results.Bug-3953.stable.out
        
sql/test/BugTracker-2016/Tests/name_conflict_in_union.Bug-6065.stable.out
        
sql/test/BugTracker-2016/Tests/nested-mal-with-multiplex.Bug-4035.stable.out
        sql/test/BugTracker-2016/Tests/null_in_null.Bug-3900.stable.out
        
sql/test/BugTracker-2016/Tests/outer_constant_predicate.Bug-4070.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out.32bit
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out.int128
        sql/test/BugTracker-2016/Tests/string-length.Bug-3999.stable.out
        sql/test/BugTracker-2016/Tests/subcorr-missing.Bug-3978.stable.out
        sql/test/BugTracker-2016/Tests/trigger_bulk.Bug-4045.stable.err
        sql/test/BugTracker-2016/Tests/trigger_bulk.Bug-4045.stable.out
        sql/test/BugTracker-2016/Tests/union.Bug-6069.stable.out
        
sql/test/BugTracker-2016/Tests/wrong-nonil-property-with-copy-binary-into.Bug-3937.stable.out
        sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err
        
sql/test/BugTracker/Tests/cascade_operations_in_different_sessions.SF-1823387_drop.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        
sql/test/BugTracker/Tests/groupby_orderby_nonselected.SF-1723863.stable.err
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/BugTracker/Tests/subquery_orderby.SF-1688915.stable.err
        sql/test/Tests/setoptimizer.stable.out
        sql/test/Tests/setoptimizer.stable.out.Windows
        sql/test/Tests/systemfunctions.stable.out
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/Triggers/Tests/recursive_triggers.stable.err
        sql/test/Triggers/Tests/trigger_activation.stable.out
        sql/test/Triggers/trigger_action.sql
        sql/test/Triggers/trigger_activation.sql
        sql/test/Update_Delete_action/Tests/delete_cascade.stable.out
        sql/test/Update_Delete_action/Tests/update_delete_cascade.stable.out
        sql/test/bugs/Tests/case_cast-bug-sf-1019506.stable.out
        sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.32bit
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/check.stable.out
        sql/test/emptydb-upgrade/Tests/check.stable.out.32bit
        sql/test/emptydb-upgrade/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.stable.out.int128
        sql/test/mapi/Tests/All
        sql/test/mapi/Tests/sql_int128.stable.out
        sql/test/mergetables/Tests/mergequery.stable.out
        sql/test/pg_regress/Tests/alter_table.stable.err
        sql/test/pg_regress/Tests/strings.stable.out
        sql/test/pg_regress/Tests/strings_cast.stable.out
        sql/test/remote/Tests/partition_elim.stable.out
        sql/test/remote/Tests/ssbm.stable.out
        sql/test/remote/Tests/ssbm.stable.out.int128
        sql/test/ssqq/Tests/insert_query.stable.err
        sql/test/ssqq/Tests/insert_query.stable.out
        sql/test/ssqq/Tests/insert_queue.stable.out
        sql/test/ssqq/Tests/insert_quser.stable.err
        sql/test/ssqq/Tests/insert_quser.stable.out
        sql/test/ssqq/insert_query.sql
        sql/test/ssqq/insert_queue.sql
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        testing/Mtest.py.in
        tools/mserver/Makefile.ag
        tools/mserver/monet_version.c.in
        vertoo.data
Branch: default
Log Message:

Merge heads


diffs (truncated from 35024 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
@@ -60,399 +60,399 @@ Ready.
 % .L1, .L1,    .L1,    .L1,    .L1 # table_name
 % module,      function,       signature,      address,        comment # name
 % clob,        clob,   clob,   clob,   clob # type
-% 11,  28,     346,    44,     874 # length
-[ "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]) (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"       ]
+% 11,  28,     364,    44,     874 # length
+[ "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]) (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",  "pattern aggr.avg(b:bat[:any_2]):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", "function aggr.corr(e1:bat[:bte],e2:bat[:bte]):bte;",   
"",     ""      ]
-[ "aggr",      "corr", "function aggr.corr(e1:bat[:dbl],e2:bat[:dbl]):dbl;",   
"",     ""      ]
-[ "aggr",      "corr", "function aggr.corr(e1:bat[:flt],e2:bat[:flt]):flt;",   
"",     ""      ]
-[ "aggr",      "corr", "function aggr.corr(e1:bat[:int],e2:bat[:int]):int;",   
"",     ""      ]
-[ "aggr",      "corr", "function aggr.corr(e1:bat[:lng],e2:bat[:lng]):lng;",   
"",     ""      ]
-[ "aggr",      "corr", "function aggr.corr(e1:bat[:sht],e2:bat[:sht]):sht;",   
"",     ""      ]
-[ "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",      "corr", "function aggr.corr(e1:bat[:bte], e2:bat[:bte]):bte;",  
"",     ""      ]
+[ "aggr",      "corr", "function aggr.corr(e1:bat[:dbl], e2:bat[:dbl]):dbl;",  
"",     ""      ]
+[ "aggr",      "corr", "function aggr.corr(e1:bat[:flt], e2:bat[:flt]):flt;",  
"",     ""      ]
+[ "aggr",      "corr", "function aggr.corr(e1:bat[:int], e2:bat[:int]):int;",  
"",     ""      ]
+[ "aggr",      "corr", "function aggr.corr(e1:bat[:lng], e2:bat[:lng]):lng;",  
"",     ""      ]
+[ "aggr",      "corr", "function aggr.corr(e1:bat[:sht], e2:bat[:sht]):sht;",  
"",     ""      ]
+[ "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]):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",        "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]):lng 
",        "ALGcount_no_nil;",     "Return the number of elements 
currently\n\tin a BAT ignoring BUNs with nil-tail"       ]
-[ "aggr",      "covar",        "function 
aggr.covar(e1:bat[:bte],e2:bat[:bte]):bte;",  "",     ""      ]
-[ "aggr",      "covar",        "function 
aggr.covar(e1:bat[:dbl],e2:bat[:dbl]):dbl;",  "",     ""      ]
-[ "aggr",      "covar",        "function 
aggr.covar(e1:bat[:flt],e2:bat[:flt]):flt;",  "",     ""      ]
-[ "aggr",      "covar",        "function 
aggr.covar(e1:bat[:int],e2:bat[:int]):int;",  "",     ""      ]
-[ "aggr",      "covar",        "function 
aggr.covar(e1:bat[:lng],e2:bat[:lng]):lng;",  "",     ""      ]
-[ "aggr",      "covar",        "function 
aggr.covar(e1:bat[:sht],e2:bat[:sht]):sht;",  "",     ""      ]
-[ "aggr",      "exist",        "command aggr.exist(b:bat[:any_2],h:any_1):bit 
",       "ALGexist;",    ""      ]
+[ "aggr",      "covar",        "function aggr.covar(e1:bat[:bte], 
e2:bat[:bte]):bte;", "",     ""      ]
+[ "aggr",      "covar",        "function aggr.covar(e1:bat[:dbl], 
e2:bat[:dbl]):dbl;", "",     ""      ]
+[ "aggr",      "covar",        "function aggr.covar(e1:bat[:flt], 
e2:bat[:flt]):flt;", "",     ""      ]
+[ "aggr",      "covar",        "function aggr.covar(e1:bat[:int], 
e2:bat[:int]):int;", "",     ""      ]
+[ "aggr",      "covar",        "function aggr.covar(e1:bat[:lng], 
e2:bat[:lng]):lng;", "",     ""      ]
+[ "aggr",      "covar",        "function aggr.covar(e1:bat[:sht], 
e2:bat[:sht]):sht;", "",     ""      ]
+[ "aggr",      "exist",        "command aggr.exist(b:bat[:any_2], h:any_1):bit 
",      "ALGexist;",    ""      ]
 [ "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_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",      "median",       "function aggr.median(b:bat[:any_1]):any_1;",   
"",     ""      ]
-[ "aggr",      "median",       "command 
aggr.median(b:bat[:any_1],g:bat[:oid],e:bat[:any_2]):bat[:any_1] ",    
"AGGRmedian3;", "Grouped median aggregate"      ]
-[ "aggr",      "min",  "command 
aggr.min(b:bat[:any_1],g:bat[:oid],e:bat[:any_2]):bat[:any_1] ",       
"AGGRmin3;",    ""      ]
+[ "aggr",      "median",       "command aggr.median(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2]):bat[:any_1] ",  "AGGRmedian3;", "Grouped 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",      "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", "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[: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[: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[: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[: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[: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",     "function 
aggr.quantile(b:bat[:any_1],q:bat[:dbl]):any_1;",     "",     ""      ]
-[ "aggr",      "quantile",     "command 
aggr.quantile(b:bat[:any_1],g:bat[:oid],e:bat[:any_2],q:bat[:dbl]):bat[:any_1] 
",      "AGGRquantile3;",       "Grouped 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",      "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",     "function aggr.quantile(b:bat[:any_1], 
q:bat[:dbl]):any_1;",    "",     ""      ]
+[ "aggr",      "quantile",     "command aggr.quantile(b:bat[:any_1], 
g:bat[:oid], e:bat[:any_2], q:bat[:dbl]):bat[:any_1] ",   "AGGRquantile3;",     
  "Grouped 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[: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",      "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)
 (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",      "subcorr",      "function 
aggr.subcorr(e1:bat[:bte],e2:bat[:bte],g:bat[:oid],e:bat[:any_2],f:bit):bat[:bte];",
  "",     ""      ]
-[ "aggr",      "subcorr",      "function 
aggr.subcorr(e1:bat[:dbl],e2:bat[:dbl],g:bat[:oid],e:bat[:any_2],f:bit):bat[:dbl];",
  "",     ""      ]
-[ "aggr",      "subcorr",      "function 
aggr.subcorr(e1:bat[:flt],e2:bat[:flt],g:bat[:oid],e:bat[:any_2],f:bit):bat[:flt];",
  "",     ""      ]
-[ "aggr",      "subcorr",      "function 
aggr.subcorr(e1:bat[:int],e2:bat[:int],g:bat[:oid],e:bat[:any_2],f:bit):bat[:int];",
  "",     ""      ]
-[ "aggr",      "subcorr",      "function 
aggr.subcorr(e1:bat[:lng],e2:bat[:lng],g:bat[:oid],e:bat[:any_2],f:bit):bat[:lng];",
  "",     ""      ]
-[ "aggr",      "subcorr",      "function 
aggr.subcorr(e1:bat[:sht],e2:bat[:sht],g:bat[:oid],e:bat[:any_2],f:bit):bat[:sht];",
  "",     ""      ]
-[ "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",      "subcovar",     "function 
aggr.subcovar(e1:bat[:bte],e2:bat[:bte],g:bat[:oid],e:bat[:any_2],f:bit):bat[:bte];",
 "",     ""      ]
-[ "aggr",      "subcovar",     "function 
aggr.subcovar(e1:bat[:dbl],e2:bat[:dbl],g:bat[:oid],e:bat[:any_2],f:bit):bat[:dbl];",
 "",     ""      ]
-[ "aggr",      "subcovar",     "function 
aggr.subcovar(e1:bat[:flt],e2:bat[:flt],g:bat[:oid],e:bat[:any_2],f:bit):bat[:flt];",
 "",     ""      ]
-[ "aggr",      "subcovar",     "function 
aggr.subcovar(e1:bat[:int],e2:bat[:int],g:bat[:oid],e:bat[:any_2],f:bit):bat[:int];",
 "",     ""      ]
-[ "aggr",      "subcovar",     "function 
aggr.subcovar(e1:bat[:lng],e2:bat[:lng],g:bat[:oid],e:bat[:any_2],f:bit):bat[:lng];",
 "",     ""      ]
-[ "aggr",      "subcovar",     "function 
aggr.subcovar(e1:bat[:sht],e2:bat[:sht],g:bat[:oid],e:bat[:any_2],f:bit):bat[:sht];",
 "",     ""      ]
-[ "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"     ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to