Changeset: 2ee934954cc9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ee934954cc9 Added Files: monetdb5/modules/mal/Tests/flags.malC monetdb5/modules/mal/Tests/flags.stable.err monetdb5/modules/mal/Tests/flags.stable.out sql/scripts/58_hot_snapshot.sql sql/scripts/61_wlcr.sql sql/test/BugTracker-2019/Tests/NOT_IN-AND-OR-wrong-results.Bug-6775.sql sql/test/BugTracker-2019/Tests/NOT_IN-AND-OR-wrong-results.Bug-6775.stable.err sql/test/BugTracker-2019/Tests/NOT_IN-AND-OR-wrong-results.Bug-6775.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single sql/test/BugTracker-2019/Tests/filter_json_null.Bug-6773.sql sql/test/BugTracker-2019/Tests/filter_json_null.Bug-6773.stable.err sql/test/BugTracker-2019/Tests/filter_json_null.Bug-6773.stable.out sql/test/BugTracker-2019/Tests/grant-select-column.Bug-6765.py sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.py sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.stable.err sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.stable.out sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.timeout sql/test/BugTracker-2019/Tests/next-get-value-bulk.Bug-6766.sql sql/test/BugTracker-2019/Tests/next-get-value-bulk.Bug-6766.stable.err sql/test/BugTracker-2019/Tests/next-get-value-bulk.Bug-6766.stable.out sql/test/BugTracker-2019/Tests/outer-join-varchar.Bug-6776.sql sql/test/BugTracker-2019/Tests/outer-join-varchar.Bug-6776.stable.err sql/test/BugTracker-2019/Tests/outer-join-varchar.Bug-6776.stable.out sql/test/BugTracker-2019/Tests/prod-decimals.Bug-6774.sql sql/test/BugTracker-2019/Tests/prod-decimals.Bug-6774.stable.err sql/test/BugTracker-2019/Tests/prod-decimals.Bug-6774.stable.out sql/test/BugTracker-2019/Tests/select-char.Bug-6761.sql sql/test/BugTracker-2019/Tests/select-char.Bug-6761.stable.err sql/test/BugTracker-2019/Tests/select-char.Bug-6761.stable.out sql/test/Dependencies/Tests/view_table_udf.sql sql/test/Dependencies/Tests/view_table_udf.stable.err sql/test/Dependencies/Tests/view_table_udf.stable.out sql/test/Tests/hot-snapshot.py sql/test/Tests/hot-snapshot.stable.err sql/test/Tests/hot-snapshot.stable.out sql/test/mergetables/Tests/sqlsmith-exists.sql sql/test/miscellaneous/Tests/alter_table_add_column.sql sql/test/miscellaneous/Tests/alter_table_add_column.stable.err sql/test/miscellaneous/Tests/alter_table_add_column.stable.out sql/test/miscellaneous/Tests/groupby_error.sql sql/test/miscellaneous/Tests/groupby_error.stable.err sql/test/miscellaneous/Tests/groupby_error.stable.out sql/test/miscellaneous/Tests/view-mul-digits.sql sql/test/miscellaneous/Tests/view-mul-digits.stable.err sql/test/miscellaneous/Tests/view-mul-digits.stable.out sql/test/subquery/Tests/exists.sql sql/test/subquery/Tests/exists.stable.err sql/test/subquery/Tests/exists.stable.out sql/test/subquery/Tests/subquery3.sql sql/test/subquery/Tests/subquery3.stable.err sql/test/subquery/Tests/subquery3.stable.out sql/test/wlcr/Tests/wlc80.py sql/test/wlcr/Tests/wlr10.py sql/test/wlcr/Tests/wlr10.stable.err sql/test/wlcr/Tests/wlr10.stable.out sql/test/wlcr/Tests/wlr80.py Removed Files: sql/scripts/11_times.sql Modified Files: ChangeLog Makefile.ag MonetDB.spec NT/mkodbcwxs.py NT/mksqlwxs.py NT/rules.msc buildtools/doc/HowToRelease.rst buildtools/doc/windowsbuild.rst clients/R/Tests/copy_into_fwf.stable.err clients/R/Tests/dbi.stable.err clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/Tests/stethoscope--help.stable.err clients/mapiclient/dump.c clients/mapiclient/eventparser.c clients/mapiclient/mhelp.c clients/mapiclient/stethoscope.c common/options/monet_options.c common/stream/stream.c common/utils/matomic.h configure.ag debian/control debian/fix-deb.sh debian/monetdb-testing-python.install debian/rules gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_analytic_func.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_calc.h gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_hash.h gdk/gdk_imprints.c gdk/gdk_logger.c gdk/gdk_mosaic.c gdk/gdk_orderidx.c gdk/gdk_private.h gdk/gdk_storage.c gdk/gdk_system.h gdk/gdk_utils.c geom/Makefile.ag monetdb5/mal/Tests/tst903.stable.out monetdb5/mal/Tests/tst904.stable.out monetdb5/mal/Tests/tst907.stable.out monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_client.c monetdb5/mal/mal_client.h monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_exception.c monetdb5/mal/mal_exception.h monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_namespace.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_profiler.h monetdb5/mal/mal_resource.c monetdb5/mal/mal_resource.h monetdb5/mal/mal_runtime.c monetdb5/mal/mal_runtime.h monetdb5/mal/mal_scenario.c monetdb5/modules/atoms/Tests/json02.stable.out monetdb5/modules/atoms/json.c monetdb5/modules/atoms/json.h monetdb5/modules/atoms/json.mal monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/aggr.mal monetdb5/modules/kernel/aggr.mal.sh monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/mmath.c monetdb5/modules/mal/Tests/All monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.h monetdb5/modules/mal/clients.mal monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_io.h monetdb5/modules/mal/mal_io.mal monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/mdb.c monetdb5/modules/mal/mdb.h monetdb5/modules/mal/mdb.mal monetdb5/modules/mal/pcre.c monetdb5/modules/mal/profiler.c monetdb5/modules/mal/profiler.h monetdb5/modules/mal/profiler.mal monetdb5/modules/mal/querylog.c monetdb5/modules/mal/querylog.h monetdb5/modules/mal/querylog.mal monetdb5/modules/mal/remote.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tokenizer.c monetdb5/modules/mal/wlc.c monetdb5/modules/mal/wlc.h monetdb5/modules/mal/wlc.mal monetdb5/modules/mosaic/Tests/mosaic_bit_1.capped.stable.out monetdb5/modules/mosaic/Tests/mosaic_bit_1.frame.stable.out monetdb5/modules/mosaic/Tests/mosaic_bit_1.prefix.stable.out monetdb5/modules/mosaic/Tests/mosaic_bit_1.raw.stable.out monetdb5/modules/mosaic/Tests/mosaic_bit_1.var.stable.out monetdb5/modules/mosaic/Tests/mosaic_bit_2.linear.stable.out monetdb5/modules/mosaic/Tests/mosaic_bit_2.runlength.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_1.capped.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_1.delta.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_1.frame.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_1.prefix.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_1.raw.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_1.var.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_2.linear.stable.out monetdb5/modules/mosaic/Tests/mosaic_date_2.runlength.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_1.capped.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_1.delta.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_1.frame.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_1.prefix.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_1.raw.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_1.var.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_2.linear.stable.out monetdb5/modules/mosaic/Tests/mosaic_lng_2.runlength.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_1.capped.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_1.delta.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_1.frame.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_1.prefix.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_1.raw.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_1.var.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_2.linear.stable.out monetdb5/modules/mosaic/Tests/mosaic_oid_2.runlength.stable.out monetdb5/modules/mosaic/Tests/mosaic_timestamp_1.capped.stable.out monetdb5/modules/mosaic/Tests/mosaic_timestamp_1.frame.stable.out monetdb5/modules/mosaic/Tests/mosaic_timestamp_1.prefix.stable.out monetdb5/modules/mosaic/Tests/mosaic_timestamp_1.raw.stable.out monetdb5/modules/mosaic/Tests/mosaic_timestamp_1.var.stable.out monetdb5/modules/mosaic/Tests/mosaic_timestamp_2.linear.stable.out monetdb5/modules/mosaic/Tests/mosaic_timestamp_2.runlength.stable.out monetdb5/modules/mosaic/mosaic.c monetdb5/modules/mosaic/mosaic_capped.c monetdb5/modules/mosaic/mosaic_capped.h monetdb5/modules/mosaic/mosaic_dictionary.h monetdb5/modules/mosaic/mosaic_var.c monetdb5/optimizer/Tests/Mexample.stable.out monetdb5/optimizer/Tests/inlineFunction2.stable.out monetdb5/optimizer/Tests/manifold2.stable.out monetdb5/optimizer/Tests/manifold2.stable.out.single monetdb5/optimizer/opt_aliases.c monetdb5/optimizer/opt_candidates.c monetdb5/optimizer/opt_coercion.c monetdb5/optimizer/opt_commonTerms.c monetdb5/optimizer/opt_commonTerms.h monetdb5/optimizer/opt_constants.c monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_dataflow.c monetdb5/optimizer/opt_deadcode.c monetdb5/optimizer/opt_emptybind.c monetdb5/optimizer/opt_emptybind.h monetdb5/optimizer/opt_evaluate.c monetdb5/optimizer/opt_garbageCollector.c monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_inline.c monetdb5/optimizer/opt_jit.c monetdb5/optimizer/opt_json.c monetdb5/optimizer/opt_json.h monetdb5/optimizer/opt_macro.c monetdb5/optimizer/opt_matpack.c monetdb5/optimizer/opt_matpack.h monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_multiplex.c monetdb5/optimizer/opt_oltp.c monetdb5/optimizer/opt_oltp.h monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_postfix.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_profiler.c monetdb5/optimizer/opt_projectionpath.c monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_querylog.c monetdb5/optimizer/opt_reduce.c monetdb5/optimizer/opt_remap.c monetdb5/optimizer/opt_remoteQueries.c monetdb5/optimizer/opt_reorder.c monetdb5/optimizer/opt_volcano.c monetdb5/optimizer/opt_wlc.c monetdb5/optimizer/opt_wlc.h monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.h sql/ChangeLog.Apr2019 sql/ChangeLog.Nov2019 sql/backends/monet5/UDF/capi/capi.c 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_cat.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_rank.c sql/backends/monet5/sql_rank.mal sql/backends/monet5/sql_result.c sql/backends/monet5/sql_result.h sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/wlr.c sql/backends/monet5/wlr.h sql/backends/monet5/wlr.mal sql/common/sql_list.c sql/common/sql_types.c sql/include/sql_catalog.h sql/include/sql_relation.h sql/rel.txt sql/scripts/16_tracelog.sql sql/scripts/25_debug.sql sql/scripts/39_analytics.sql sql/scripts/39_analytics_hge.sql sql/scripts/60_wlcr.sql sql/scripts/Makefile.ag sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimizer.c sql/server/rel_optimizer.h sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_select.c sql/server/rel_semantic.c sql/server/rel_sequence.c sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/sql_env.c sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_partition.c sql/server/sql_privileges.c sql/server/sql_privileges.h sql/server/sql_qc.c sql/server/sql_qc.h sql/server/sql_scan.c sql/server/sql_scan.h sql/storage/bat/bat_logger.c sql/storage/bat/res_table.c sql/storage/sql_catalog.c sql/storage/sql_storage.h sql/storage/store.c sql/storage/store_dependency.c sql/storage/store_sequence.c sql/storage/store_sequence.h sql/test/BugDay_2005-10-06_2.9.3/Tests/union_limitation.SF-921992.stable.out sql/test/BugTracker-2009/Tests/All sql/test/BugTracker-2009/Tests/insert_into_done_by_procedure.SF-2607293.sql sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-0.Bug-3063.stable.out sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-1.Bug-3063.stable.out sql/test/BugTracker-2014/Tests/order_by_incorrect_error.Bug-3630.stable.err sql/test/BugTracker-2014/Tests/order_by_incorrect_error.Bug-3630.stable.out sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2016/Tests/leftjoin.Bug-3981.stable.out sql/test/BugTracker-2016/Tests/set-negative-querytimeout.Bug-6070.stable.err sql/test/BugTracker-2016/Tests/set-negative-querytimeout.Bug-6070.stable.out sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.sql sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.out sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out sql/test/BugTracker-2017/Tests/limit.Bug-6322.sql sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.sql sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.stable.out sql/test/BugTracker-2018/Tests/negative-sequences.Bug-6665.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err sql/test/BugTracker-2019/Tests/All sql/test/BugTracker-2019/Tests/correlated-subquery-aggregation.Bug-6714.stable.out sql/test/BugTracker-2019/Tests/crash-in-rel_dependencies.Bug-6703.sql sql/test/BugTracker-2019/Tests/crash-in-rel_dependencies.Bug-6703.stable.out sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql sql/test/BugTracker-2019/Tests/python-loader-string.Bug-6759.stable.err sql/test/BugTracker-2019/Tests/sequences-defaults.Bug-6744.sql sql/test/BugTracker-2019/Tests/sequences-defaults.Bug-6744.stable.err sql/test/BugTracker-2019/Tests/sequences-defaults.Bug-6744.stable.out sql/test/BugTracker-2019/Tests/view-where-cast-error.Bug-6712.stable.err sql/test/BugTracker-2019/Tests/view-where-cast-error.Bug-6712.stable.out sql/test/Dependencies/Tests/All sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out.int128 sql/test/Dependencies/Tests/dependency_loop.stable.out sql/test/Dependencies/Tests/dependency_loop.stable.out.int128 sql/test/Dump/Tests/dump-again.stable.err sql/test/LSST/Tests/dbQuery036.stable.err sql/test/Tests/All sql/test/Tests/alter-sequence.sql sql/test/Tests/alter-sequence.stable.err sql/test/Tests/comment-auth.stable.err sql/test/Tests/comment-dump.stable.err sql/test/Tests/copy-from-lz4.py sql/test/Tests/marcin3.stable.err sql/test/Tests/window_functions.stable.out sql/test/analytics/Tests/analytics01.sql sql/test/analytics/Tests/analytics01.stable.out sql/test/analytics/Tests/analytics09.sql sql/test/analytics/Tests/analytics09.stable.err sql/test/analytics/Tests/analytics09.stable.out sql/test/bugs/Tests/groupby_having_charlength-bug-sf-943566.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit 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/merge-partitions/Tests/mergepart21.stable.err sql/test/mergetables/Tests/All sql/test/mergetables/Tests/sqlsmith.Bug-6455.stable.err sql/test/mergetables/Tests/sqlsmith.Bug-6455.stable.out sql/test/mergetables/Tests/sqlsmith.Bug-6459.sql sql/test/mergetables/Tests/sqlsmith.Bug-6459.stable.err sql/test/mergetables/Tests/sqlsmith.Bug-6472.sql sql/test/mergetables/Tests/sqlsmith.Bug-6472.stable.out sql/test/miscellaneous/Tests/All sql/test/miscellaneous/Tests/groupby_expressions.sql sql/test/miscellaneous/Tests/groupby_expressions.stable.err sql/test/miscellaneous/Tests/groupby_expressions.stable.out sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.out sql/test/pg_regress/Tests/interval.stable.err sql/test/pg_regress/Tests/interval.stable.err.int128 sql/test/pg_regress/Tests/interval.stable.out sql/test/pg_regress/Tests/interval.stable.out.int128 sql/test/pg_regress/Tests/timestamp.sql sql/test/pg_regress/Tests/timestamptz.sql sql/test/pg_regress/Tests/vacuum.stable.out sql/test/pg_regress/Tests/vacuum.stable.out.single sql/test/rename/Tests/All sql/test/subquery/Tests/All sql/test/subquery/Tests/any.sql sql/test/subquery/Tests/any.stable.err sql/test/subquery/Tests/any.stable.out sql/test/subquery/Tests/any_all.sql sql/test/subquery/Tests/any_all.stable.out sql/test/subquery/Tests/correlated.sql sql/test/subquery/Tests/correlated.stable.err sql/test/subquery/Tests/correlated.stable.out sql/test/subquery/Tests/subquery.sql sql/test/subquery/Tests/subquery.stable.err sql/test/subquery/Tests/subquery2.sql sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out sql/test/sys-schema/Tests/check_MaxStrLength_violations.sql sql/test/sys-schema/Tests/check_MaxStrLength_violations.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 sql/test/testdb-reload/Tests/reload.stable.err sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 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.int128 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 sql/test/testdb/Tests/dump-nogeom.stable.err sql/test/wlcr/Tests/All sql/test/wlcr/Tests/wlc01.py sql/test/wlcr/Tests/wlc01.stable.out sql/test/wlcr/Tests/wlc100.py sql/test/wlcr/Tests/wlc20.py sql/test/wlcr/Tests/wlc21.py sql/test/wlcr/Tests/wlc30.py sql/test/wlcr/Tests/wlc40.py sql/test/wlcr/Tests/wlc50.py sql/test/wlcr/Tests/wlc70.py sql/test/wlcr/Tests/wlcr00.py sql/test/wlcr/Tests/wlr01.py sql/test/wlcr/Tests/wlr01.stable.err sql/test/wlcr/Tests/wlr01.stable.out sql/test/wlcr/Tests/wlr100.py sql/test/wlcr/Tests/wlr100.stable.err sql/test/wlcr/Tests/wlr100.stable.out sql/test/wlcr/Tests/wlr20.py sql/test/wlcr/Tests/wlr20.stable.err sql/test/wlcr/Tests/wlr20.stable.out sql/test/wlcr/Tests/wlr30.py sql/test/wlcr/Tests/wlr30.stable.err sql/test/wlcr/Tests/wlr30.stable.out sql/test/wlcr/Tests/wlr40.py sql/test/wlcr/Tests/wlr40.stable.err sql/test/wlcr/Tests/wlr40.stable.out sql/test/wlcr/Tests/wlr50.py sql/test/wlcr/Tests/wlr50.stable.err sql/test/wlcr/Tests/wlr50.stable.out sql/test/wlcr/Tests/wlr70.py sql/test/wlcr/Tests/wlr70.stable.err sql/test/wlcr/Tests/wlr70.stable.out testing/Mtest.py.in tools/Makefile.ag tools/merovingian/ChangeLog.Nov2019 tools/merovingian/Makefile.ag tools/merovingian/daemon/client.c tools/merovingian/daemon/connections.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/discoveryrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/handlers.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/merovingian.h tools/merovingian/daemon/multiplex-funnel.c tools/merovingian/utils/properties.c tools/mserver/mserver5.1.in Branch: mosaic Log Message:
Merge with default. diffs (truncated from 315058 to 300 lines): diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ # ChangeLog file for devel # This file is updated with Maddlog +* Sat Oct 12 2019 Martin Kersten <m...@cwi.nl> +- The MAL profiler now assigns the SQL TRACE output to the client record + thereby avoiding the interaction with other queries, but loosing + insight of competing queries. The stethoscope should be used for that. + diff --git a/Makefile.ag b/Makefile.ag --- a/Makefile.ag +++ b/Makefile.ag @@ -5,9 +5,9 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. SUBDIRS = buildtools common clients \ - HAVE_GDK?gdk \ - HAVE_MONETDB5?monetdb5 \ - HAVE_SQL?sql \ + gdk \ + monetdb5 \ + sql \ HAVE_GEOM?geom \ tools \ HAVE_TESTING?testing \ diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -19,15 +19,16 @@ %global _hardened_build 1 # On RedHat Enterprise Linux and derivatives, if the Extra Packages -# for Enterprise Linux (EPEL) repository is available, you can enable -# its use by providing rpmbuild or mock with the "--with epel" option. +# for Enterprise Linux (EPEL) repository is not available, you can +# disable its use by providing rpmbuild or mock with the "--without +# epel" option. # If the EPEL repository is availabe, or if building for Fedora, most # optional sub packages can be built. We indicate that here by # setting the macro fedpkgs to 1. If the EPEL repository is not # available and we are not building for Fedora, we set fedpkgs to 0. %if %{?rhel:1}%{!?rhel:0} # RedHat Enterprise Linux (or CentOS or Scientific Linux) -%bcond_with epel +%bcond_without epel %if %{with epel} # EPEL is enabled through the command line %global fedpkgs 1 @@ -59,7 +60,7 @@ # derivatives (CentOS, Scientific Linux), the liblas library is only # available if EPEL is enabled, and then only on version 7. %if %{fedpkgs} -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} == 7 # By default create the MonetDB-lidar package on Fedora and RHEL 7 %bcond_without lidar %endif @@ -84,9 +85,9 @@ %bcond_without rintegration %endif -# On Fedora and RHEL 7, create the MonetDB-python2 package. +# On Fedora <= 30 and RHEL 7, create the MonetDB-python2 package. # On RHEL 6, numpy is too old. -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 +%if 0%{?rhel} == 7 || %{!?fedora:1000}%{?fedora} <= 30 %bcond_without py2integration %endif %if %{?rhel:0}%{!?rhel:1} @@ -164,12 +165,7 @@ BuildRequires: python-devel # RedHat Enterprise Linux calls it simply numpy BuildRequires: numpy %else -%if (0%{?fedora} >= 24) BuildRequires: python2-numpy -%else -# Fedora <= 23 doesn't have python2-numpy -BuildRequires: numpy -%endif %endif %endif %if %{with py3integration} @@ -963,12 +959,10 @@ export CFLAGS --enable-embedded=no \ --enable-embedded-r=no \ --enable-fits=%{?with_fits:yes}%{!?with_fits:no} \ - --enable-gdk=yes \ --enable-geom=%{?with_geos:yes}%{!?with_geos:no} \ --enable-int128=%{?with_hugeint:yes}%{!?with_hugeint:no} \ --enable-lidar=%{?with_lidar:yes}%{!?with_lidar:no} \ --enable-mapi=yes \ - --enable-monetdb5=yes \ --enable-netcdf=no \ --enable-odbc=yes \ --enable-py2integration=%{?with_py2integration:yes}%{!?with_py2integration:no} \ @@ -976,7 +970,6 @@ export CFLAGS --enable-rintegration=%{?with_rintegration:yes}%{!?with_rintegration:no} \ --enable-sanitizer=no \ --enable-shp=no \ - --enable-sql=yes \ --enable-static-analysis=no \ --enable-strict=no \ --enable-testing=yes \ @@ -1053,7 +1046,12 @@ do install -p -m 644 buildtools/selinux/monetdb.pp.${selinuxvariant} \ %{buildroot}%{_datadir}/selinux/${selinuxvariant}/monetdb.pp done -/usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux +if [ -x /usr/sbin/hardlink ]; then + /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux +else + # Fedora 31 + /usr/bin/hardlink -cv %{buildroot}%{_datadir}/selinux +fi %endif %post -p /sbin/ldconfig diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py --- a/NT/mkodbcwxs.py +++ b/NT/mkodbcwxs.py @@ -55,8 +55,8 @@ def main(): print(r' <CustomAction Id="driverinstall" FileKey="odbcinstall" ExeCommand="/Install" Execute="deferred" Impersonate="no"/>') print(r' <CustomAction Id="driveruninstall" FileKey="odbcinstall" ExeCommand="/Uninstall" Execute="deferred" Impersonate="no"/>') print(r' <Directory Id="TARGETDIR" Name="SourceDir">') - if vs == '17': - msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC' + if vs in ('17', '19'): + msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\20%s\Community\VC\Redist\MSVC' % vs d = sorted(os.listdir(msvc))[-1] msm = '_CRT_%s.msm' % arch for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))): diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -114,8 +114,8 @@ def main(): print(r' <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>') print(r' <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>') print(r' <Directory Id="TARGETDIR" Name="SourceDir">') - if vs == '17': - msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC' + if vs in ('17', '19'): + msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\20%s\Community\VC\Redist\MSVC' % vs d = sorted(os.listdir(msvc))[-1] msm = '_CRT_%s.msm' % arch for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))): diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -297,11 +297,6 @@ create_winconfig_conds_new_py: !ELSE $(ECHO) HAVE_FITS_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" !ENDIF -!IFDEF HAVE_GDK - $(ECHO) HAVE_GDK_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" -!ELSE - $(ECHO) HAVE_GDK_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" -!ENDIF !IFDEF HAVE_GEOM $(ECHO) HAVE_GEOM_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" !ELSE @@ -352,11 +347,6 @@ create_winconfig_conds_new_py: !ELSE $(ECHO) HAVE_LIDAR_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" !ENDIF -!IFDEF HAVE_MONETDB5 - $(ECHO) HAVE_MONETDB5_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" -!ELSE - $(ECHO) HAVE_MONETDB5_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" -!ENDIF !IFDEF HAVE_NETCDF $(ECHO) HAVE_NETCDF_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" !ELSE @@ -392,11 +382,6 @@ create_winconfig_conds_new_py: !ELSE $(ECHO) HAVE_MAL_DEBUGGER_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" !ENDIF -!IFDEF HAVE_SQL - $(ECHO) HAVE_SQL_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" -!ELSE - $(ECHO) HAVE_SQL_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" -!ENDIF !IFDEF HAVE_TESTING $(ECHO) HAVE_TESTING_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" !ELSE @@ -412,11 +397,6 @@ create_winconfig_conds_new_py: !ELSE $(ECHO) NOT_WIN32_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" !ENDIF -!IFDEF PROFILING - $(ECHO) PROFILING_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" -!ELSE - $(ECHO) PROFILING_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" -!ENDIF update_winconfig_conds_py: create_winconfig_conds_new_py if not exist "$(TOPDIR)\winconfig_conds.py" $(CP) "$(TOPDIR)\winconfig_conds_new.py" "$(TOPDIR)\winconfig_conds.py" diff --git a/buildtools/doc/HowToRelease.rst b/buildtools/doc/HowToRelease.rst --- a/buildtools/doc/HowToRelease.rst +++ b/buildtools/doc/HowToRelease.rst @@ -117,10 +117,10 @@ Releasing correct compiler, i.e., Microsoft Visual Studio 8, and options: Use these ``nmake`` options for a 32 bit compile: ``NDEBUG=1 - HAVE_PYTHON=1 HAVE_PCRE=1 HAVE_MONETDB5=1`` + HAVE_PYTHON=1 HAVE_PCRE=1`` Use these ``nmake`` options for a 64 bit compile: ``bits=64 NDEBUG=1 - HAVE_MONETDB5=1 HAVE_PYTHON=1 HAVE_PCRE=1`` + HAVE_PYTHON=1 HAVE_PCRE=1`` - Create PGP signatures and SHA1 checksums:: diff --git a/buildtools/doc/windowsbuild.rst b/buildtools/doc/windowsbuild.rst --- a/buildtools/doc/windowsbuild.rst +++ b/buildtools/doc/windowsbuild.rst @@ -761,8 +761,6 @@ possible: - ``DEBUG=1`` - compile with extra debugging information - ``NDEBUG=1`` - compile without extra debugging information (this is used for creating a binary release); -- ``HAVE_MONETDB5=1`` - include the MonetDB5 component; -- ``HAVE_SQL=1`` - include the sql component; - ``HAVE_GEOM=1`` - include the geom component; - ``HAVE_TESTING=1`` - include the testing component; - ``HAVE_PYTHON=1`` - include the Python component; 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 @@ -124,9 +124,12 @@ stdout of test 'MAL-signatures` in direc [ "aggr", "max", "command aggr.max(b:bat[:any_2]):any_2 ", "ALGmaxany;", "Return the highest tail value or nil." ] [ "aggr", "max", "command aggr.max(b:bat[:any_2], skipnil:bit):any_2 ", "ALGmaxany_skipnil;", "Return the highest tail value or nil." ] [ "aggr", "median", "command aggr.median(b:bat[:any_1]):any_1 ", "AGGRmedian;", "Median aggregate" ] +[ "aggr", "median_avg", "command aggr.median_avg(b:bat[:any_1]):dbl ", "AGGRmedian_avg;", "Median aggregate" ] [ "aggr", "min", "command aggr.min(b:bat[:any_1], g:bat[:oid], e:bat[:any_2]):bat[:any_1] ", "AGGRmin3;", "" ] [ "aggr", "min", "command aggr.min(b:bat[:any_2]):any_2 ", "ALGminany;", "Return the lowest tail value or nil." ] [ "aggr", "min", "command aggr.min(b:bat[:any_2], skipnil:bit):any_2 ", "ALGminany_skipnil;", "Return the lowest tail value or nil." ] +[ "aggr", "not_exist", "command aggr.not_exist(b:bat[:any_2]):bit ", "SQLnot_exist;", "" ] +[ "aggr", "not_exist", "pattern aggr.not_exist(v:any_2):bit ", "SQLnot_exist_val;", "" ] [ "aggr", "prod", "command aggr.prod(b:bat[:bte], g:bat[:oid], e:bat[:any_1]):bat[:bte] ", "AGGRprod3_bte;", "Grouped tail product on bte" ] [ "aggr", "prod", "command aggr.prod(b:bat[:dbl], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "Grouped tail product on dbl" ] [ "aggr", "prod", "command aggr.prod(b:bat[:flt], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "Grouped tail product on flt" ] @@ -209,6 +212,7 @@ stdout of test 'MAL-signatures` in direc [ "aggr", "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid], nil_if_empty:bit):lng ", "CMDBATprod;", "Calculate aggregate product of B with candidate list." ] [ "aggr", "prod", "pattern aggr.prod(b:bat[:sht], s:bat[:oid], nil_if_empty:bit):sht ", "CMDBATprod;", "Calculate aggregate product of B with candidate list." ] [ "aggr", "quantile", "command aggr.quantile(b:bat[:any_1], q:bat[:dbl]):any_1 ", "AGGRquantile;", "Quantile aggregate" ] +[ "aggr", "quantile_avg", "command aggr.quantile_avg(b:bat[:any_1], q:bat[:dbl]):dbl ", "AGGRquantile_avg;", "Quantile aggregate" ] [ "aggr", "stdev", "command aggr.stdev(b:bat[:bte], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "Grouped tail standard deviation (sample/non-biased) on bte" ] [ "aggr", "stdev", "command aggr.stdev(b:bat[:dbl], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "Grouped tail standard deviation (sample/non-biased) on dbl" ] [ "aggr", "stdev", "command aggr.stdev(b:bat[:flt], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRstdev3_dbl;", "Grouped tail standard deviation (sample/non-biased) on flt" ] @@ -310,10 +314,13 @@ stdout of test 'MAL-signatures` in direc [ "aggr", "submax", "command aggr.submax(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:any_1] ", "AGGRsubmaxcand_val;", "Grouped maximum aggregate with candidates list" ] [ "aggr", "submedian", "command aggr.submedian(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:any_1] ", "AGGRsubmedian;", "Grouped median aggregate" ] [ "aggr", "submedian", "command aggr.submedian(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:any_1] ", "AGGRsubmediancand;", "Grouped median aggregate with candidate list" ] +[ "aggr", "submedian_avg", "command aggr.submedian_avg(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:dbl] ", "AGGRsubmedian_avg;", "Grouped median aggregate" ] +[ "aggr", "submedian_avg", "command aggr.submedian_avg(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:dbl] ", "AGGRsubmediancand_avg;", "Grouped median aggregate with candidate list" ] [ "aggr", "submin", "command aggr.submin(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:oid] ", "AGGRsubmin;", "Grouped minimum aggregate" ] [ "aggr", "submin", "command aggr.submin(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:any_1] ", "AGGRsubmin_val;", "Grouped minimum aggregate" ] [ "aggr", "submin", "command aggr.submin(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:oid] ", "AGGRsubmincand;", "Grouped minimum aggregate with candidates list" ] [ "aggr", "submin", "command aggr.submin(b:bat[:any_1], g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:any_1] ", "AGGRsubmincand_val;", "Grouped minimum aggregate with candidates list" ] +[ "aggr", "subnot_exist", "command aggr.subnot_exist(b:bat[:any_2], g:bat[:oid], e:bat[:oid], no_nil:bit):bat[:bit] ", "SQLsubnot_exist;", "" ] [ "aggr", "subprod", "command aggr.subprod(b:bat[:bte], g:bat[:oid], e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:bte] ", "AGGRsubprod_bte;", "Grouped product aggregate" ] [ "aggr", "subprod", "command aggr.subprod(b:bat[:dbl], g:bat[:oid], e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ", "AGGRsubprod_dbl;", "Grouped product aggregate" ] [ "aggr", "subprod", "command aggr.subprod(b:bat[:flt], g:bat[:oid], e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ", "AGGRsubprod_dbl;", "Grouped product aggregate" ] @@ -342,6 +349,8 @@ stdout of test 'MAL-signatures` in direc [ "aggr", "subprod", "command aggr.subprod(b:bat[:sht], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit, abort_on_error:bit):bat[:sht] ", "AGGRsubprodcand_sht;", "Grouped product aggregate with candidates list" ] [ "aggr", "subquantile", "command aggr.subquantile(b:bat[:any_1], q:bat[:dbl], g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:any_1] ", "AGGRsubquantile;", "Grouped quantile aggregate" ] [ "aggr", "subquantile", "command aggr.subquantile(b:bat[:any_1], q:bat[:dbl], g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:any_1] ", "AGGRsubquantilecand;", "Grouped quantile aggregate with candidate list" ] +[ "aggr", "subquantile_avg", "command aggr.subquantile_avg(b:bat[:any_1], q:bat[:dbl], g:bat[:oid], e:bat[:any_2], skip_nils:bit):bat[:dbl] ", "AGGRsubquantile_avg;", "Grouped quantile aggregate" ] +[ "aggr", "subquantile_avg", "command aggr.subquantile_avg(b:bat[:any_1], q:bat[:dbl], g:bat[:oid], e:bat[:any_2], s:bat[:oid], skip_nils:bit):bat[:dbl] ", "AGGRsubquantilecand_avg;", "Grouped quantile aggregate with candidate list" ] [ "aggr", "substdev", "command aggr.substdev(b:bat[:bte], g:bat[:oid], e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ", "AGGRsubstdev_dbl;", "Grouped standard deviation (sample/non-biased) aggregate" ] [ "aggr", "substdev", "command aggr.substdev(b:bat[:dbl], g:bat[:oid], e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ", "AGGRsubstdev_dbl;", "Grouped standard deviation (sample/non-biased) aggregate" ] [ "aggr", "substdev", "command aggr.substdev(b:bat[:flt], g:bat[:oid], e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ", "AGGRsubstdev_dbl;", "Grouped standard deviation (sample/non-biased) aggregate" ] @@ -8964,6 +8973,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "diff", "pattern batsql.diff(b:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "diff", "pattern batsql.diff(p:bat[:bit], b:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "first_value", "pattern batsql.first_value(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLfirst_value;", "return the first value of groups" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:bat[:str], sequence:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "return the current value of sequences" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:bat[:str], sequence:str):bat[:lng] ", "mvc_bat_get_value;", "return the current value of the sequence" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:str, sequence:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "return the current value of sequences" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, d:any_1, p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, d:bat[:any_1], p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or NULL if non existent" ] @@ -8981,7 +8993,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "lead", "pattern batsql.lead(b:bat[:any_1], p:any_3, o:any_4):bat[:any_1] ", "SQLlead;", "return the value in the next row in the partition or NULL if non existent" ] [ "batsql", "max", "pattern batsql.max(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLmax;", "return the maximum of groups" ] [ "batsql", "min", "pattern batsql.min(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLmin;", "return the minimum of groups" ] +[ "batsql", "next_value", "pattern batsql.next_value(sname:bat[:str], sequence:bat[:str]):bat[:lng] ", "mvc_bat_next_value;", "return the next value of sequences" ] [ "batsql", "next_value", "pattern batsql.next_value(sname:bat[:str], sequence:str):bat[:lng] ", "mvc_bat_next_value;", "return the next value of the sequence" ] +[ "batsql", "next_value", "pattern batsql.next_value(sname:str, sequence:bat[:str]):bat[:lng] ", "mvc_bat_next_value;", "return the next value of sequences" ] [ "batsql", "nth_value", "pattern batsql.nth_value(b:bat[:any_1], n:any_2, s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLnth_value;", "return the nth value of each group" ] [ "batsql", "nth_value", "pattern batsql.nth_value(b:bat[:any_1], n:bat[:any_2], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLnth_value;", "return the nth value of each group" ] [ "batsql", "ntile", "pattern batsql.ntile(b:bat[:any_1], n:any_2, p:any_3, o:any_4):bat[:any_2] ", "SQLntile;", "return the groups divided as equally as possible" ] @@ -8996,6 +9010,13 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "prod", "pattern batsql.prod(b:bat[:lng], s:bat[:lng], e:bat[:lng]):bat[:lng] ", "SQLprod;", "return the product of groups" ] [ "batsql", "prod", "pattern batsql.prod(b:bat[:sht], s:bat[:lng], e:bat[:lng]):bat[:lng] ", "SQLprod;", "return the product of groups" ] [ "batsql", "rank", "pattern batsql.rank(b:bat[:any_1], p:any_2, o:any_3):bat[:int] ", "SQLrank;", "return the ranked groups" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:bat[:str], start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:bat[:str], start:lng):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list