Changeset: 07595c56aa4f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=07595c56aa4f
Added Files:
        common/utils/revision.c
        sql/benchmarks/tpcds/Tests/11.reqtests
        sql/benchmarks/tpcds/Tests/11.sql
        sql/benchmarks/tpcds/Tests/38.reqtests
        sql/benchmarks/tpcds/Tests/38.sql
        sql/benchmarks/tpcds/Tests/72.reqtests
        sql/benchmarks/tpcds/Tests/72.sql
        sql/benchmarks/tpcds/Tests/83.reqtests
        sql/benchmarks/tpcds/Tests/83.sql
        sql/benchmarks/tpcds/Tests/98.reqtests
        sql/benchmarks/tpcds/Tests/98.sql
        sql/benchmarks/tpcds/Tests/99.reqtests
        sql/benchmarks/tpcds/Tests/99.sql
        sql/benchmarks/tpcds/Tests/All
        sql/benchmarks/tpcds/Tests/alter.reqtests
        sql/benchmarks/tpcds/Tests/alter.sql
        sql/benchmarks/tpcds/Tests/alter.stable.err
        sql/benchmarks/tpcds/Tests/alter.stable.out
        sql/benchmarks/tpcds/Tests/check0.reqtests
        sql/benchmarks/tpcds/Tests/check0.sql
        sql/benchmarks/tpcds/Tests/check0.stable.err
        sql/benchmarks/tpcds/Tests/check0.stable.out
        sql/benchmarks/tpcds/Tests/check1.reqtests
        sql/benchmarks/tpcds/Tests/check1.sql
        sql/benchmarks/tpcds/Tests/check1.stable.err
        sql/benchmarks/tpcds/Tests/check1.stable.out
        sql/benchmarks/tpcds/Tests/create.sql
        sql/benchmarks/tpcds/Tests/create.stable.err
        sql/benchmarks/tpcds/Tests/create.stable.out
        sql/benchmarks/tpcds/Tests/drop.sql
        sql/benchmarks/tpcds/Tests/drop.stable.err
        sql/benchmarks/tpcds/Tests/drop.stable.out
        sql/benchmarks/tpcds/Tests/load.reqtests
        sql/benchmarks/tpcds/Tests/load.sql.in
        sql/benchmarks/tpcds/Tests/load.stable.err
        sql/benchmarks/tpcds/Tests/load.stable.out
        sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.sql
        
sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.stable.err
        
sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.stable.out
        sql/test/BugTracker-2018/Tests/grant-role-not-idempotent.Bug-6660.py
        
sql/test/BugTracker-2018/Tests/grant-role-not-idempotent.Bug-6660.stable.err
        
sql/test/BugTracker-2018/Tests/grant-role-not-idempotent.Bug-6660.stable.out
        
sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.stable.err
        
sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.stable.out
        
sql/test/BugTracker-2018/Tests/procedure-create-table.Bug-6604.stable.err
        
sql/test/BugTracker-2018/Tests/procedure-create-table.Bug-6604.stable.out
        sql/test/BugTracker-2018/Tests/quantile-crash.Bug-6658.sql
        sql/test/BugTracker-2018/Tests/quantile-crash.Bug-6658.stable.err
        sql/test/BugTracker-2018/Tests/quantile-crash.Bug-6658.stable.out
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.stable.err
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.stable.out.int128
        sql/test/testdb-reload/Tests/All
        sql/test/testdb-reload/Tests/reload.py
        sql/test/testdb-reload/Tests/reload.stable.err
        sql/test/testdb-reload/Tests/reload.stable.out
        sql/test/testdb-reload/Tests/reload.timeout
        sql/test/testdb/Tests/dump-nogeom.reqtests
        sql/test/testdb/Tests/dump-nogeom.sql
        sql/test/testdb/Tests/dump-nogeom.stable.err
        sql/test/testdb/Tests/dump-nogeom.stable.out
        sql/test/testdb/Tests/dump.reqtests
        sql/test/testdb/Tests/dump.sql
        sql/test/testdb/Tests/dump.stable.err
        sql/test/testdb/Tests/dump.stable.out
        sql/test/testdb/Tests/dump.timeout
        sql/test/testdb/Tests/load-geom.reqtests
        sql/test/testdb/Tests/load-geom.sql
        sql/test/testdb/Tests/load-geom.stable.err
        sql/test/testdb/Tests/load-geom.stable.out
        sql/test/testdb/Tests/load.sql
        sql/test/testdb/Tests/load.stable.err
        sql/test/testdb/Tests/load.stable.out
        sql/test/testdb/Tests/load.timeout
        sql/test/testdb/Tests/package-hge.py
        sql/test/testdb/Tests/package-hge.stable.err
        sql/test/testdb/Tests/package-hge.stable.out.int128
        sql/test/testdb/Tests/package.py
        sql/test/testdb/Tests/package.reqtests
        sql/test/testdb/Tests/package.stable.err
        sql/test/testdb/Tests/package.stable.out
Removed Files:
        sql/test/testdb/Tests/testdb-dump.reqtests
        sql/test/testdb/Tests/testdb-dump.sql
        sql/test/testdb/Tests/testdb-dump.stable.err
        sql/test/testdb/Tests/testdb-dump.stable.out
        sql/test/testdb/Tests/testdb-dump.timeout
        sql/test/testdb/Tests/testdb-load.sql
        sql/test/testdb/Tests/testdb-load.stable.err
        sql/test/testdb/Tests/testdb-load.stable.out
        sql/test/testdb/Tests/testdb-load.timeout
        sql/test/testdb/Tests/testdb-package-hge.py
        sql/test/testdb/Tests/testdb-package-hge.stable.err
        sql/test/testdb/Tests/testdb-package-hge.stable.out.int128
        sql/test/testdb/Tests/testdb-package.py
        sql/test/testdb/Tests/testdb-package.reqtests
        sql/test/testdb/Tests/testdb-package.stable.err
        sql/test/testdb/Tests/testdb-package.stable.out
