Changeset: 991605ed6c0c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=991605ed6c0c Added Files: common/utils/mstring.h sql/backends/monet5/sql_session.c sql/backends/monet5/sql_session.h sql/backends/monet5/sql_session.mal sql/benchmarks/arno/Tests/inserts.options5 sql/benchmarks/arno/Tests/inserts.reqtests sql/benchmarks/arno/Tests/inserts.sql.src sql/benchmarks/arno/Tests/inserts.stable.err sql/benchmarks/arno/Tests/inserts.stable.out sql/benchmarks/arno/inserts.sql sql/benchmarks/arno_flt/inserts.flt.sql sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.err sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.out sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.sql sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.stable.err sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.stable.out sql/test/BugTracker-2017/Tests/heapextend.Bug-6134.stable.err sql/test/BugTracker-2017/Tests/heapextend.Bug-6134.stable.out sql/test/BugTracker-2019/Tests/avg-changes-value-scale.Bug-6783.sql sql/test/BugTracker-2019/Tests/avg-changes-value-scale.Bug-6783.stable.err sql/test/BugTracker-2019/Tests/avg-changes-value-scale.Bug-6783.stable.out sql/test/BugTracker-2019/Tests/index-insert-crash.Bug-6781.sql sql/test/BugTracker-2019/Tests/index-insert-crash.Bug-6781.stable.err sql/test/BugTracker-2019/Tests/index-insert-crash.Bug-6781.stable.out sql/test/BugTracker-2019/Tests/isaUUID.Bug-6784.sql sql/test/BugTracker-2019/Tests/isaUUID.Bug-6784.stable.err sql/test/BugTracker-2019/Tests/isaUUID.Bug-6784.stable.out sql/test/Users/Tests/sessioncontrol.sql sql/test/Users/Tests/sessioncontrol.stable.err sql/test/Users/Tests/sessioncontrol.stable.out Removed Files: clients/mapiclient/mnc.c sql/benchmarks/arno/Tests/insert_ATOM.options5 sql/benchmarks/arno/Tests/insert_ATOM.reqtests sql/benchmarks/arno/Tests/insert_ATOM.sql.src sql/benchmarks/arno/Tests/insert_ATOM.stable.err sql/benchmarks/arno/Tests/insert_ATOM.stable.out sql/benchmarks/arno/Tests/insert_BOND.options5 sql/benchmarks/arno/Tests/insert_BOND.reqtests sql/benchmarks/arno/Tests/insert_BOND.sql.src sql/benchmarks/arno/Tests/insert_BOND.stable.err sql/benchmarks/arno/Tests/insert_BOND.stable.out sql/benchmarks/arno/Tests/insert_MODEL.reqtests sql/benchmarks/arno/Tests/insert_MODEL.sql.src sql/benchmarks/arno/Tests/insert_MODEL.stable.err sql/benchmarks/arno/Tests/insert_MODEL.stable.out sql/benchmarks/arno/insert_ATOM.int.sql sql/benchmarks/arno/insert_BOND.int.sql sql/benchmarks/arno/insert_MODEL.int.sql sql/benchmarks/arno_flt/insert_ATOM.flt.sql sql/benchmarks/arno_flt/insert_BOND.flt.sql sql/benchmarks/arno_flt/insert_MODEL.flt.sql sql/test/BugTracker-2016/Tests/consolidated_table.Bug-3954.sql sql/test/BugTracker-2016/Tests/set-negative-querytimeout.Bug-6070.sql 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/multiplevalues.Bug-6336.sql sql/test/VOC/VOCcreate_user.sql sql/test/VOC/VOCdrop.sql sql/test/VOC/VOCdrop_user.sql sql/test/VOC/VOCinsert.sql sql/test/VOC/VOCmanual_examples.sql sql/test/VOC/VOCquery.sql sql/test/datacell/Tests/All sql/test/datacell/Tests/crashonundefined.sql sql/test/datacell/Tests/crashonundefined.stable.err sql/test/datacell/Tests/crashonundefined.stable.out sql/test/datacell/Tests/garbagecollect.sql sql/test/datacell/Tests/garbagecollect.stable.err sql/test/datacell/Tests/garbagecollect.stable.out sql/test/datacell/Tests/select.sql sql/test/datacell/Tests/select.stable.err sql/test/datacell/Tests/select.stable.out sql/test/datacell/Tests/topbasket.sql sql/test/datacell/Tests/topbasket.stable.err sql/test/datacell/Tests/topbasket.stable.out sql/test/miscellaneous/README sql/test/miscellaneous/Tests/now.sql sql/test/miscellaneous/Tests/now.stable.err Modified Files: .hgignore ChangeLog NT/Makefile NT/mkodbcwxs.py NT/mksqlwxs.py NT/monetdb_config.h.in NT/rules.msc buildtools/autogen/autogen/am.py buildtools/autogen/autogen/codegen.py buildtools/autogen/autogen/filesplit.py buildtools/autogen/autogen/msc.py buildtools/conf/rules.mk clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/examples/C/Makefile.ag clients/mapiclient/Makefile.ag clients/mapiclient/dump.c clients/mapiclient/mhelp.c clients/mapiclient/msqldump.c clients/mapiclient/tomograph.c clients/mapilib/Makefile.ag clients/mapilib/mapi.c clients/odbc/driver/Makefile.ag clients/odbc/driver/ODBCError.c clients/odbc/driver/ODBCGlobal.h clients/odbc/driver/ODBCUtil.c clients/odbc/driver/ODBCUtil.h clients/odbc/driver/SQLBrowseConnect.c clients/odbc/driver/SQLConnect.c clients/odbc/driver/SQLDriverConnect.c clients/odbc/driver/SQLGetDiagField.c clients/odbc/driver/SQLGetDiagRec.c clients/odbc/setup/Makefile.ag clients/odbc/setup/drvcfg.c clients/odbc/winsetup/Makefile.ag common/stream/stream.c common/utils/Makefile.ag common/utils/msabaoth.c common/utils/msabaoth.h common/utils/mutils.c configure.ag gdk/ChangeLog.Apr2019 gdk/ChangeLog.Nov2019 gdk/gdk.h gdk/gdk_align.c gdk/gdk_analytic_bounds.c gdk/gdk_analytic_func.c gdk/gdk_atoms.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_cand.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_orderidx.c gdk/gdk_posix.c gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_string.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_utils.c geom/monetdb5/geom.c monetdb5/ChangeLog monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/mal/Tests/performanceTests/run monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_atom.c 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_function.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_module.c monetdb5/mal/mal_private.h monetdb5/mal/mal_profiler.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_resource.c monetdb5/mal/mal_resource.h monetdb5/mal/mal_runtime.c monetdb5/mal/mal_runtime.h monetdb5/mal/mal_session.c monetdb5/modules/atoms/00_json_hge.mal monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime_analytic.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/strptime.c monetdb5/modules/atoms/url.c monetdb5/modules/atoms/uuid.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/kernel/group.c monetdb5/modules/kernel/group.h monetdb5/modules/kernel/group.mal monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.h monetdb5/modules/mal/clients.mal monetdb5/modules/mal/profiler.c monetdb5/modules/mal/profiler.mal monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/sysmon.mal monetdb5/optimizer/opt_deadcode.c monetdb5/optimizer/opt_garbageCollector.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_postfix.c monetdb5/optimizer/opt_profiler.c monetdb5/optimizer/opt_wrapper.c sql/ChangeLog.Nov2019 sql/NT/dump-restore.rst sql/backends/monet5/Makefile.ag sql/backends/monet5/UDF/pyapi/pyapi.c sql/backends/monet5/rel_bin.c 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_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/vaults/bam/bam_wrapper.c sql/benchmarks/ATIS/Tests/load.stable.out sql/benchmarks/ATIS/load.sql sql/benchmarks/arno/Tests/01.reqtests sql/benchmarks/arno/Tests/02.reqtests sql/benchmarks/arno/Tests/03.reqtests sql/benchmarks/arno/Tests/04.reqtests sql/benchmarks/arno/Tests/05.reqtests sql/benchmarks/arno/Tests/06.reqtests sql/benchmarks/arno/Tests/07.reqtests sql/benchmarks/arno/Tests/08.reqtests sql/benchmarks/arno/Tests/09.reqtests sql/benchmarks/arno/Tests/10.reqtests sql/benchmarks/arno/Tests/11.reqtests sql/benchmarks/arno/Tests/12.reqtests sql/benchmarks/arno/Tests/13.reqtests sql/benchmarks/arno/Tests/14.reqtests sql/benchmarks/arno/Tests/15.reqtests sql/benchmarks/arno/Tests/16.reqtests sql/benchmarks/arno/Tests/17.reqtests sql/benchmarks/arno/Tests/18.reqtests sql/benchmarks/arno/Tests/19.reqtests sql/benchmarks/arno/Tests/20.reqtests sql/benchmarks/arno/Tests/21.reqtests sql/benchmarks/arno/Tests/22.reqtests sql/benchmarks/arno/Tests/23.reqtests sql/benchmarks/arno/Tests/24.reqtests sql/benchmarks/arno/Tests/25.reqtests sql/benchmarks/arno/Tests/26.reqtests sql/benchmarks/arno/Tests/27.reqtests sql/benchmarks/arno/Tests/28.reqtests sql/benchmarks/arno/Tests/29.reqtests sql/benchmarks/arno/Tests/30.reqtests sql/benchmarks/arno/Tests/31.reqtests sql/benchmarks/arno/Tests/32.reqtests sql/benchmarks/arno/Tests/33.reqtests sql/benchmarks/arno/Tests/34.reqtests sql/benchmarks/arno/Tests/35.reqtests sql/benchmarks/arno/Tests/36.reqtests sql/benchmarks/arno/Tests/37.reqtests sql/benchmarks/arno/Tests/38.reqtests sql/benchmarks/arno/Tests/39.reqtests sql/benchmarks/arno/Tests/40.reqtests sql/benchmarks/arno/Tests/41.reqtests sql/benchmarks/arno/Tests/42.reqtests sql/benchmarks/arno/Tests/43.reqtests sql/benchmarks/arno/Tests/44.reqtests sql/benchmarks/arno/Tests/45.reqtests sql/benchmarks/arno/Tests/46.reqtests sql/benchmarks/arno/Tests/47.reqtests sql/benchmarks/arno/Tests/48.reqtests sql/benchmarks/arno/Tests/49.reqtests sql/benchmarks/arno/Tests/50.reqtests sql/benchmarks/arno/Tests/51.reqtests sql/benchmarks/arno/Tests/52.reqtests sql/benchmarks/arno/Tests/53.reqtests sql/benchmarks/arno/Tests/54.reqtests sql/benchmarks/arno/Tests/55.reqtests sql/benchmarks/arno/Tests/56.reqtests sql/benchmarks/arno/Tests/57.reqtests sql/benchmarks/arno/Tests/58.reqtests sql/benchmarks/arno/Tests/59.reqtests sql/benchmarks/arno/Tests/60.reqtests sql/benchmarks/arno/Tests/61.reqtests sql/benchmarks/arno/Tests/62.reqtests sql/benchmarks/arno/Tests/63.reqtests sql/benchmarks/arno/Tests/64.reqtests sql/benchmarks/arno/Tests/65.reqtests sql/benchmarks/arno/Tests/66.reqtests sql/benchmarks/arno/Tests/67.reqtests sql/benchmarks/arno/Tests/68.reqtests sql/benchmarks/arno/Tests/69.reqtests sql/benchmarks/arno/Tests/70.reqtests sql/benchmarks/arno/Tests/71.reqtests sql/benchmarks/arno/Tests/72.reqtests sql/benchmarks/arno/Tests/73.reqtests sql/benchmarks/arno/Tests/74.reqtests sql/benchmarks/arno/Tests/75.reqtests sql/benchmarks/arno/Tests/76.reqtests sql/benchmarks/arno/Tests/77.reqtests sql/benchmarks/arno/Tests/78.reqtests sql/benchmarks/arno/Tests/79.reqtests sql/benchmarks/arno/Tests/80.reqtests sql/benchmarks/arno/Tests/81.reqtests sql/benchmarks/arno/Tests/82.reqtests sql/benchmarks/arno/Tests/83.reqtests sql/benchmarks/arno/Tests/84.reqtests sql/benchmarks/arno/Tests/85.reqtests sql/benchmarks/arno/Tests/86.reqtests sql/benchmarks/arno/Tests/87.reqtests sql/benchmarks/arno/Tests/88.reqtests sql/benchmarks/arno/Tests/89.reqtests sql/benchmarks/arno/Tests/90.reqtests sql/benchmarks/arno/Tests/91.reqtests sql/benchmarks/arno/Tests/All sql/benchmarks/arno/Tests/check1.reqtests sql/benchmarks/arno/Tests/create.stable.out sql/benchmarks/arno/Tests/queries_depth2.reqtests sql/benchmarks/arno/run.all sql/benchmarks/arno_flt/Tests/init.SQL.bat sql/benchmarks/arno_flt/Tests/init.SQL.sh sql/benchmarks/arno_flt/Tests/init.stable.out sql/benchmarks/arno_flt/doCreateDB sql/benchmarks/arno_flt/run.all sql/benchmarks/moa/Tests/load.stable.out sql/benchmarks/moa/load1.sql sql/common/sql_types.c sql/include/sql_catalog.h sql/include/sql_mem.h sql/jdbc/tests/Tests/All sql/rel.txt sql/scripts/22_clients.sql sql/scripts/26_sysmon.sql sql/scripts/39_analytics.sql sql/scripts/40_json.sql sql/scripts/Makefile.ag sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_partition.c sql/server/rel_propagate.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/rel_updates.h sql/server/sql_parser.y sql/server/sql_partition.c sql/server/sql_scan.c sql/storage/store.c sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.stable.err sql/test/BugTracker-2012/Tests/create_function.Bug-3172.sql sql/test/BugTracker-2012/Tests/create_function.Bug-3172.stable.err sql/test/BugTracker-2012/Tests/create_function.Bug-3172.stable.out sql/test/BugTracker-2012/Tests/table_function_with_column_subselects.Bug-3172.sql sql/test/BugTracker-2012/Tests/table_function_with_column_subselects.Bug-3172.stable.err sql/test/BugTracker-2013/Tests/pivot.Bug-3339.stable.err sql/test/BugTracker-2014/Tests/All sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2016/Tests/All sql/test/BugTracker-2016/Tests/CREATE_INDEX_breaks_table_queries.Bug-4053.stable.out sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/BugTracker-2016/Tests/trigger_bulk.Bug-4045.stable.err sql/test/BugTracker-2017/Tests/All sql/test/BugTracker-2017/Tests/complicated_logic.Bug-105.stable.out sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out sql/test/BugTracker-2017/Tests/heapextend.Bug-6134.sql.in sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out.single sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6219.stable.out sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6432.stable.err sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6432.stable.out sql/test/BugTracker-2017/Tests/sqlsmith04.stable.out sql/test/BugTracker-2019/Tests/All sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.out sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql sql/test/BugTracker-2019/Tests/prepare-types.Bug-6724.stable.out sql/test/BugTracker-2019/Tests/rank-nan.Bug-6780.sql sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.out sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/Tests/keys.sql sql/test/Tests/keys.stable.out sql/test/Tests/setoptimizer.stable.out sql/test/Tests/truncate-statements-extra.sql sql/test/Tests/truncate-statements-extra.stable.out sql/test/Triggers/Tests/All sql/test/Triggers/trigger_action.sql sql/test/Users/Tests/All sql/test/VOC/Tests/VOC.SQL.py sql/test/VOC/Tests/VOC.stable.out sql/test/VOC/Tests/double_is_null.Bug-3116.sql sql/test/VOC/Tests/median.Bug-3096.sql sql/test/VOC/VOCschema.sql sql/test/copy/Tests/nonutf8.stable.err 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/mergetables/Tests/mergequery.stable.out sql/test/miscellaneous/Tests/All sql/test/miscellaneous/Tests/alter_table_add_column.sql sql/test/miscellaneous/Tests/alter_table_add_column.stable.out sql/test/miscellaneous/Tests/select_groupby.sql sql/test/miscellaneous/Tests/select_groupby.stable.err sql/test/miscellaneous/Tests/select_groupby.stable.out sql/test/miscellaneous/Tests/view-mul-digits.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/remote/Tests/partition_elim.stable.out sql/test/sql_xml/Tests/funcs.sql sql/test/subquery/Tests/correlated.stable.err 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.sql sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 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/xquery/Tests/create.sql sql/test/xquery/Tests/drop.sql testing/Mtest.py.in testing/exportutils.py testing/malcheck.py tools/merovingian/ChangeLog.Apr2019 tools/merovingian/ChangeLog.Nov2019 tools/merovingian/client/monetdb.c tools/merovingian/daemon/argvcmds.c 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/forkmserver.h tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/proxy.c tools/merovingian/utils/control.c tools/merovingian/utils/database.c Branch: grouping-analytics Log Message:
Merge with default diffs (truncated from 465203 to 300 lines): diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -49,7 +49,6 @@ sql/backends/monet5/UDF/capi/cheader.tex .#* # files generated by compilers -lex.yy.c *.tab.c *.tab.h .libs diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -2,13 +2,14 @@ # This file is updated with Maddlog * Fri Oct 25 2019 Joeri van Ruth <joeri.van.r...@monetdbsolutions.com> -- Added SQL function sql.hot_snapshot() which can be used to make write +- Added SQL function sys.hot_snapshot() which can be used to write a snapshot of the database to a tar file. For example, sys.hot_snapshot('/tmp/snapshot.tar'). If compression support is compiled in, snapshots can also be compressed ('/tmp/snapshot.tar.gz'). The tar file expands to a single directory with the same name as the database that was snapshotted. This directory can be passed directly - as the --dbpath argument of mserver5. + as the --dbpath argument of mserver5 or it can be copied into an + existing dbfarm and started from monetdbd. * Sat Oct 12 2019 Martin Kersten <m...@cwi.nl> - The MAL profiler now assigns the SQL TRACE output to the client record diff --git a/NT/Makefile b/NT/Makefile --- a/NT/Makefile +++ b/NT/Makefile @@ -25,6 +25,8 @@ all: _all install: targetdirs all $(MAKE) /nologo /f "$(srcdir)\Makefile.msc" "prefix=$(prefix)" "bits=$(bits)" install $(INSTALL) .monetdb "$(sysconfdir)" + +makewxs: $(PYTHON) $(NT)\mksqlwxs.py $(VERSION) "$(MAKE_INCLUDEFILE)" "$(prefix)" > "$(prefix)\MonetDB5-SQL-Installer.wxs" $(PYTHON) $(NT)\mkodbcwxs.py $(VERSION) "$(MAKE_INCLUDEFILE)" "$(prefix)" > "$(prefix)\MonetDB-ODBC-Installer.wxs" diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py --- a/NT/mkodbcwxs.py +++ b/NT/mkodbcwxs.py @@ -55,16 +55,13 @@ 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 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'))): - if msm in f: - fn = f - print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn)) - else: - print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch)) + 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'))): + if msm in f: + fn = f + print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn)) print(r' <Directory Id="%s">' % folder) print(r' <Directory Id="ProgramFilesMonetDB" Name="MonetDB">') print(r' <Directory Id="INSTALLDIR" Name="MonetDB ODBC Driver">') diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -114,16 +114,13 @@ 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 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'))): - if msm in f: - fn = f - print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn)) - else: - print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch)) + 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'))): + if msm in f: + fn = f + print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn)) print(r' <Directory Id="%s">' % folder) print(r' <Directory Id="ProgramFilesMonetDB" Name="MonetDB">') print(r' <Directory Id="INSTALLDIR" Name="MonetDB5">') diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in --- a/NT/monetdb_config.h.in +++ b/NT/monetdb_config.h.in @@ -508,9 +508,6 @@ /* Define to 1 if you have the <sys/stat.h> header file. */ #define HAVE_SYS_STAT_H 1 -/* Define to 1 if you have the <sys/sysctl.h> header file. */ -/* #undef HAVE_SYS_SYSCTL_H */ - /* Define to 1 if you have the <sys/times.h> header file. */ /* #undef HAVE_SYS_TIMES_H */ diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -186,8 +186,7 @@ libpy3_CFLAGS = -DHAVE_LIBPY3 "-I$(PYTHO # PYTHON may be either a version 2 or a version 3 # here we let %Path% determine which version we get PYTHON = python -YACC = bison -LEX = flex +BISON = bison ARCHIVER = lib /nologo GENDLL = diff --git a/buildtools/autogen/autogen/am.py b/buildtools/autogen/autogen/am.py --- a/buildtools/autogen/autogen/am.py +++ b/buildtools/autogen/autogen/am.py @@ -19,7 +19,7 @@ from filesplit import split_filename, rs # buildtools/conf. The generated sources should therefore be included # in the tar ball and not be removed with `make distclean' when # running "in" said tar ball. -buildtools_ext = ['brg', 'l', 'pm.i', 'syms', 't', 'y'] +buildtools_ext = ['syms', 'y'] am_assign = "+=" @@ -150,6 +150,8 @@ def am_find_srcs(target, deps, am, cond) am['CLEAN'].append(pf) b, ext = split_filename(pf) if ext in automake_ext: + if ext in ['tab.c', 'tab.h']: + dist = True return dist, pf return dist, "" @@ -563,7 +565,7 @@ def am_binary(fd, var, binmap, am): if ext in scripts_ext: if target not in SCRIPTS: SCRIPTS.append(target) - elif ext in ('o', 'glue.o', 'tab.o', 'yy.o'): + elif ext in ('o', 'tab.o'): dist, src = am_find_srcs(target, binmap['DEPS'], am, cond) if src in binmap['SOURCES']: dist = True diff --git a/buildtools/autogen/autogen/codegen.py b/buildtools/autogen/autogen/codegen.py --- a/buildtools/autogen/autogen/codegen.py +++ b/buildtools/autogen/autogen/codegen.py @@ -21,25 +21,15 @@ from filesplit import split_filename # direct rules code_gen = {'y': [ '.tab.c', '.tab.h' ], 'tab.c': [ '.tab.o' ], - 'l': [ '.yy.c', '.yy.h' ], - 'yy.c': [ '.yy.o' ], 'mt': [ '.symbols.h', '.c' ], - 'brg': [ '.c' ], 't': [ '.c' ], 'c': [ '.o' ], - 'cpp': [ '.o' ], -# 'java': [ '.class' ], - #'tex': [ '.html', '.dvi', '.pdf' ], - #'dvi': [ '.ps' ], - #'fig': [ '.eps' ], - #'feps': [ '.eps' ], 'in': [ '' ], '1.in': [ '.1' ], # TODO: add more manpage sections as needed 'cfg.in': [ '.cfg' ], 'java.in': [ '.java' ], 'mal.in': [ '.mal' ], 'py.in': [ '.py' ], - 'pl.in': [ '.pl' ], 'bat.in': [ '.bat' ], 'mt.sed': [ '.mt' ], 'c.sed': [ '.c' ], @@ -69,15 +59,8 @@ t_inc = re.compile(t_inc, re.MULTILINE) scan_map = { 'c': [ c_inc, None, '' ], - 'cpp': [ c_inc, None, '' ], 'h': [ c_inc, None, '' ], 'y': [ c_inc, None, '' ], - 'l': [ c_inc, None, '' ], - 'mt': [ c_inc, None, '' ], - 'brg': [ c_inc, None, '' ], - 't': [ t_inc, None, '' ], - 'xsl': [ xsl_inc, None, '' ], - 'tex': [ tex_inc, None, '' ], } def readfile(f): diff --git a/buildtools/autogen/autogen/filesplit.py b/buildtools/autogen/autogen/filesplit.py --- a/buildtools/autogen/autogen/filesplit.py +++ b/buildtools/autogen/autogen/filesplit.py @@ -13,7 +13,7 @@ def rsplit_filename(f): return f[:s], f[s+1:] return base, ext -automake_ext = ['', 'c', 'cpp', 'def', 'h', 'lo', 'o', 'pm.c', 'tab.c', 'tab.h', 'yy.c', 'pm.i'] +automake_ext = set(['', 'c', 'def', 'h', 'lo', 'o', 'tab.c', 'tab.h']) automake_extra_extensions = set([rsplit_filename(x)[1] for x in automake_ext if '.' in x]) extra_extensions = ['in', 'bat', 'sed'] diff --git a/buildtools/autogen/autogen/msc.py b/buildtools/autogen/autogen/msc.py --- a/buildtools/autogen/autogen/msc.py +++ b/buildtools/autogen/autogen/msc.py @@ -326,22 +326,21 @@ def msc_dep(fd, tar, deplist, msc): fd.write(getsrc) x, de = split_filename(deplist[0]) of = b + '.' + de - fd.write('\t$(YACC) $(YFLAGS) $(AM_YFLAGS) "%s"\n' % of) + fd.write('\t$(BISON) -o %s.tmpc.c --defines=%s.tab.h $(YFLAGS) $(AM_YFLAGS) %s\n' % (b, b, of)) + fd.write('\trm -f %s.tmpc.c\n' % b) elif ext == "tab.c": fd.write(getsrc) x, de = split_filename(deplist[0]) of = b + '.' + de - fd.write('\t$(YACC) $(YFLAGS) $(AM_YFLAGS) "%s"\n' % of) - elif ext == "yy.c": - fd.write(getsrc) - fd.write('\t$(LEX) $(LFLAGS) $(AM_LFLAGS) "%s.l"\n' % b) - elif ext in ("obj", "tab.obj", "yy.obj"): + fd.write('\t$(BISON) -o %s.tab.c --defines=%s.tmph.h $(YFLAGS) $(AM_YFLAGS) %s\n' % (b, b, of)) + fd.write('\trm -f %s.tmph.h\n' % b) + elif ext in ("obj", "tab.obj"): target, name = msc_find_target(tar, msc) if name[0] == '_': name = name[1:] if target == "LIB": d, dext = split_filename(deplist[0]) - if dext in ("c", "cpp", "yy.c", "tab.c"): + if dext in ("c", "tab.c"): fd.write('\t$(CC) /EHsc $(CFLAGS) $(%s_CFLAGS) $(GENDLL) -D_CRT_SECURE_NO_WARNINGS -DLIB%s "-Fo%s" -c "%s"\n' % (split_filename(msc_basename(src))[0], name, t, src)) elif ext == 'res': @@ -569,8 +568,6 @@ def msc_binary(fd, var, binmap, msc): srcs = srcs + " " + t + ".obj" elif ext == "tab.o": srcs = srcs + " " + t + ".tab.obj" - elif ext == "yy.o": - srcs = srcs + " " + t + ".yy.obj" elif ext == 'def': srcs = srcs + ' ' + target elif ext == 'res': @@ -665,8 +662,6 @@ def msc_bins(fd, var, binsmap, msc): srcs = srcs + " " + t + ".obj" elif ext == "tab.o": srcs = srcs + " " + t + ".tab.obj" - elif ext == "yy.o": - srcs = srcs + " " + t + ".yy.obj" elif ext == 'res': srcs = srcs + " " + t + ".res" elif ext in hdrs_ext: @@ -809,10 +804,6 @@ def msc_library(fd, var, libmap, msc): srcs = srcs + " " + t + ".obj" elif ext == "tab.o": srcs = srcs + " " + t + ".tab.obj" - elif ext == "yy.o": - srcs = srcs + " " + t + ".yy.obj" - elif ext == "pm.o": - srcs = srcs + " " + t + ".pm.obj" elif ext == 'res': srcs = srcs + " " + t + ".res" elif ext in hdrs_ext: diff --git a/buildtools/conf/rules.mk b/buildtools/conf/rules.mk --- a/buildtools/conf/rules.mk +++ b/buildtools/conf/rules.mk @@ -10,30 +10,12 @@ CP=cp MV=mv %.tab.c: %.y - touch waiting.$$$$ && until ln waiting.$$$$ waiting 2>/dev/null; do sleep 1; done && rm waiting.$$$$ - $(YACC) $(YFLAGS) $(AM_YFLAGS) $< || { $(RM) waiting ; exit 1 ; } - if [ -f y.tab.c ]; then $(MV) y.tab.c $*.tab.c ; fi - [ ! -f y.tab.h ] || $(RM) y.tab.h - $(RM) waiting + $(BISON) -o $*.tab.c --defines=$*.tmph.h $(YFLAGS) $(AM_YFLAGS) $< + rm -f $*.tmph.h %.tab.h: %.y - touch waiting.$$$$ && until ln waiting.$$$$ waiting 2>/dev/null; do sleep 1; done && rm waiting.$$$$ - $(YACC) $(YFLAGS) $(AM_YFLAGS) $< || { $(RM) waiting ; exit 1 ; } - if [ -f y.tab.h ]; then $(MV) y.tab.h $*.tab.h ; fi - [ ! -f y.tab.c ] || $(RM) y.tab.c - $(RM) waiting - -%.yy.c: %.l - touch waiting.$$$$ && until ln waiting.$$$$ waiting 2>/dev/null; do sleep 1; done && rm waiting.$$$$ - $(LEX) $(LFLAGS) $(AM_LFLAGS) $< || { $(RM) waiting ; exit 1 ; } - [ -f $*.yy.h ] && $(RM) $*.yy.h - $(RM) waiting - -%.yy.h: %.l _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list