Changeset: 3901399a1891 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3901399a1891 Added Files: sql/test/BugTracker-2019/Tests/index-insert-crash.Bug-6781.sql sql/test/BugTracker-2019/Tests/rank-nan.Bug-6780.sql sql/test/BugTracker-2019/Tests/rank-nan.Bug-6780.stable.err sql/test/BugTracker-2019/Tests/rank-nan.Bug-6780.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 Removed Files: clients/mapiclient/mnc.c 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: ChangeLog NT/mkodbcwxs.py NT/mksqlwxs.py NT/monetdb_config.h.in clients/ChangeLog clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/Makefile.ag clients/mapiclient/dump.c clients/mapiclient/mhelp.c clients/mapiclient/msqldump.c common/utils/mutils.c configure.ag gdk/gdk_analytic_bounds.c gdk/gdk_analytic_func.c gdk/gdk_bbp.c gdk/gdk_posix.c gdk/gdk_private.h gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_utils.c geom/monetdb5/geom.c geom/monetdb5/geom_upgrade.c monetdb5/mal/mal_builder.c monetdb5/mal/mal_builder.h monetdb5/mal/mal_client.c monetdb5/mal/mal_client.h monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_module.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_runtime.c monetdb5/modules/atoms/00_json_hge.mal monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime_analytic.c monetdb5/modules/mal/Tests/inspect05.stable.out.int128 monetdb5/modules/mal/Tests/mat.malC monetdb5/modules/mal/Tests/mat.stable.out monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.h monetdb5/modules/mal/clients.mal monetdb5/modules/mal/manual.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/mat.mal monetdb5/modules/mal/profiler.c monetdb5/modules/mal/profiler.mal monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tokenizer.c monetdb5/optimizer/opt_pipes.c sql/ChangeLog.Nov2019 sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_rank.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_upgrades.h sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/vaults/shp/shp.c sql/common/sql_types.c sql/scripts/22_clients.sql sql/scripts/26_sysmon.sql sql/scripts/40_json.sql sql/scripts/99_system.sql sql/scripts/Makefile.ag sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_schema.c sql/server/rel_updates.c sql/server/sql_parser.y sql/server/sql_scan.c sql/storage/bat/bat_logger.c sql/storage/store.c sql/test/BugConstraints/Tests/check_constraint.SF-1714829.stable.err sql/test/BugDay_2005-12-19_2.9.3/Tests/default_next_value_for_non_ex_seq.SF.1246631.stable.err sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-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/rewrite_like_into_likesubselect.Bug-3179.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/All sql/test/BugTracker-2013/Tests/check-constraint.Bug-3335.stable.err sql/test/BugTracker-2013/Tests/check-constraint.Bug-3335.stable.out sql/test/BugTracker-2013/Tests/pivot.Bug-3339.stable.err sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out sql/test/BugTracker-2015/Tests/crash.Bug-3736.sql sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2016/Tests/CREATE_INDEX_breaks_table_queries.Bug-4053.stable.out 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-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.sql sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out sql/test/BugTracker-2017/Tests/sqlsmith-semijoin-constant.bug-6417.sql sql/test/BugTracker-2017/Tests/sqlsmith-semijoin-constant.bug-6417.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/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out sql/test/BugTracker-2019/Tests/prepare-types.Bug-6724.stable.out sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.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/Tests/comment-dump.stable.out sql/test/Tests/keys.sql sql/test/Tests/keys.stable.out sql/test/Triggers/Tests/trigger_owner.stable.err sql/test/analytics/Tests/analytics06.sql sql/test/analytics/Tests/analytics06.stable.err sql/test/analytics/Tests/analytics06.stable.out 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/miscellaneous/Tests/All sql/test/miscellaneous/Tests/view-mul-digits.stable.out sql/test/mosaic/Tests/compression.stable.out sql/test/mosaic/Tests/compressionRLE.stable.out sql/test/mosaic/Tests/compressionRLE2.stable.out sql/test/mosaic/Tests/session_exit.stable.out sql/test/pg_regress/Tests/alter_table.stable.err sql/test/pg_regress/Tests/alter_table.stable.out 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.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/wlcr/Tests/All testing/Mtest.py.in testing/malcheck.py tools/merovingian/daemon/merovingian.c Branch: mosaic Log Message:
Merge with default. diffs (truncated from 13811 to 300 lines): diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog file for devel # 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 + 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. + * 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 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/clients/ChangeLog b/clients/ChangeLog --- a/clients/ChangeLog +++ b/clients/ChangeLog @@ -1,3 +1,11 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Fri Oct 25 2019 Pedro Ferreira <pedro.ferre...@monetdbsolutions.com> +- Added 'sessionid' column to system function sys.queue(), so each query + gets tagged with the current session identifier + +* Thu Oct 24 2019 Martin Kersten <m...@cwi.nl> +- Allow monetdb user to control session and query time out and selective + stopping a client sessions with a soft termination request. + 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 @@ -660,6 +660,7 @@ stdout of test 'MAL-signatures` in direc [ "bat", "orderidx", "pattern bat.orderidx(bv:bat[:any_1]):void ", "OIDXcreate;", "Introduces the OID index arrangement of ordered values" ] [ "bat", "orderidx", "pattern bat.orderidx(bv:bat[:any_1], pieces:int):void ", "OIDXcreate;", "Introduces the OID index arrangement of ordered values" ] [ "bat", "orderidx", "pattern bat.orderidx(bv:bat[:any_1], l:bat[:any_1]...):void ", "OIDXmerge;", "Consolidates the OID index arrangement" ] +[ "bat", "pack", "pattern bat.pack(X_0:any_2...):bat[:any_2] ", "MATpackValues;", "Materialize the values into a BAT. Avoiding a clash with mat.pack() in mergetable" ] [ "bat", "partition", "pattern bat.partition(b:bat[:any_1], pieces:int, n:int):bat[:any_1] ", "CMDBATpartition2;", "Create the n-th slice over the BAT broken into several pieces." ] [ "bat", "partition", "pattern bat.partition(b:bat[:any_1]):bat[:any_1]... ", "CMDBATpartition;", "Create a serie of slices over the BAT argument. The BUNs are distributed evenly." ] [ "bat", "replace", "command bat.replace(b:bat[:any_1], rid:bat[:oid], val:bat[:any_1]):bat[:any_1] ", "BKCbat_inplace;", "Perform replace for all BUNs of the second BAT into the first." ] @@ -10749,9 +10750,9 @@ stdout of test 'MAL-signatures` in direc [ "clients", "getLogins", "command clients.getLogins() (user:bat[:oid], start:bat[:str]) ", "CLTLogin;", "Pseudo bat of client id and login time." ] [ "clients", "getPasswordHash", "pattern clients.getPasswordHash(user:str):str ", "CLTgetPasswordHash;", "Return the password hash of the given user" ] [ "clients", "getScenario", "pattern clients.getScenario():str ", "CLTgetScenario;", "Retrieve current scenario name." ] -[ "clients", "getTimeout", "pattern clients.getTimeout() (q:lng, s:lng) ", "CLTgetTimeout;", "A query is aborted after q milliseconds (q=0 means run undisturbed).\nThe session timeout aborts the connection after spending too\nmany seconds on query processing." ] [ "clients", "getUsername", "pattern clients.getUsername():str ", "CLTgetUsername;", "Return the username of the currently logged in user" ] [ "clients", "getUsers", "pattern clients.getUsers() (X_0:bat[:oid], X_1:bat[:str]) ", "CLTgetUsers;", "return a BAT with user id and one with name available in the system" ] +[ "clients", "getprofile", "pattern clients.getprofile() (opt:str, q:lng, s:lng, w:int, m:lng) ", "CLTgetProfile;", "Retrieve the profile settings for a client" ] [ "clients", "md5sum", "command clients.md5sum(pw:str):str ", "CLTmd5sum;", "Return hex string representation of the MD5 hash of the given string" ] [ "clients", "quit", "pattern clients.quit():void ", "CLTquit;", "Terminate the client session." ] [ "clients", "quit", "pattern clients.quit(idx:int):void ", "CLTquit;", "Terminate the session for a single client using a soft error.\nIt is the privilige of the console user." ] @@ -10760,15 +10761,29 @@ stdout of test 'MAL-signatures` in direc [ "clients", "setListing", "pattern clients.setListing(flag:int):int ", "CLTsetListing;", "Turn on/off echo of MAL instructions:\n\t1 - echo input,\n\t2 - show mal instruction,\n\t4 - show details of type resolutoin, \n\t8 - show binding information." ] [ "clients", "setPassword", "pattern clients.setPassword(user:str, pass:str):void ", "CLTsetPassword;", "Set the password for the given user" ] [ "clients", "setScenario", "pattern clients.setScenario(msg:str):str ", "CLTsetScenario;", "Switch to other scenario handler, return previous one." ] +[ "clients", "setmemorylimit", "pattern clients.setmemorylimit(n:lng):void ", "CLTsetmemorylimit;", "" ] +[ "clients", "setmemorylimit", "pattern clients.setmemorylimit(sid:int, n:lng):void ", "CLTsetmemorylimit;", "Limit the memory claim in MB per query" ] +[ "clients", "setoptimizer", "pattern clients.setoptimizer(opt:str):void ", "CLTsetoptimizer;", "" ] +[ "clients", "setoptimizer", "pattern clients.setoptimizer(sid:int, opt:str):void ", "CLTsetoptimizer;", "Set the session optimizer" ] [ "clients", "setprinttimeout", "command clients.setprinttimeout(n:int):void ", "CLTsetPrintTimeout;", "Print running query every so many seconds." ] -[ "clients", "setsession", "pattern clients.setsession(n:lng):void ", "CLTsetSessionTimeout;", "Abort a session after n seconds." ] -[ "clients", "settimeout", "pattern clients.settimeout(n:lng):void ", "CLTsetTimeout;", "Abort a query after n seconds." ] -[ "clients", "settimeout", "pattern clients.settimeout(q:lng, s:lng):void ", "CLTsetTimeout;", "Abort a query after q seconds (q=0 means run undisturbed).\nThe session timeout aborts the connection after spending too\nmany seconds on query processing." ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(sid:bte, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(sid:int, n:lng):void ", "CLTqueryTimeout;", "A query is aborted after q milliseconds (q=0 means run undisturbed)." ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(sid:sht, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(n:lng):void ", "CLTsessionTimeout;", "" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(sid:bte, n:lng):void ", "CLTsessionTimeout;", "" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(sid:int, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(sid:sht, n:lng):void ", "CLTsessionTimeout;", "" ] +[ "clients", "setworkerlimit", "pattern clients.setworkerlimit(n:int):void ", "CLTsetworkerlimit;", "" ] +[ "clients", "setworkerlimit", "pattern clients.setworkerlimit(sid:int, n:int):void ", "CLTsetworkerlimit;", "Limit the number of worker threads per query" ] [ "clients", "sha1sum", "command clients.sha1sum(pw:str):str ", "CLTsha1sum;", "Return hex string representation of the SHA-1 hash of the given string" ] [ "clients", "sha2sum", "command clients.sha2sum(pw:str, bits:int):str ", "CLTsha2sum;", "Return hex string representation of the SHA-2 hash with bits of the given string" ] [ "clients", "shutdown", "pattern clients.shutdown(delay:int):str ", "CLTshutdown;", "" ] [ "clients", "shutdown", "pattern clients.shutdown(delay:int, forced:bit):str ", "CLTshutdown;", "Close all other client connections. Return if it succeeds.\nIf forced is set then always stop the system the hard way" ] [ "clients", "stop", "pattern clients.stop(id:int):void ", "CLTstop;", "Stop the query execution at the next eligble statement." ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:bte):void ", "CLTstopSession;", "" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:int):void ", "CLTstopSession;", "Stop a particular session" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:sht):void ", "CLTstopSession;", "" ] [ "clients", "suspend", "pattern clients.suspend(id:int):void ", "CLTsuspend;", "Put a client process to sleep for some time.\nIt will simple sleep for a second at a time, until\nthe awake bit has been set in its descriptor" ] [ "clients", "wakeup", "command clients.wakeup(id:int):void ", "CLTwakeup;", "Wakeup a client process" ] [ "color", "#fromstr", "command color.#fromstr():void ", "color_fromstr;", "" ] @@ -11603,9 +11618,11 @@ stdout of test 'MAL-signatures` in direc [ "profiler", "getSystemTime", "command profiler.getSystemTime():lng ", "CMDgetSystemTime;", "Obtain the user timing information." ] [ "profiler", "getTrace", "pattern profiler.getTrace(e:str):bat[:any_1] ", "CMDgetTrace;", "Get the trace details of a specific event" ] [ "profiler", "getUserTime", "command profiler.getUserTime():lng ", "CMDgetUserTime;", "Obtain the user timing information." ] +[ "profiler", "getlimit", "command profiler.getlimit():int ", "CMDgetprofilerlimit;", "Set profiler limit" ] [ "profiler", "noop", "command profiler.noop():void ", "CMDnoopProfiler;", "Fetch any pending performance events" ] [ "profiler", "openstream", "pattern profiler.openstream():void ", "CMDopenProfilerStream;", "Start profiling the events, send to output stream" ] [ "profiler", "setheartbeat", "command profiler.setheartbeat(b:int):void ", "CMDsetHeartbeat;", "Set heart beat performance tracing" ] +[ "profiler", "setlimit", "command profiler.setlimit(l:int):void ", "CMDsetprofilerlimit;", "Get profiler limit" ] [ "profiler", "start", "pattern profiler.start():void ", "CMDstartProfiler;", "Start offline performance profiling" ] [ "profiler", "starttrace", "pattern profiler.starttrace():void ", "CMDstartTrace;", "Start collecting trace information" ] [ "profiler", "stop", "pattern profiler.stop():void ", "CMDstopProfiler;", "Stop offline performance profiling" ] @@ -11822,7 +11839,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "round", "command sql.round(v:sht, d:int, s:int, r:bte):sht ", "sht_round_wrap;", "round off the decimal v(d,s) to r digits behind the dot (if r < 0, before the dot)" ] [ "sql", "row_number", "pattern sql.row_number(b:any_1, p:bit, o:bit):int ", "SQLrow_number;", "return the row_numer-ed groups" ] [ "sql", "rt_credentials", "pattern sql.rt_credentials(tablename:str) (uri:bat[:str], username:bat[:str], hash:bat[:str]) ", "sql_rt_credentials_wrap;", "Return the remote table credentials for the given table" ] -[ "sql", "sessions", "pattern sql.sessions() (user:bat[:str], start:bat[:timestamp], stimeout:bat[:lng], lastcmd:bat[:timestamp], qtimeout:bat[:lng], idle:bat[:bit]) ", "sql_sessions_wrap;", "SQL export table of active sessions, their timeouts and idle status" ] +[ "sql", "sessions", "pattern sql.sessions() (id:bat[:int], user:bat[:str], start:bat[:timestamp], idle:bat[:timestamp], optmizer:bat[:str], stimeout:bat[:lng], qtimeout:bat[:lng], wlimit:bat[:int], mlimit:bat[:lng]) ", "sql_sessions_wrap;", "SQL export table of active sessions, their timeouts and idle status" ] [ "sql", "setVariable", "pattern sql.setVariable(mvc:int, varname:str, value:any_1):int ", "setVariable;", "Set the value of a session variable" ] [ "sql", "shrink", "pattern sql.shrink(sch:str, tbl:str):void ", "SQLshrink;", "Consolidate the deletion table over all columns using shrinking" ] [ "sql", "shutdown", "pattern sql.shutdown(delay:bte):str ", "SQLshutdown_wrap;", "" ] @@ -11854,7 +11871,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:int):void ", "SYSMONpause;", "" ] [ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:lng):void ", "SYSMONpause;", "" ] [ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:sht):void ", "SYSMONpause;", "" ] -[ "sql", "sysmon_queue", "pattern sql.sysmon_queue() (qtag:bat[:lng], user:bat[:str], started:bat[:timestamp], estimate:bat[:timestamp], progress:bat[:int], status:bat[:str], tag:bat[:oid], query:bat[:str]) ", "SYSMONqueue;", "" ] +[ "sql", "sysmon_queue", "pattern sql.sysmon_queue() (qtag:bat[:lng], sessionid:bat[:int], user:bat[:str], started:bat[:timestamp], estimate:bat[:timestamp], progress:bat[:int], status:bat[:str], tag:bat[:oid], query:bat[:str]) ", "SYSMONqueue;", "" ] [ "sql", "sysmon_resume", "pattern sql.sysmon_resume(tag:int):void ", "SYSMONresume;", "" ] [ "sql", "sysmon_resume", "pattern sql.sysmon_resume(tag:lng):void ", "SYSMONresume;", "" ] [ "sql", "sysmon_resume", "pattern sql.sysmon_resume(tag:sht):void ", "SYSMONresume;", "" ] 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 @@ -766,6 +766,7 @@ stdout of test 'MAL-signatures` in direc [ "bat", "orderidx", "pattern bat.orderidx(bv:bat[:any_1]):void ", "OIDXcreate;", "Introduces the OID index arrangement of ordered values" ] [ "bat", "orderidx", "pattern bat.orderidx(bv:bat[:any_1], pieces:int):void ", "OIDXcreate;", "Introduces the OID index arrangement of ordered values" ] [ "bat", "orderidx", "pattern bat.orderidx(bv:bat[:any_1], l:bat[:any_1]...):void ", "OIDXmerge;", "Consolidates the OID index arrangement" ] +[ "bat", "pack", "pattern bat.pack(X_0:any_2...):bat[:any_2] ", "MATpackValues;", "Materialize the values into a BAT. Avoiding a clash with mat.pack() in mergetable" ] [ "bat", "partition", "pattern bat.partition(b:bat[:any_1], pieces:int, n:int):bat[:any_1] ", "CMDBATpartition2;", "Create the n-th slice over the BAT broken into several pieces." ] [ "bat", "partition", "pattern bat.partition(b:bat[:any_1]):bat[:any_1]... ", "CMDBATpartition;", "Create a serie of slices over the BAT argument. The BUNs are distributed evenly." ] [ "bat", "replace", "command bat.replace(b:bat[:any_1], rid:bat[:oid], val:bat[:any_1]):bat[:any_1] ", "BKCbat_inplace;", "Perform replace for all BUNs of the second BAT into the first." ] @@ -15137,9 +15138,9 @@ stdout of test 'MAL-signatures` in direc [ "clients", "getLogins", "command clients.getLogins() (user:bat[:oid], start:bat[:str]) ", "CLTLogin;", "Pseudo bat of client id and login time." ] [ "clients", "getPasswordHash", "pattern clients.getPasswordHash(user:str):str ", "CLTgetPasswordHash;", "Return the password hash of the given user" ] [ "clients", "getScenario", "pattern clients.getScenario():str ", "CLTgetScenario;", "Retrieve current scenario name." ] -[ "clients", "getTimeout", "pattern clients.getTimeout() (q:lng, s:lng) ", "CLTgetTimeout;", "A query is aborted after q milliseconds (q=0 means run undisturbed).\nThe session timeout aborts the connection after spending too\nmany seconds on query processing." ] [ "clients", "getUsername", "pattern clients.getUsername():str ", "CLTgetUsername;", "Return the username of the currently logged in user" ] [ "clients", "getUsers", "pattern clients.getUsers() (X_0:bat[:oid], X_1:bat[:str]) ", "CLTgetUsers;", "return a BAT with user id and one with name available in the system" ] +[ "clients", "getprofile", "pattern clients.getprofile() (opt:str, q:lng, s:lng, w:int, m:lng) ", "CLTgetProfile;", "Retrieve the profile settings for a client" ] [ "clients", "md5sum", "command clients.md5sum(pw:str):str ", "CLTmd5sum;", "Return hex string representation of the MD5 hash of the given string" ] [ "clients", "quit", "pattern clients.quit():void ", "CLTquit;", "Terminate the client session." ] [ "clients", "quit", "pattern clients.quit(idx:int):void ", "CLTquit;", "Terminate the session for a single client using a soft error.\nIt is the privilige of the console user." ] @@ -15148,15 +15149,29 @@ stdout of test 'MAL-signatures` in direc [ "clients", "setListing", "pattern clients.setListing(flag:int):int ", "CLTsetListing;", "Turn on/off echo of MAL instructions:\n\t1 - echo input,\n\t2 - show mal instruction,\n\t4 - show details of type resolutoin, \n\t8 - show binding information." ] [ "clients", "setPassword", "pattern clients.setPassword(user:str, pass:str):void ", "CLTsetPassword;", "Set the password for the given user" ] [ "clients", "setScenario", "pattern clients.setScenario(msg:str):str ", "CLTsetScenario;", "Switch to other scenario handler, return previous one." ] +[ "clients", "setmemorylimit", "pattern clients.setmemorylimit(n:lng):void ", "CLTsetmemorylimit;", "" ] +[ "clients", "setmemorylimit", "pattern clients.setmemorylimit(sid:int, n:lng):void ", "CLTsetmemorylimit;", "Limit the memory claim in MB per query" ] +[ "clients", "setoptimizer", "pattern clients.setoptimizer(opt:str):void ", "CLTsetoptimizer;", "" ] +[ "clients", "setoptimizer", "pattern clients.setoptimizer(sid:int, opt:str):void ", "CLTsetoptimizer;", "Set the session optimizer" ] [ "clients", "setprinttimeout", "command clients.setprinttimeout(n:int):void ", "CLTsetPrintTimeout;", "Print running query every so many seconds." ] -[ "clients", "setsession", "pattern clients.setsession(n:lng):void ", "CLTsetSessionTimeout;", "Abort a session after n seconds." ] -[ "clients", "settimeout", "pattern clients.settimeout(n:lng):void ", "CLTsetTimeout;", "Abort a query after n seconds." ] -[ "clients", "settimeout", "pattern clients.settimeout(q:lng, s:lng):void ", "CLTsetTimeout;", "Abort a query after q seconds (q=0 means run undisturbed).\nThe session timeout aborts the connection after spending too\nmany seconds on query processing." ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(sid:bte, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(sid:int, n:lng):void ", "CLTqueryTimeout;", "A query is aborted after q milliseconds (q=0 means run undisturbed)." ] +[ "clients", "setquerytimeout", "pattern clients.setquerytimeout(sid:sht, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(n:lng):void ", "CLTsessionTimeout;", "" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(sid:bte, n:lng):void ", "CLTsessionTimeout;", "" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(sid:int, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] +[ "clients", "setsessiontimeout", "pattern clients.setsessiontimeout(sid:sht, n:lng):void ", "CLTsessionTimeout;", "" ] +[ "clients", "setworkerlimit", "pattern clients.setworkerlimit(n:int):void ", "CLTsetworkerlimit;", "" ] +[ "clients", "setworkerlimit", "pattern clients.setworkerlimit(sid:int, n:int):void ", "CLTsetworkerlimit;", "Limit the number of worker threads per query" ] [ "clients", "sha1sum", "command clients.sha1sum(pw:str):str ", "CLTsha1sum;", "Return hex string representation of the SHA-1 hash of the given string" ] [ "clients", "sha2sum", "command clients.sha2sum(pw:str, bits:int):str ", "CLTsha2sum;", "Return hex string representation of the SHA-2 hash with bits of the given string" ] [ "clients", "shutdown", "pattern clients.shutdown(delay:int):str ", "CLTshutdown;", "" ] [ "clients", "shutdown", "pattern clients.shutdown(delay:int, forced:bit):str ", "CLTshutdown;", "Close all other client connections. Return if it succeeds.\nIf forced is set then always stop the system the hard way" ] [ "clients", "stop", "pattern clients.stop(id:int):void ", "CLTstop;", "Stop the query execution at the next eligble statement." ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:bte):void ", "CLTstopSession;", "" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:int):void ", "CLTstopSession;", "Stop a particular session" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:sht):void ", "CLTstopSession;", "" ] [ "clients", "suspend", "pattern clients.suspend(id:int):void ", "CLTsuspend;", "Put a client process to sleep for some time.\nIt will simple sleep for a second at a time, until\nthe awake bit has been set in its descriptor" ] [ "clients", "wakeup", "command clients.wakeup(id:int):void ", "CLTwakeup;", "Wakeup a client process" ] [ "color", "#fromstr", "command color.#fromstr():void ", "color_fromstr;", "" ] @@ -15535,8 +15550,6 @@ stdout of test 'MAL-signatures` in direc [ "io", "setmallocsuccesscount", "command io.setmallocsuccesscount(count:lng):void ", "IOsetmallocsuccesscount;", "Set number of mallocs that are allowed to succeed." ] [ "io", "stdin", "pattern io.stdin():bstream ", "io_stdin;", "return the input stream to the database client" ] [ "io", "stdout", "pattern io.stdout():streams ", "io_stdout;", "return the output stream for the database client" ] -[ "iterator", "filter", "command iterator.filter(name:json, idx:hge, other:str):json ", "JSONfilterArrayDefault_hge;", "" ] -[ "iterator", "filter", "command iterator.filter(name:json, idx:hge):json ", "JSONfilterArray_hge;", "" ] [ "iterator", "new", "pattern iterator.new(b:bat[:any_2]) (h:oid, t:any_2) ", "ITRbunIterator;", "Process the buns one by one extracted from a void table." ] [ "iterator", "new", "command iterator.new(b:bat[:any_2], size:lng) (X_0:lng, X_1:bat[:any_2]) ", "ITRnewChunk;", "Create an iterator with fixed granule size.\n\t The result is a view." ] [ "iterator", "next", "pattern iterator.next(b:bat[:any_2]) (h:oid, t:any_2) ", "ITRbunNext;", "Produce the next bun for processing." ] @@ -15553,10 +15566,12 @@ stdout of test 'MAL-signatures` in direc [ "json", "dump", "pattern json.dump(j:json):void ", "JSONdump;", "" ] [ "json", "filter", "command json.filter(name:json, pathexpr:str):json ", "JSONfilter;", "Filter all members of an object by a path expression, returning an array.\nNon-matching elements are skipped." ] [ "json", "filter", "command json.filter(name:json, idx:bte, other:str):json ", "JSONfilterArrayDefault_bte;", "" ] +[ "json", "filter", "command json.filter(name:json, idx:hge, other:str):json ", "JSONfilterArrayDefault_hge;", "" ] [ "json", "filter", "command json.filter(name:json, idx:int, other:str):json ", "JSONfilterArrayDefault_int;", "" ] [ "json", "filter", "command json.filter(name:json, idx:lng, other:str):json ", "JSONfilterArrayDefault_lng;", "Extract a single array element" ] [ "json", "filter", "command json.filter(name:json, idx:sht, other:str):json ", "JSONfilterArrayDefault_sht;", "" ] [ "json", "filter", "command json.filter(name:json, idx:bte):json ", "JSONfilterArray_bte;", "" ] +[ "json", "filter", "command json.filter(name:json, idx:hge):json ", "JSONfilterArray_hge;", "" ] [ "json", "filter", "command json.filter(name:json, idx:int):json ", "JSONfilterArray_int;", "" ] [ "json", "filter", "command json.filter(name:json, idx:lng):json ", "JSONfilterArray_lng;", "" ] [ "json", "filter", "command json.filter(name:json, idx:sht):json ", "JSONfilterArray_sht;", "" ] @@ -16007,9 +16022,11 @@ stdout of test 'MAL-signatures` in direc [ "profiler", "getSystemTime", "command profiler.getSystemTime():lng ", "CMDgetSystemTime;", "Obtain the user timing information." ] [ "profiler", "getTrace", "pattern profiler.getTrace(e:str):bat[:any_1] ", "CMDgetTrace;", "Get the trace details of a specific event" ] [ "profiler", "getUserTime", "command profiler.getUserTime():lng ", "CMDgetUserTime;", "Obtain the user timing information." ] +[ "profiler", "getlimit", "command profiler.getlimit():int ", "CMDgetprofilerlimit;", "Set profiler limit" ] [ "profiler", "noop", "command profiler.noop():void ", "CMDnoopProfiler;", "Fetch any pending performance events" ] [ "profiler", "openstream", "pattern profiler.openstream():void ", "CMDopenProfilerStream;", "Start profiling the events, send to output stream" ] [ "profiler", "setheartbeat", "command profiler.setheartbeat(b:int):void ", "CMDsetHeartbeat;", "Set heart beat performance tracing" ] +[ "profiler", "setlimit", "command profiler.setlimit(l:int):void ", "CMDsetprofilerlimit;", "Get profiler limit" ] [ "profiler", "start", "pattern profiler.start():void ", "CMDstartProfiler;", "Start offline performance profiling" ] [ "profiler", "starttrace", "pattern profiler.starttrace():void ", "CMDstartTrace;", "Start collecting trace information" ] [ "profiler", "stop", "pattern profiler.stop():void ", "CMDstopProfiler;", "Stop offline performance profiling" ] @@ -16234,7 +16251,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "round", "command sql.round(v:sht, d:int, s:int, r:bte):sht ", "sht_round_wrap;", "round off the decimal v(d,s) to r digits behind the dot (if r < 0, before the dot)" ] [ "sql", "row_number", "pattern sql.row_number(b:any_1, p:bit, o:bit):int ", "SQLrow_number;", "return the row_numer-ed groups" ] [ "sql", "rt_credentials", "pattern sql.rt_credentials(tablename:str) (uri:bat[:str], username:bat[:str], hash:bat[:str]) ", "sql_rt_credentials_wrap;", "Return the remote table credentials for the given table" ] -[ "sql", "sessions", "pattern sql.sessions() (user:bat[:str], start:bat[:timestamp], stimeout:bat[:lng], lastcmd:bat[:timestamp], qtimeout:bat[:lng], idle:bat[:bit]) ", "sql_sessions_wrap;", "SQL export table of active sessions, their timeouts and idle status" ] +[ "sql", "sessions", "pattern sql.sessions() (id:bat[:int], user:bat[:str], start:bat[:timestamp], idle:bat[:timestamp], optmizer:bat[:str], stimeout:bat[:lng], qtimeout:bat[:lng], wlimit:bat[:int], mlimit:bat[:lng]) ", "sql_sessions_wrap;", "SQL export table of active sessions, their timeouts and idle status" ] [ "sql", "setVariable", "pattern sql.setVariable(mvc:int, varname:str, value:any_1):int ", "setVariable;", "Set the value of a session variable" ] [ "sql", "shrink", "pattern sql.shrink(sch:str, tbl:str):void ", "SQLshrink;", "Consolidate the deletion table over all columns using shrinking" ] [ "sql", "shutdown", "pattern sql.shutdown(delay:bte):str ", "SQLshutdown_wrap;", "" ] @@ -16271,7 +16288,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:int):void ", "SYSMONpause;", "" ] [ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:lng):void ", "SYSMONpause;", "" ] [ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:sht):void ", "SYSMONpause;", "" ] -[ "sql", "sysmon_queue", "pattern sql.sysmon_queue() (qtag:bat[:lng], user:bat[:str], started:bat[:timestamp], estimate:bat[:timestamp], progress:bat[:int], status:bat[:str], tag:bat[:oid], query:bat[:str]) ", "SYSMONqueue;", "" ] +[ "sql", "sysmon_queue", "pattern sql.sysmon_queue() (qtag:bat[:lng], sessionid:bat[:int], user:bat[:str], started:bat[:timestamp], estimate:bat[:timestamp], progress:bat[:int], status:bat[:str], tag:bat[:oid], query:bat[:str]) ", "SYSMONqueue;", "" ] [ "sql", "sysmon_resume", "pattern sql.sysmon_resume(tag:int):void ", "SYSMONresume;", "" ] [ "sql", "sysmon_resume", "pattern sql.sysmon_resume(tag:lng):void ", "SYSMONresume;", "" ] [ "sql", "sysmon_resume", "pattern sql.sysmon_resume(tag:sht):void ", "SYSMONresume;", "" ] 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 @@ -936,25 +936,29 @@ str CLTchangeUsername(Client cntxt, MalB str CLTcheckPermission(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTgetClientId(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTgetPasswordHash(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list