Modified Files:
        MonetDB.spec
        NT/Makefile
        bootstrap
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/dump.c
        clients/mapiclient/mclient.c
        clients/mapiclient/mhelp.c
        clients/mapiclient/msqldump.c
        common/utils/Makefile.ag
        common/utils/mutils.h
        debian/monetdb5-server.install
        debian/monetdb5-sql.install
        gdk/ChangeLog
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_atoms.c
        gdk/gdk_atoms.h
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_calc.c
        gdk/gdk_cand.h
        gdk/gdk_firstn.c
        gdk/gdk_imprints.c
        gdk/gdk_orderidx.c
        gdk/gdk_private.h
        gdk/gdk_qsort.c
        gdk/gdk_qsort_impl.h
        gdk/gdk_search.c
        gdk/gdk_select.c
        gdk/gdk_ssort.c
        gdk/gdk_ssort_impl.h
        gdk/gdk_storage.c
        gdk/gdk_string.c
        gdk/gdk_system.c
        gdk/gdk_tm.c
        gdk/gdk_utils.c
        gdk/gdk_value.c
        geom/monetdb5/geom.c
        geom/monetdb5/geom.h
        geom/sql/conformance/Tests/T1.sql
        geom/sql/conformance/Tests/T1.stable.out
        geom/sql/conformance/Tests/T13.stable.out
        geom/sql/conformance/Tests/T14.stable.out
        geom/sql/conformance/Tests/T17.stable.out
        geom/sql/conformance/Tests/T18.stable.out
        geom/sql/conformance/Tests/T23.stable.out
        geom/sql/conformance/Tests/T24.stable.out
        geom/sql/conformance/Tests/T27.stable.out
        geom/sql/conformance/Tests/T29.stable.out
        geom/sql/conformance/Tests/T31.stable.out
        geom/sql/conformance/Tests/T34.stable.out
        geom/sql/conformance/Tests/T47.stable.out
        geom/sql/conformance/Tests/T48.stable.out
        geom/sql/conformance/Tests/T49.stable.out
        geom/sql/conformance/Tests/T50.stable.out
        geom/sql/conformance/Tests/T52.stable.out
        geom/sql/conformance/Tests/T8.stable.out
        geom/sql/functions/Tests/ST_AsEWKT.stable.out
        geom/sql/functions/Tests/ST_AsText.stable.out
        geom/sql/pg_regression/Tests/boundary.stable.out
        geom/sql/pg_regression/Tests/delaunaytriangles.stable.out
        monetdb5/ChangeLog
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
        monetdb5/mal/Tests/tst1200.stable.out
        monetdb5/mal/Tests/tst1205.stable.out
        monetdb5/mal/Tests/tst1502.malC
        monetdb5/mal/Tests/tst233.malC
        monetdb5/mal/Tests/tst234.malC
        monetdb5/mal/Tests/tst235.malC
        monetdb5/mal/Tests/tst903.malC
        monetdb5/mal/Tests/tst903.stable.out
        monetdb5/mal/mal_atom.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_profiler.c
        monetdb5/modules/atoms/Tests/xml10.malC
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/blob.c
        monetdb5/modules/atoms/blob.h
        monetdb5/modules/atoms/color.c
        monetdb5/modules/atoms/color.h
        monetdb5/modules/atoms/identifier.c
        monetdb5/modules/atoms/inet.c
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/json.h
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/mtime.h
        monetdb5/modules/atoms/url.c
        monetdb5/modules/atoms/url.h
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/atoms/xml.c
        monetdb5/modules/atoms/xml.h
        monetdb5/modules/kernel/Tests/select.malC
        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/mal/Tests/inspect05.malC
        monetdb5/modules/mal/Tests/orderidx00.malC
        monetdb5/modules/mal/Tests/orderidx04.malC
        monetdb5/modules/mal/Tests/pqueue.malC
        monetdb5/modules/mal/Tests/pqueue2.malC
        monetdb5/modules/mal/Tests/pqueue3.malC
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/tablet.c
        monetdb5/optimizer/Tests/DCexample2.malC
        monetdb5/optimizer/Tests/reorder00.malC
        monetdb5/optimizer/Tests/reorder00.stable.out
        monetdb5/optimizer/Tests/tst4700.malC
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_support.c
        rpm.mk.in
        sql/ChangeLog
        sql/backends/monet5/UDF/capi/capi.c
        sql/backends/monet5/UDF/pyapi/conversion.c
        sql/backends/monet5/UDF/pyapi/convert_loops.h
        sql/backends/monet5/UDF/pyapi/type_conversion.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_result.h
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/vaults/bam/Tests/query1.1.sql
        sql/backends/monet5/vaults/bam/Tests/query1.1.stable.out
        sql/backends/monet5/vaults/bam/Tests/query2.1.stable.out
        sql/backends/monet5/vaults/bam/Tests/query2.10.stable.out
        sql/backends/monet5/vaults/bam/Tests/query2.11.sql
        sql/backends/monet5/vaults/bam/Tests/query2.11.stable.out
        sql/backends/monet5/vaults/bam/Tests/query2.2.sql
        sql/backends/monet5/vaults/bam/Tests/query2.2.stable.out
        sql/backends/monet5/vaults/bam/Tests/query2.2.stable.out.int128
        sql/backends/monet5/vaults/bam/Tests/query2.6.sql
        sql/backends/monet5/vaults/bam/Tests/query2.6.stable.out
        sql/backends/monet5/vaults/bam/bam_export.c
        sql/backends/monet5/wlr.c
        sql/common/sql_list.c
        sql/common/sql_string.c
        sql/common/sql_string.h
        sql/include/sql_catalog.h
        sql/include/sql_relation.h
        sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.stable.out
        sql/scripts/75_storagemodel.sql
        sql/server/rel_dump.c
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_psm.c
        sql/server/rel_select.c
        sql/server/rel_sequence.c
        sql/server/rel_updates.c
        sql/server/sql_atom.c
        sql/server/sql_parser.y
        sql/server/sql_privileges.c
        sql/server/sql_scan.c
        sql/storage/bat/bat_table.c
        sql/storage/bat/res_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.sql
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
        sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err
        
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows
        sql/test/BugTracker-2009/Tests/drop-sequence-crash.SF-2854195.stable.err
        sql/test/BugTracker-2009/Tests/drop-sequence-crash.SF-2854195.stable.out
        
sql/test/BugTracker-2009/Tests/use_order_column_first.SF-2686008.stable.out
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.py
        
sql/test/BugTracker-2012/Tests/strange_escaping_in_csv.Bug-2133.stable.out
        sql/test/BugTracker-2013/Tests/create_table_with_func.Bug-3286.sql
        
sql/test/BugTracker-2013/Tests/create_table_with_func.Bug-3286.stable.out
        sql/test/BugTracker-2013/Tests/env_errors.Bug-3370.stable.err
        sql/test/BugTracker-2014/Tests/oid-table-assert.Bug-3514.sql
        sql/test/BugTracker-2015/Tests/alter-table.Bug-3828-part1.stable.out
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        
sql/test/BugTracker-2015/Tests/msqldump-merge-and-remote-tables.Bug-3774.stable.out
        
sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.stable.out
        
sql/test/BugTracker-2016/Tests/assert-on-push-project-up.Bug-6077.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.sql
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out
        sql/test/BugTracker-2017/Tests/crash-in-topn.Bug-6478.sql
        sql/test/BugTracker-2017/Tests/crash-on-limit-rename.Bug-6502.sql
        
sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
        sql/test/BugTracker-2017/Tests/create_view_order_by.Bug-3465.sql
        sql/test/BugTracker-2017/Tests/create_view_order_by.Bug-3465.stable.out
        sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.sql
        sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.out
        sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6423.stable.out
        sql/test/BugTracker-2018/Tests/All
        sql/test/BugTracker-2018/Tests/case_with_orderby_limit.Bug-6512.sql
        
sql/test/BugTracker-2018/Tests/dependency_column_on_sequence.Bug-6618.SQL.py
        
sql/test/BugTracker-2018/Tests/dependency_column_on_sequence.Bug-6618.stable.err
        
sql/test/BugTracker-2018/Tests/dependency_column_on_sequence.Bug-6618.stable.out
        sql/test/BugTracker-2018/Tests/groupby_having_orderby_count.Bug-6624.sql
        
sql/test/BugTracker-2018/Tests/groupby_having_orderby_count.Bug-6624.stable.out
        sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.sql
        sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.out
        sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
        sql/test/BugTracker-2018/Tests/procedure-create-table.Bug-6604.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.stable.out
        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.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out
        sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
        
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128
        sql/test/Tests/identifiers.stable.err
        sql/test/Tests/identifiers.stable.out
        sql/test/Tests/order_by_complex_exp.stable.out
        sql/test/Tests/rank.stable.out
        sql/test/Tests/systemfunctions.stable.out
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/Users/Tests/grantMonetdb.stable.err
        sql/test/Users/Tests/grantMonetdbToSchemaOwner.Bug-3771.stable.err
        sql/test/Users/Tests/grantRole.Bug-3772.stable.err
        sql/test/Users/Tests/renameUser.stable.err
        sql/test/Users/Tests/role.stable.err
        sql/test/Users/Tests/role2.stable.err
        sql/test/Users/Tests/schema.stable.err
        sql/test/bugs/Tests/innerjoin_multiple-bug-sf-943661.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/emptydb/Tests/check.SQL.py
        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/json/Tests/coercions.sql
        sql/test/json/Tests/coercions.stable.out
        sql/test/json/Tests/jsonvalidity.Bug-3753.stable.out
        sql/test/mergetables/Tests/sqlsmith-apply-outer-join-or.sql
        sql/test/order_by_complex_exp.sql
        sql/test/orderidx/Tests/imprints_all_types.stable.out
        sql/test/orderidx/Tests/oidx_all_types.stable.out
        sql/test/orderidx/Tests/simpletable.stable.out
        sql/test/orderidx/Tests/simpletable.stable.out.32bit
        sql/test/orderidx/Tests/smalltable.stable.out
        sql/test/orderidx/Tests/smalltable.stable.out.32bit
        sql/test/pg_regress/Tests/box.stable.out
        sql/test/pg_regress/Tests/oid.sql
        sql/test/pg_regress/Tests/oid.stable.err.32bit
        sql/test/pg_regress/Tests/oid.stable.err.int128
        sql/test/pg_regress/Tests/oid.stable.out
        sql/test/pg_regress/Tests/oid.stable.out.32bit
        sql/test/pg_regress/Tests/path.stable.out
        sql/test/pg_regress/Tests/point.sql
        sql/test/pg_regress/Tests/point.stable.out
        sql/test/pg_regress/Tests/polygon.stable.out
        sql/test/pg_regress/Tests/vacuum.stable.out
        sql/test/pg_regress/Tests/without_oid.stable.out
        sql/test/pg_regress/Tests/without_oid.stable.out.32bit
        sql/test/rank.sql
        sql/test/remote/Tests/ssbm.SQL.py
        sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
        
sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
        sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/dump.stable.out.int128
        sql/test/testdb-upgrade/Tests/dump.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/testdb/Tests/All
        sql/test/wlcr/Tests/wlc01.py
        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/wlr01.py
        sql/test/wlcr/Tests/wlr100.py
        sql/test/wlcr/Tests/wlr20.py
        sql/test/wlcr/Tests/wlr30.py
        sql/test/wlcr/Tests/wlr40.py
        sql/test/wlcr/Tests/wlr50.py
        sql/test/wlcr/Tests/wlr70.py
        testing/malcheck.py
        testing/process.py
        tools/merovingian/client/monetdb.c
        tools/merovingian/daemon/argvcmds.c
        tools/merovingian/daemon/controlrunner.c
        tools/merovingian/daemon/merovingian.c
        tools/merovingian/daemon/merovingian.h
        tools/merovingian/daemon/proxy.c
        tools/mserver/monet_version.c.in
        tools/mserver/mserver5.c
Branch: data-vaults
Log Message:

Merge with default


diffs (truncated from 169606 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -690,7 +690,6 @@ exit 0
 %{_libdir}/monetdb5/lib_generator.so
 %{_libdir}/monetdb5/lib_opt_sql_append.so
 %{_libdir}/monetdb5/lib_udf.so
-%{_libdir}/monetdb5/lib_vault.so
 %doc %{_mandir}/man1/mserver5.1.gz
 %dir %{_datadir}/doc/MonetDB
 %docdir %{_datadir}/doc/MonetDB
@@ -781,7 +780,6 @@ use SQL with MonetDB, you will need to i
 %config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/monetdbd
 %{_libdir}/monetdb5/autoload/??_sql.mal
 %{_libdir}/monetdb5/lib_sql.so
-%{_libdir}/monetdb5/*.sql
 %dir %{_libdir}/monetdb5/createdb
 %if %{with geos}
 %exclude %{_libdir}/monetdb5/createdb/*_geom.sql
diff --git a/NT/Makefile b/NT/Makefile
--- a/NT/Makefile
+++ b/NT/Makefile
@@ -19,7 +19,7 @@ all: _all
 
 !INCLUDE "$(NT)\rules.msc"
 
-_all: update_winconfig_conds_py "$(srcdir)\Makefile.msc" monetdb_config.h 
unistd.h .monetdb
+_all: update_winconfig_conds_py "$(srcdir)\Makefile.msc" monetdb_config.h 
unistd.h .monetdb monetdb_hgversion.h
        $(MAKE) /nologo /f "$(srcdir)\Makefile.msc" "prefix=$(prefix)" 
"bits=$(bits)" all
 
 install: targetdirs all
@@ -34,6 +34,9 @@ install: targetdirs all
 monetdb_config.h: "$(TOPDIR)\winconfig_conds.py" "$(NT)\monetdb_config.h.in"
        $(CONFIGURE) "$(NT)\monetdb_config.h.in" > monetdb_config.h
 
+monetdb_hgversion.h:
+       $(ECHO) #undef MERCURIAL_ID > monetdb_hgversion.h
+
 unistd.h:
        $(ECHO) #ifndef UNISTD_H > unistd.h
        $(ECHO) #define UNISTD_H >> unistd.h
diff --git a/bootstrap b/bootstrap
--- a/bootstrap
+++ b/bootstrap
@@ -62,6 +62,8 @@ aclocal$amv ${_m4_extra_dirs} || exit $?
 autoheader  || exit $?
 automake$amv --add-missing --copy --foreign  || exit $?
 autoconf || exit $?
+# a bit hacky: add dependency on monetdb_hgversion.h for 
common/utils/revision.c
+sed -i~ '/revision.*:/s;$; ../../monetdb_hgversion.h;' common/utils/Makefile.am
 if [ -f buildtools/conf/install-sh -a ! -x buildtools/conf/install-sh ]; then
     chmod +x buildtools/conf/install-sh
 fi
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
@@ -527,12 +527,12 @@ Ready.
 [ "algebra",   "exist",        "command algebra.exist(b:bat[:any_1], 
val:any_1):bit ", "ALGexist;",    "Returns whether 'val' occurs in b."    ]
 [ "algebra",   "fetch",        "command algebra.fetch(b:bat[:any_1], 
x:oid):any_1 ",   "ALGfetchoid;", "Returns the value of the BUN at x-th 
position with 0 <= x < b.count"   ]
 [ "algebra",   "find", "command algebra.find(b:bat[:any_1], t:any_1):oid ",    
"ALGfind;",     "Returns the index position of a value.  If no such BUN exists 
return OID-nil." ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, distinct:bit) (X_0:bat[:oid], X_1:bat[:oid]) ",    "ALGfirstn;",   
"Calculate first N values of B" ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, distinct:bit):bat[:oid] ", "ALGfirstn;",   "Calculate first N values 
of B" ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, distinct:bit) (X_0:bat[:oid], 
X_1:bat[:oid]) ",  "ALGfirstn;",   "Calculate first N values of B with 
candidate list S"   ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, distinct:bit):bat[:oid] ",       
"ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, distinct:bit) (X_0:bat[:oid], X_1:bat[:oid]) ",    
   "ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, distinct:bit):bat[:oid] ",    "ALGfirstn;",   
"Calculate first N values of B with candidate list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, nilslast:bit, distinct:bit) (X_0:bat[:oid], X_1:bat[:oid]) ",      
"ALGfirstn;",   "Calculate first N values of B" ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, nilslast:bit, distinct:bit):bat[:oid] ",   "ALGfirstn;",   "Calculate 
first N values of B" ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit) 
(X_0:bat[:oid], X_1:bat[:oid]) ",    "ALGfirstn;",   "Calculate first N values 
of B with candidate list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit):bat[:oid] 
", "ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit) (X_0:bat[:oid], 
X_1:bat[:oid]) ", "ALGfirstn;",   "Calculate first N values of B with candidate 
list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit):bat[:oid] ",      
"ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
 [ "algebra",   "groupby",      "command algebra.groupby(gids:bat[:oid], 
cnts:bat[:lng]):bat[:oid] ",   "ALGgroupby;",  "Produces a new BAT with groups 
identified by the head column. The result contains tail times the head value, 
ie the tail contains the result group sizes."     ]
 [ "algebra",   "ilike",        "command algebra.ilike(s:str, pat:str):bit ",   
"PCREilike2;",  ""      ]
 [ "algebra",   "ilike",        "command algebra.ilike(s:str, pat:str, 
esc:str):bit ",  "PCREilike3;",  ""      ]
@@ -569,15 +569,15 @@ Ready.
 [ "algebra",   "slice",        "command algebra.slice(b:bat[:any_1], x:int, 
y:int):bat[:any_1] ",      "ALGslice_int;",        "Return the slice with the 
BUNs at position x till y."  ]
 [ "algebra",   "slice",        "command algebra.slice(b:bat[:any_1], x:lng, 
y:lng):bat[:any_1] ",      "ALGslice_lng;",        "Return the slice with the 
BUNs at position x till y."  ]
 [ "algebra",   "slice",        "command algebra.slice(b:bat[:any_1], x:oid, 
y:oid):bat[:any_1] ",      "ALGslice_oid;",        "Return the slice based on 
head oid x till y (exclusive)."      ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
stable:bit):bat[:any_1] ",    "ALGsort11;",   "Returns a copy of the BAT sorted 
on tail values.\n         The input and output are (must be) dense headed.\n    
     The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."        ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",       "ALGsort12;",   "Returns 
a copy of the BAT sorted on tail values and a BAT that\n         specifies how 
the input was reordered.\n         The input and output are (must be) dense 
headed.\n         The order is descending if the reverse bit is set.\n\t\t This 
is a stable sort if the stable bit is set." ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid]) ",        
"ALGsort13;",   "Returns a copy of the BAT sorted on tail values, a BAT that 
specifies\n         how the input was reordered, and a BAT with group 
information.\n         The input and output are (must be) dense headed.\n       
  The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."  ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, stable:bit):bat[:any_1] ",       "ALGsort21;",   "Returns a copy 
of the BAT sorted on tail values.\n         The input and output are (must be) 
dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",  "ALGsort22;",   
"Returns a copy of the BAT sorted on tail values and a BAT that\n         
specifies how the input was reordered.\n         The input and output are (must 
be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set." ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid]) ",   
"ALGsort23;",   "Returns a copy of the BAT sorted on tail values, a BAT that 
specifies\n         how the input was reordered, and a BAT with group 
information.\n         The input and output are (must be) dense headed.\n       
  The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."  ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, stable:bit):bat[:any_1] ",  "ALGsort31;",   "Returns 
a copy of the BAT sorted on tail values.\n         The input and output are 
(must be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",     
"ALGsort32;",   "Returns a copy of the BAT sorted on tail values and a BAT 
that\n         specifies how the input was reordered.\n         The input and 
output are (must be) dense headed.\n         The order is descending if the 
reverse bit is set.\n\t\t This is a stable sort if the stable bit is set." ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], 
X_2:bat[:oid]) ",      "ALGsort33;",   "Returns a copy of the BAT sorted on 
tail values, a BAT that specifies\n         how the input was reordered, and a 
BAT with group information.\n         The input and output are (must be) dense 
headed.\n         The order is descending if the reverse bit is set.\n\t\t This 
is a stable sort if the stable bit is set."  ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
nilslast:bit, stable:bit):bat[:any_1] ",      "ALGsort11;",   "Returns a copy 
of the BAT sorted on tail values.\n         The input and output are (must be) 
dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ", "ALGsort12;",   
"Returns a copy of the BAT sorted on tail values and a BAT that\n         
specifies how the input was reordered.\n         The input and output are (must 
be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set." ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid]) ",  
"ALGsort13;",   "Returns a copy of the BAT sorted on tail values, a BAT that 
specifies\n         how the input was reordered, and a BAT with group 
information.\n         The input and output are (must be) dense headed.\n       
  The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."  ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, nilslast:bit, stable:bit):bat[:any_1] ", "ALGsort21;",   "Returns 
a copy of the BAT sorted on tail values.\n         The input and output are 
(must be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",    
"ALGsort22;",   "Returns a copy of the BAT sorted on tail values and a BAT 
that\n         specifies how the input was reordered.\n         The input and 
output are (must be) dense headed.\n         The order is descending if the 
reverse bit is set.\n\t\t This is a stable sort if the stable bit is set." ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], 
X_2:bat[:oid]) ",     "ALGsort23;",   "Returns a copy of the BAT sorted on tail 
values, a BAT that specifies\n         how the input was reordered, and a BAT 
with group information.\n         The input and output are (must be) dense 
headed.\n         The order is descending if the reverse bit is set.\n\t\t This 
is a stable sort if the stable bit is set."  ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, nilslast:bit, stable:bit):bat[:any_1] ",    
"ALGsort31;",   "Returns a copy of the BAT sorted on tail values.\n         The 
input and output are (must be) dense headed.\n         The order is descending 
if the reverse bit is set.\n\t\t This is a stable sort if the stable bit is 
set."        ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], 
X_1:bat[:oid]) ",       "ALGsort32;",   "Returns a copy of the BAT sorted on 
tail values and a BAT that\n         specifies how the input was reordered.\n   
      The input and output are (must be) dense headed.\n         The order is 
descending if the reverse bit is set.\n\t\t This is a stable sort if the stable 
bit is set." ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], 
X_1:bat[:oid], X_2:bat[:oid]) ",        "ALGsort33;",   "Returns a copy of the 
BAT sorted on tail values, a BAT that specifies\n         how the input was 
reordered, and a BAT with group information.\n         The input and output are 
(must be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."  ]
 [ "algebra",   "subslice",     "command algebra.subslice(b:bat[:any_1], x:lng, 
y:lng):bat[:oid] ",     "ALGsubslice_lng;",     "Return the oids of the slice 
with the BUNs at position x till y."      ]
 [ "algebra",   "thetajoin",    "command algebra.thetajoin(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], op:int, nil_matches:bit, 
estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]) ",   "ALGthetajoin;",        
"Theta join with candidate lists"       ]
 [ "algebra",   "thetaselect",  "command algebra.thetaselect(b:bat[:any_1], 
val:any_1, op:str):bat[:oid] ",     "ALGthetaselect1;",     "Select all head 
values for which the tail value obeys the relation\n\tvalue OP VAL.\n\tInput is 
a dense-headed BAT, output is a dense-headed BAT with in\n\tthe tail the head 
value of the input BAT for which the\n\trelationship holds.  The output BAT is 
sorted on the tail value."        ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -631,12 +631,12 @@ Ready.
 [ "algebra",   "exist",        "command algebra.exist(b:bat[:any_1], 
val:any_1):bit ", "ALGexist;",    "Returns whether 'val' occurs in b."    ]
 [ "algebra",   "fetch",        "command algebra.fetch(b:bat[:any_1], 
x:oid):any_1 ",   "ALGfetchoid;", "Returns the value of the BUN at x-th 
position with 0 <= x < b.count"   ]
 [ "algebra",   "find", "command algebra.find(b:bat[:any_1], t:any_1):oid ",    
"ALGfind;",     "Returns the index position of a value.  If no such BUN exists 
return OID-nil." ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, distinct:bit) (X_0:bat[:oid], X_1:bat[:oid]) ",    "ALGfirstn;",   
"Calculate first N values of B" ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, distinct:bit):bat[:oid] ", "ALGfirstn;",   "Calculate first N values 
of B" ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, distinct:bit) (X_0:bat[:oid], 
X_1:bat[:oid]) ",  "ALGfirstn;",   "Calculate first N values of B with 
candidate list S"   ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, distinct:bit):bat[:oid] ",       
"ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, distinct:bit) (X_0:bat[:oid], X_1:bat[:oid]) ",    
   "ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
-[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, distinct:bit):bat[:oid] ",    "ALGfirstn;",   
"Calculate first N values of B with candidate list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, nilslast:bit, distinct:bit) (X_0:bat[:oid], X_1:bat[:oid]) ",      
"ALGfirstn;",   "Calculate first N values of B" ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], n:lng, 
asc:bit, nilslast:bit, distinct:bit):bat[:oid] ",   "ALGfirstn;",   "Calculate 
first N values of B" ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit) 
(X_0:bat[:oid], X_1:bat[:oid]) ",    "ALGfirstn;",   "Calculate first N values 
of B with candidate list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], g:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit):bat[:oid] 
", "ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit) (X_0:bat[:oid], 
X_1:bat[:oid]) ", "ALGfirstn;",   "Calculate first N values of B with candidate 
list S"   ]
+[ "algebra",   "firstn",       "pattern algebra.firstn(b:bat[:any], 
s:bat[:oid], n:lng, asc:bit, nilslast:bit, distinct:bit):bat[:oid] ",      
"ALGfirstn;",   "Calculate first N values of B with candidate list S"   ]
 [ "algebra",   "groupby",      "command algebra.groupby(gids:bat[:oid], 
cnts:bat[:lng]):bat[:oid] ",   "ALGgroupby;",  "Produces a new BAT with groups 
identified by the head column. The result contains tail times the head value, 
ie the tail contains the result group sizes."     ]
 [ "algebra",   "ilike",        "command algebra.ilike(s:str, pat:str):bit ",   
"PCREilike2;",  ""      ]
 [ "algebra",   "ilike",        "command algebra.ilike(s:str, pat:str, 
esc:str):bit ",  "PCREilike3;",  ""      ]
@@ -673,15 +673,15 @@ Ready.
 [ "algebra",   "slice",        "command algebra.slice(b:bat[:any_1], x:int, 
y:int):bat[:any_1] ",      "ALGslice_int;",        "Return the slice with the 
BUNs at position x till y."  ]
 [ "algebra",   "slice",        "command algebra.slice(b:bat[:any_1], x:lng, 
y:lng):bat[:any_1] ",      "ALGslice_lng;",        "Return the slice with the 
BUNs at position x till y."  ]
 [ "algebra",   "slice",        "command algebra.slice(b:bat[:any_1], x:oid, 
y:oid):bat[:any_1] ",      "ALGslice_oid;",        "Return the slice based on 
head oid x till y (exclusive)."      ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
stable:bit):bat[:any_1] ",    "ALGsort11;",   "Returns a copy of the BAT sorted 
on tail values.\n         The input and output are (must be) dense headed.\n    
     The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."        ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",       "ALGsort12;",   "Returns 
a copy of the BAT sorted on tail values and a BAT that\n         specifies how 
the input was reordered.\n         The input and output are (must be) dense 
headed.\n         The order is descending if the reverse bit is set.\n\t\t This 
is a stable sort if the stable bit is set." ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid]) ",        
"ALGsort13;",   "Returns a copy of the BAT sorted on tail values, a BAT that 
specifies\n         how the input was reordered, and a BAT with group 
information.\n         The input and output are (must be) dense headed.\n       
  The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."  ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, stable:bit):bat[:any_1] ",       "ALGsort21;",   "Returns a copy 
of the BAT sorted on tail values.\n         The input and output are (must be) 
dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",  "ALGsort22;",   
"Returns a copy of the BAT sorted on tail values and a BAT that\n         
specifies how the input was reordered.\n         The input and output are (must 
be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set." ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid]) ",   
"ALGsort23;",   "Returns a copy of the BAT sorted on tail values, a BAT that 
specifies\n         how the input was reordered, and a BAT with group 
information.\n         The input and output are (must be) dense headed.\n       
  The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."  ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, stable:bit):bat[:any_1] ",  "ALGsort31;",   "Returns 
a copy of the BAT sorted on tail values.\n         The input and output are 
(must be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",     
"ALGsort32;",   "Returns a copy of the BAT sorted on tail values and a BAT 
that\n         specifies how the input was reordered.\n         The input and 
output are (must be) dense headed.\n         The order is descending if the 
reverse bit is set.\n\t\t This is a stable sort if the stable bit is set." ]
-[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], 
X_2:bat[:oid]) ",      "ALGsort33;",   "Returns a copy of the BAT sorted on 
tail values, a BAT that specifies\n         how the input was reordered, and a 
BAT with group information.\n         The input and output are (must be) dense 
headed.\n         The order is descending if the reverse bit is set.\n\t\t This 
is a stable sort if the stable bit is set."  ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
nilslast:bit, stable:bit):bat[:any_1] ",      "ALGsort11;",   "Returns a copy 
of the BAT sorted on tail values.\n         The input and output are (must be) 
dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ", "ALGsort12;",   
"Returns a copy of the BAT sorted on tail values and a BAT that\n         
specifies how the input was reordered.\n         The input and output are (must 
be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set." ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], reverse:bit, 
nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], X_2:bat[:oid]) ",  
"ALGsort13;",   "Returns a copy of the BAT sorted on tail values, a BAT that 
specifies\n         how the input was reordered, and a BAT with group 
information.\n         The input and output are (must be) dense headed.\n       
  The order is descending if the reverse bit is set.\n\t\t This is a stable 
sort if the stable bit is set."  ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, nilslast:bit, stable:bit):bat[:any_1] ", "ALGsort21;",   "Returns 
a copy of the BAT sorted on tail values.\n         The input and output are 
(must be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."        ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid]) ",    
"ALGsort22;",   "Returns a copy of the BAT sorted on tail values and a BAT 
that\n         specifies how the input was reordered.\n         The input and 
output are (must be) dense headed.\n         The order is descending if the 
reverse bit is set.\n\t\t This is a stable sort if the stable bit is set." ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], X_1:bat[:oid], 
X_2:bat[:oid]) ",     "ALGsort23;",   "Returns a copy of the BAT sorted on tail 
values, a BAT that specifies\n         how the input was reordered, and a BAT 
with group information.\n         The input and output are (must be) dense 
headed.\n         The order is descending if the reverse bit is set.\n\t\t This 
is a stable sort if the stable bit is set."  ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, nilslast:bit, stable:bit):bat[:any_1] ",    
"ALGsort31;",   "Returns a copy of the BAT sorted on tail values.\n         The 
input and output are (must be) dense headed.\n         The order is descending 
if the reverse bit is set.\n\t\t This is a stable sort if the stable bit is 
set."        ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], 
X_1:bat[:oid]) ",       "ALGsort32;",   "Returns a copy of the BAT sorted on 
tail values and a BAT that\n         specifies how the input was reordered.\n   
      The input and output are (must be) dense headed.\n         The order is 
descending if the reverse bit is set.\n\t\t This is a stable sort if the stable 
bit is set." ]
+[ "algebra",   "sort", "command algebra.sort(b:bat[:any_1], o:bat[:oid], 
g:bat[:oid], reverse:bit, nilslast:bit, stable:bit) (X_0:bat[:any_1], 
X_1:bat[:oid], X_2:bat[:oid]) ",        "ALGsort33;",   "Returns a copy of the 
BAT sorted on tail values, a BAT that specifies\n         how the input was 
reordered, and a BAT with group information.\n         The input and output are 
(must be) dense headed.\n         The order is descending if the reverse bit is 
set.\n\t\t This is a stable sort if the stable bit is set."  ]
 [ "algebra",   "subslice",     "command algebra.subslice(b:bat[:any_1], x:lng, 
y:lng):bat[:oid] ",     "ALGsubslice_lng;",     "Return the oids of the slice 
with the BUNs at position x till y."      ]
 [ "algebra",   "thetajoin",    "command algebra.thetajoin(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], op:int, nil_matches:bit, 
estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]) ",   "ALGthetajoin;",        
"Theta join with candidate lists"       ]
 [ "algebra",   "thetaselect",  "command algebra.thetaselect(b:bat[:any_1], 
val:any_1, op:str):bat[:oid] ",     "ALGthetaselect1;",     "Select all head 
values for which the tail value obeys the relation\n\tvalue OP VAL.\n\tInput is 
a dense-headed BAT, output is a dense-headed BAT with in\n\tthe tail the head 
value of the input BAT for which the\n\trelationship holds.  The output BAT is 
sorted on the tail value."        ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -8,13 +8,13 @@ stdout of test 'exports` in directory 'c
 # gdk
 int ALIGNsynced(BAT *b1, BAT *b2);
 int ATOMallocate(const char *nme);
-ptr ATOMdup(int id, const void *val);
+void *ATOMdup(int id, const void *val);
 bte ATOMelmshift(int sz);
 char *ATOMformat(int id, const void *val);
 int ATOMindex(const char *nme);
 size_t ATOMlen(int id, const void *v);
 str ATOMname(int id);
-ptr ATOMnil(int id);
+void *ATOMnil(int id);
 int ATOMprint(int id, const void *val, stream *fd);
 gdk_return BATappend(BAT *b, BAT *n, BAT *s, bool force) 
__attribute__((__warn_unused_result__));
 void BATassertProps(BAT *b);
@@ -116,7 +116,7 @@ BAT *BATdense(oid hseq, oid tseq, BUN cn
 BAT *BATdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate);
 gdk_return BATextend(BAT *b, BUN newcap) 
__attribute__((__warn_unused_result__));
 void BATfakeCommit(BAT *b);
-gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps, 
BUN n, bool asc, bool distinct) __attribute__((__warn_unused_result__));
+gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps, 
BUN n, bool asc, bool nilslast, bool distinct) 
__attribute__((__warn_unused_result__));
 int BATgetaccess(BAT *b);
 PROPrec *BATgetprop(BAT *b, enum prop_t idx);
 gdk_return BATgroup(BAT **groups, BAT **extents, BAT **histo, BAT *b, BAT *s, 
BAT *g, BAT *e, BAT *h) __attribute__((__warn_unused_result__));
@@ -172,7 +172,7 @@ void BATsetcapacity(BAT *b, BUN cnt);
 void BATsetcount(BAT *b, BUN cnt);
 void BATsetprop(BAT *b, enum prop_t idx, int type, const void *v);
 BAT *BATslice(BAT *b, BUN low, BUN high);
-gdk_return BATsort(BAT **sorted, BAT **order, BAT **groups, BAT *b, BAT *o, 
BAT *g, bool reverse, bool stable) __attribute__((__warn_unused_result__));
+gdk_return BATsort(BAT **sorted, BAT **order, BAT **groups, BAT *b, BAT *o, 
BAT *g, bool reverse, bool nilslast, bool stable) 
__attribute__((__warn_unused_result__));
 gdk_return BATstr_group_concat(ValPtr res, BAT *b, BAT *s, bool skip_nils, 
bool abort_on_error, bool nil_if_empty, const char *separator);
 gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr) 
__attribute__((__warn_unused_result__));
 gdk_return BATsum(void *res, int tp, BAT *b, BAT *s, bool skip_nils, bool 
abort_on_error, bool nil_if_empty);
@@ -258,8 +258,7 @@ gdk_return GDKmmapfile(str buffer, size_
 int GDKms(void);
 int GDKnr_threads;
 void GDKprepareExit(void);
-void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, 
size_t n, int hs, int ts, int tpe);
-void GDKqsort_rev(void *restrict h, void *restrict t, const void *restrict 
base, size_t n, int hs, int ts, int tpe);
+void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, 
size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast);
 void *GDKrealloc(void *pold, size_t size) __attribute__((__alloc_size__(2))) 
__attribute__((__warn_unused_result__));
 void GDKregister(MT_Id pid);
 gdk_return GDKreleasemmap(void *ptr, size_t size, size_t id, str *msg);
@@ -302,8 +301,8 @@ int MT_munmap(void *p, size_t len);
 int MT_path_absolute(const char *path);
 void MT_sleep_ms(unsigned int ms);
 void OIDXdestroy(BAT *b);
-ssize_t OIDfromStr(const char *src, size_t *len, oid **dst);
-ssize_t OIDtoStr(str *dst, size_t *len, const oid *src);
+ssize_t OIDfromStr(const char *src, size_t *len, oid **dst, bool external);
+ssize_t OIDtoStr(str *dst, size_t *len, const oid *src, bool external);
 BUN ORDERfnd(BAT *b, const void *v);
 BUN ORDERfndfirst(BAT *b, const void *v);
 BUN ORDERfndlast(BAT *b, const void *v);
@@ -319,21 +318,21 @@ int THRgettid(void);
 int THRhighwater(void);
 Thread THRnew(const char *name);
 int THRprintf(stream *s, _In_z_ _Printf_format_string_ const char *format, 
...) __attribute__((__format__(__printf__, 2, 3)));
-void THRsetdata(int, ptr);
+void THRsetdata(int, void *);
 void TMabort(void);
 gdk_return TMcommit(void);
 gdk_return TMsubcommit(BAT *bl);
 gdk_return TMsubcommit_list(bat *subcommit, int cnt);
 void VALclear(ValPtr v);
 int VALcmp(const ValRecord *p, const ValRecord *q);
-ptr VALconvert(int typ, ValPtr t);
+void *VALconvert(int typ, ValPtr t);
 ValPtr VALcopy(ValPtr dst, const ValRecord *src);
 void VALempty(ValPtr v);
 char *VALformat(const ValRecord *res);
 void *VALget(ValPtr v);
 ValPtr VALinit(ValPtr d, int tpe, const void *s);
 int VALisnil(const ValRecord *v);
-ValPtr VALset(ValPtr v, int t, ptr p);
+ValPtr VALset(ValPtr v, int t, void *p);
 gdk_return VARcalcabsolute(ValPtr ret, const ValRecord *v);
 gdk_return VARcalcadd(ValPtr ret, const ValRecord *lft, const ValRecord *rgt, 
bool abort_on_error);
 gdk_return VARcalcand(ValPtr ret, const ValRecord *lft, const ValRecord *rgt);
@@ -368,16 +367,16 @@ size_t _MT_npages;
 size_t _MT_pagesize;
 const union _dbl_nil_t _dbl_nil_;
 const union _flt_nil_t _flt_nil_;
-ssize_t batFromStr(const char *src, size_t *len, bat **dst);
-ssize_t batToStr(str *dst, size_t *len, const bat *src);
-ssize_t bitFromStr(const char *src, size_t *len, bit **dst);
-ssize_t bitToStr(str *dst, size_t *len, const bit *src);
-ssize_t bteFromStr(const char *src, size_t *len, bte **dst);
-ssize_t bteToStr(str *dst, size_t *len, const bte *src);
+ssize_t batFromStr(const char *src, size_t *len, bat **dst, bool external);
+ssize_t batToStr(str *dst, size_t *len, const bat *src, bool external);
+ssize_t bitFromStr(const char *src, size_t *len, bit **dst, bool external);
+ssize_t bitToStr(str *dst, size_t *len, const bit *src, bool external);
+ssize_t bteFromStr(const char *src, size_t *len, bte **dst, bool external);
+ssize_t bteToStr(str *dst, size_t *len, const bte *src, bool external);
 const bte bte_nil;
 int closedir(DIR *dir);
-ssize_t dblFromStr(const char *src, size_t *len, dbl **dst);
-ssize_t dblToStr(str *dst, size_t *len, const dbl *src);
+ssize_t dblFromStr(const char *src, size_t *len, dbl **dst, bool external);
+ssize_t dblToStr(str *dst, size_t *len, const dbl *src, bool external);
 const dbl dbl_nil;
 char *dirname(char *path);
 int dlclose(void *handle);
@@ -386,8 +385,8 @@ void *dlopen(const char *file, int mode)
 void *dlsym(void *handle, const char *name);
 size_t escapedStr(char *restrict dst, const char *restrict src, size_t dstlen, 
const char *sep1, const char *sep2, int quote);
 size_t escapedStrlen(const char *restrict src, const char *sep1, const char 
*sep2, int quote);
-ssize_t fltFromStr(const char *src, size_t *len, flt **dst);
-ssize_t fltToStr(str *dst, size_t *len, const flt *src);
+ssize_t fltFromStr(const char *src, size_t *len, flt **dst, bool external);
+ssize_t fltToStr(str *dst, size_t *len, const flt *src, bool external);
 const flt flt_nil;
 geomcatalogfix_fptr geomcatalogfix_get(void);
 void geomcatalogfix_set(geomcatalogfix_fptr);
@@ -398,14 +397,14 @@ void geomversion_set(void);
 bat getBBPsize(void);
 char *get_bin_path(void);
 int gettimeofday(struct timeval *tv, int *ignore_zone);
-ssize_t hgeFromStr(const char *src, size_t *len, hge **dst);
-ssize_t hgeToStr(str *dst, size_t *len, const hge *src);
+ssize_t hgeFromStr(const char *src, size_t *len, hge **dst, bool external);
+ssize_t hgeToStr(str *dst, size_t *len, const hge *src, bool external);
 const hge hge_nil;
-ssize_t intFromStr(const char *src, size_t *len, int **dst);
-ssize_t intToStr(str *dst, size_t *len, const int *src);
+ssize_t intFromStr(const char *src, size_t *len, int **dst, bool external);
+ssize_t intToStr(str *dst, size_t *len, const int *src, bool external);
 const int int_nil;
-ssize_t lngFromStr(const char *src, size_t *len, lng **dst);
-ssize_t lngToStr(str *dst, size_t *len, const lng *src);
+ssize_t lngFromStr(const char *src, size_t *len, lng **dst, bool external);
+ssize_t lngToStr(str *dst, size_t *len, const lng *src, bool external);
 const lng lng_nil;
 gdk_return log_abort(logger *lg);
 gdk_return log_bat(logger *lg, BAT *b, const char *n, char tpe, oid id);
@@ -431,6 +430,7 @@ int logger_sequence(logger *lg, int seq,
 gdk_return logger_upgrade_bat(logger *lg, const char *name, char tpe, oid id) 
__attribute__((__warn_unused_result__));
 void logger_with_ids(logger *lg);
 void *mdlopen(const char *library, int mode);
+const char *mercurial_revision(void);
 int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, 
const char *value);
 int mo_builtin_settings(opt **Set);
 char *mo_find_option(opt *set, int setlen, const char *name);
@@ -453,15 +453,15 @@ void pthread_sema_init(pthread_sema_t *s
 void pthread_sema_init(pthread_sema_t *s, int flag, int nresources);
 void pthread_sema_up(pthread_sema_t *s);
 void pthread_sema_up(pthread_sema_t *s);
-ssize_t ptrFromStr(const char *src, size_t *len, ptr **dst);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to