Changeset: 83cdbcb8730a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=83cdbcb8730a Added Files: sql/scripts/58_hot_snapshot.sql sql/test/BugTracker-2019/Tests/NOT_IN-AND-OR-wrong-results.Bug-6775.sql sql/test/BugTracker-2019/Tests/NOT_IN-AND-OR-wrong-results.Bug-6775.stable.err sql/test/BugTracker-2019/Tests/NOT_IN-AND-OR-wrong-results.Bug-6775.stable.out sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.py sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.stable.err sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.stable.out sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.timeout sql/test/BugTracker-2019/Tests/next-get-value-bulk.Bug-6766.stable.err sql/test/BugTracker-2019/Tests/outer-join-varchar.Bug-6776.sql sql/test/BugTracker-2019/Tests/outer-join-varchar.Bug-6776.stable.err sql/test/BugTracker-2019/Tests/outer-join-varchar.Bug-6776.stable.out sql/test/BugTracker-2019/Tests/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/Tests/hot-snapshot.py sql/test/Tests/hot-snapshot.stable.err sql/test/Tests/hot-snapshot.stable.out sql/test/miscellaneous/Tests/view-mul-digits.sql sql/test/miscellaneous/Tests/view-mul-digits.stable.err sql/test/miscellaneous/Tests/view-mul-digits.stable.out Modified Files: ChangeLog clients/ChangeLog clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/dump.c gdk/gdk.h gdk/gdk_analytic_bounds.c gdk/gdk_analytic_func.c monetdb5/mal/mal_client.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_profiler.c monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/mmath.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.h monetdb5/modules/mal/clients.mal monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_io.h monetdb5/modules/mal/mal_io.mal monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c sql/ChangeLog.Nov2019 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_rank.c sql/backends/monet5/sql_upgrades.c sql/scripts/22_clients.sql sql/scripts/26_sysmon.sql sql/scripts/Makefile.ag sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_psm.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_sequence.c sql/server/sql_parser.y sql/storage/bat/bat_logger.c sql/storage/sql_catalog.c sql/storage/sql_storage.h sql/storage/store.c sql/storage/store_sequence.c sql/storage/store_sequence.h sql/test/BugTracker-2009/Tests/All 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-2015/Tests/crash.Bug-3736.sql sql/test/BugTracker-2015/Tests/crash.Bug-3736.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-select_after_MAL_error.Bug-6332.stable.out 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/sqlsmith-semijoin-constant.bug-6417.sql sql/test/BugTracker-2017/Tests/sqlsmith-semijoin-constant.bug-6417.stable.out sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err sql/test/BugTracker-2018/Tests/negative-sequences.Bug-6665.stable.err sql/test/BugTracker-2019/Tests/All sql/test/BugTracker-2019/Tests/crash-in-rel_dependencies.Bug-6703.sql sql/test/BugTracker-2019/Tests/crash-in-rel_dependencies.Bug-6703.stable.out sql/test/BugTracker-2019/Tests/next-get-value-bulk.Bug-6766.sql sql/test/BugTracker-2019/Tests/next-get-value-bulk.Bug-6766.stable.out sql/test/BugTracker-2019/Tests/python-loader-string.Bug-6759.stable.err sql/test/BugTracker-2019/Tests/sequences-defaults.Bug-6744.sql sql/test/BugTracker-2019/Tests/sequences-defaults.Bug-6744.stable.err sql/test/BugTracker-2019/Tests/sequences-defaults.Bug-6744.stable.out sql/test/Dump/Tests/dump-again.stable.err sql/test/Tests/All sql/test/Tests/alter-sequence.sql sql/test/Tests/alter-sequence.stable.err sql/test/Tests/comment-auth.stable.err sql/test/Tests/comment-dump.stable.err sql/test/analytics/Tests/analytics06.sql sql/test/analytics/Tests/analytics06.stable.err sql/test/analytics/Tests/analytics06.stable.out 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/sqlsmith.Bug-6455.stable.err sql/test/mergetables/Tests/sqlsmith.Bug-6459.stable.err sql/test/miscellaneous/Tests/All sql/test/miscellaneous/Tests/groupby_expressions.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-reload/Tests/reload.stable.err sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-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/Tests/dump-nogeom.stable.err sql/test/wlcr/Tests/All Branch: grouping-analytics Log Message:
Merge with default diffs (truncated from 9115 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/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 @@ -8973,6 +8973,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "diff", "pattern batsql.diff(b:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "diff", "pattern batsql.diff(p:bat[:bit], b:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "first_value", "pattern batsql.first_value(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLfirst_value;", "return the first value of groups" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:bat[:str], sequence:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "return the current value of sequences" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:bat[:str], sequence:str):bat[:lng] ", "mvc_bat_get_value;", "return the current value of the sequence" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:str, sequence:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "return the current value of sequences" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, d:any_1, p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, d:bat[:any_1], p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or NULL if non existent" ] @@ -8990,7 +8993,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "lead", "pattern batsql.lead(b:bat[:any_1], p:any_3, o:any_4):bat[:any_1] ", "SQLlead;", "return the value in the next row in the partition or NULL if non existent" ] [ "batsql", "max", "pattern batsql.max(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLmax;", "return the maximum of groups" ] [ "batsql", "min", "pattern batsql.min(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLmin;", "return the minimum of groups" ] +[ "batsql", "next_value", "pattern batsql.next_value(sname:bat[:str], sequence:bat[:str]):bat[:lng] ", "mvc_bat_next_value;", "return the next value of sequences" ] [ "batsql", "next_value", "pattern batsql.next_value(sname:bat[:str], sequence:str):bat[:lng] ", "mvc_bat_next_value;", "return the next value of the sequence" ] +[ "batsql", "next_value", "pattern batsql.next_value(sname:str, sequence:bat[:str]):bat[:lng] ", "mvc_bat_next_value;", "return the next value of sequences" ] [ "batsql", "nth_value", "pattern batsql.nth_value(b:bat[:any_1], n:any_2, s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLnth_value;", "return the nth value of each group" ] [ "batsql", "nth_value", "pattern batsql.nth_value(b:bat[:any_1], n:bat[:any_2], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLnth_value;", "return the nth value of each group" ] [ "batsql", "ntile", "pattern batsql.ntile(b:bat[:any_1], n:any_2, p:any_3, o:any_4):bat[:any_2] ", "SQLntile;", "return the groups divided as equally as possible" ] @@ -9005,6 +9010,13 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "prod", "pattern batsql.prod(b:bat[:lng], s:bat[:lng], e:bat[:lng]):bat[:lng] ", "SQLprod;", "return the product of groups" ] [ "batsql", "prod", "pattern batsql.prod(b:bat[:sht], s:bat[:lng], e:bat[:lng]):bat[:lng] ", "SQLprod;", "return the product of groups" ] [ "batsql", "rank", "pattern batsql.rank(b:bat[:any_1], p:any_2, o:any_3):bat[:int] ", "SQLrank;", "return the ranked groups" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:bat[:str], start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:bat[:str], start:lng):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:str, start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:str, start:lng):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:str, sequence:bat[:str], start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:str, sequence:bat[:str], start:lng):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:str, sequence:str, start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] [ "batsql", "round", "command batsql.round(v:bat[:bte], d:int, s:int, r:bte):bat[:bte] ", "bte_bat_round_wrap;", "round off the decimal v(d,s) to r digits behind the dot (if r < 0, before the dot)" ] [ "batsql", "round", "command batsql.round(v:bat[:dbl], r:bte):bat[:dbl] ", "dbl_bat_round_wrap;", "round off the floating point v to r digits behind the dot (if r < 0, before the dot)" ] [ "batsql", "round", "command batsql.round(v:bat[:flt], r:bte):bat[:flt] ", "flt_bat_round_wrap;", "round off the floating point v to r digits behind the dot (if r < 0, before the dot)" ] @@ -10741,22 +10753,30 @@ stdout of test 'MAL-signatures` in direc [ "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", "md5sum", "command clients.md5sum(pw:str):str ", "CLTmd5sum;", "Return hex string representation of the MD5 hash of the given string" ] +[ "clients", "querytimeout", "pattern clients.querytimeout(sid:bte, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "querytimeout", "pattern clients.querytimeout(sid:int, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "querytimeout", "pattern clients.querytimeout(sid:sht, n:lng):void ", "CLTqueryTimeout;", "" ] [ "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." ] [ "clients", "removeUser", "pattern clients.removeUser(nme:str):void ", "CLTremoveUser;", "Remove the given user from the system" ] [ "clients", "ripemd160sum", "command clients.ripemd160sum(pw:str):str ", "CLTripemd160sum;", "Return hex string representation of the RIPEMD160 hash of the given string" ] +[ "clients", "sessiontimeout", "pattern clients.sessiontimeout(sid:bte, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] +[ "clients", "sessiontimeout", "pattern clients.sessiontimeout(sid:int, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] +[ "clients", "sessiontimeout", "pattern clients.sessiontimeout(sid:sht, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] [ "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", "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", "settimeout", "pattern clients.settimeout(n: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", "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;", "Stop a particular session" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:int):void ", "CLTstopSession;", "Stop a particular session" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:sht):void ", "CLTstopSession;", "Stop a particular session" ] [ "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;", "" ] @@ -11123,7 +11143,6 @@ stdout of test 'MAL-signatures` in direc [ "io", "printf", "pattern io.printf(filep:streams, fmt:str):void ", "IOprintfStream;", "Select default format " ] [ "io", "printf", "pattern io.printf(filep:streams, fmt:str, val:any...):void ", "IOprintfStream;", "Select default format " ] [ "io", "setmallocsuccesscount", "command io.setmallocsuccesscount(count:lng):void ", "IOsetmallocsuccesscount;", "Set number of mallocs that are allowed to succeed." ] -[ "io", "stderr", "pattern io.stderr():streams ", "io_stderr;", "return the error stream for the database console" ] [ "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", "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." ] @@ -11138,7 +11157,7 @@ stdout of test 'MAL-signatures` in direc [ "iterator", "next", "command iterator.next(step:sht, last:sht):sht ", "ITRnext_sht;", "" ] [ "json", "#fromstr", "command json.#fromstr():void ", "JSONfromString;", "Validate a string to be JSON compliant. A NOOP if valid json, NULL otherwise." ] [ "json", "#tostr", "command json.#tostr():void ", "JSONtoString;", "Convert JSON to its string equivalent. Dealing with escape characters" ] -[ "json", "dump", "command json.dump(j:json):void ", "JSONdump;", "" ] +[ "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:int, other:str):json ", "JSONfilterArrayDefault_int;", "" ] @@ -11667,11 +11686,12 @@ stdout of test 'MAL-signatures` in direc [ "sql", "export_table", "unsafe pattern sql.export_table(fname:str, fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], cols:any...):int ", "mvc_export_row_wrap;", "Prepare a table result set for the COPY INTO stream" ] [ "sql", "export_table", "unsafe pattern sql.export_table(fname:str, fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], cols:bat[:any]...):int ", "mvc_export_table_wrap;", "Prepare a table result set for the COPY INTO stream" ] [ "sql", "first_value", "pattern sql.first_value(b:any_1, s:lng, e:lng):any_1 ", "SQLfirst_value;", "return the first value of groups" ] -[ "sql", "flush_log", "command sql.flush_log():void ", "SQLflush_log;", "flush the log now" ] +[ "sql", "flush_log", "command sql.flush_log():void ", "SQLflush_log;", "start flushing the write ahead log" ] [ "sql", "getVariable", "pattern sql.getVariable(mvc:int, varname:str):any_1 ", "getVariable;", "Get the value of a session variable" ] [ "sql", "getVersion", "command sql.getVersion(clientid:int):lng ", "mvc_getVersion;", "Return the database version identifier for a client." ] [ "sql", "get_value", "pattern sql.get_value(sname:str, sequence:str):lng ", "mvc_get_value;", "return the current value of the sequence" ] [ "sql", "grow", "pattern sql.grow(tid:bat[:oid], X_0:any_1):int ", "mvc_grow_wrap;", "Resize the tid column of a declared table." ] +[ "sql", "hot_snapshot", "command sql.hot_snapshot(tarfile:str):void ", "SQLhot_snapshot;", "Write db snapshot to the given tar(.gz) file" ] [ "sql", "importTable", "unsafe pattern sql.importTable(sname:str, tname:str, onclient:int, fname:str...):bat[:any]... ", "mvc_bin_import_table_wrap;", "Import a table from the files (fname)" ] [ "sql", "include", "pattern sql.include(fname:str):void ", "SQLinclude;", "Compile and execute a sql statements on the file" ] [ "sql", "lag", "pattern sql.lag(b:any_1, l:any_2, d:any_1, p:any_3, o:any_4):any_1 ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] @@ -11739,7 +11759,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], stimeout:bat[:lng], lastcmd:bat[:timestamp], qtimeout:bat[:lng], idle:bat[:int]) ", "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;", "" ] @@ -11771,7 +11791,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 @@ -12695,6 +12695,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "diff", "pattern batsql.diff(b:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "diff", "pattern batsql.diff(p:bat[:bit], b:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "first_value", "pattern batsql.first_value(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLfirst_value;", "return the first value of groups" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:bat[:str], sequence:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "return the current value of sequences" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:bat[:str], sequence:str):bat[:lng] ", "mvc_bat_get_value;", "return the current value of the sequence" ] +[ "batsql", "get_value", "pattern batsql.get_value(sname:str, sequence:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "return the current value of sequences" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, d:any_1, p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, d:bat[:any_1], p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] [ "batsql", "lag", "pattern batsql.lag(b:bat[:any_1], l:any_2, p:any_3, o:any_4):bat[:any_1] ", "SQLlag;", "return the value in the previous 'l' row in the partition or NULL if non existent" ] @@ -12712,7 +12715,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "lead", "pattern batsql.lead(b:bat[:any_1], p:any_3, o:any_4):bat[:any_1] ", "SQLlead;", "return the value in the next row in the partition or NULL if non existent" ] [ "batsql", "max", "pattern batsql.max(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLmax;", "return the maximum of groups" ] [ "batsql", "min", "pattern batsql.min(b:bat[:any_1], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLmin;", "return the minimum of groups" ] +[ "batsql", "next_value", "pattern batsql.next_value(sname:bat[:str], sequence:bat[:str]):bat[:lng] ", "mvc_bat_next_value;", "return the next value of sequences" ] [ "batsql", "next_value", "pattern batsql.next_value(sname:bat[:str], sequence:str):bat[:lng] ", "mvc_bat_next_value;", "return the next value of the sequence" ] +[ "batsql", "next_value", "pattern batsql.next_value(sname:str, sequence:bat[:str]):bat[:lng] ", "mvc_bat_next_value;", "return the next value of sequences" ] [ "batsql", "nth_value", "pattern batsql.nth_value(b:bat[:any_1], n:any_2, s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLnth_value;", "return the nth value of each group" ] [ "batsql", "nth_value", "pattern batsql.nth_value(b:bat[:any_1], n:bat[:any_2], s:bat[:lng], e:bat[:lng]):bat[:any_1] ", "SQLnth_value;", "return the nth value of each group" ] [ "batsql", "ntile", "pattern batsql.ntile(b:bat[:any_1], n:any_2, p:any_3, o:any_4):bat[:any_2] ", "SQLntile;", "return the groups divided as equally as possible" ] @@ -12732,6 +12737,13 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "prod", "pattern batsql.prod(b:bat[:sht], s:bat[:lng], e:bat[:lng]):bat[:hge] ", "SQLprod;", "return the product of groups" ] [ "batsql", "prod", "pattern batsql.prod(b:bat[:sht], s:bat[:lng], e:bat[:lng]):bat[:lng] ", "SQLprod;", "return the product of groups" ] [ "batsql", "rank", "pattern batsql.rank(b:bat[:any_1], p:any_2, o:any_3):bat[:int] ", "SQLrank;", "return the ranked groups" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:bat[:str], start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:bat[:str], start:lng):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:str, start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:bat[:str], sequence:str, start:lng):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:str, sequence:bat[:str], start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:str, sequence:bat[:str], start:lng):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] +[ "batsql", "restart", "unsafe pattern batsql.restart(sname:str, sequence:str, start:bat[:lng]):bat[:lng] ", "mvc_bat_restart_seq;", "restart the sequence with value start" ] [ "batsql", "round", "command batsql.round(v:bat[:bte], d:int, s:int, r:bte):bat[:bte] ", "bte_bat_round_wrap;", "round off the decimal v(d,s) to r digits behind the dot (if r < 0, before the dot)" ] [ "batsql", "round", "command batsql.round(v:bat[:dbl], r:bte):bat[:dbl] ", "dbl_bat_round_wrap;", "round off the floating point v to r digits behind the dot (if r < 0, before the dot)" ] [ "batsql", "round", "command batsql.round(v:bat[:flt], r:bte):bat[:flt] ", "flt_bat_round_wrap;", "round off the floating point v to r digits behind the dot (if r < 0, before the dot)" ] @@ -15129,22 +15141,30 @@ stdout of test 'MAL-signatures` in direc [ "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", "md5sum", "command clients.md5sum(pw:str):str ", "CLTmd5sum;", "Return hex string representation of the MD5 hash of the given string" ] +[ "clients", "querytimeout", "pattern clients.querytimeout(sid:bte, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "querytimeout", "pattern clients.querytimeout(sid:int, n:lng):void ", "CLTqueryTimeout;", "" ] +[ "clients", "querytimeout", "pattern clients.querytimeout(sid:sht, n:lng):void ", "CLTqueryTimeout;", "" ] [ "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." ] [ "clients", "removeUser", "pattern clients.removeUser(nme:str):void ", "CLTremoveUser;", "Remove the given user from the system" ] [ "clients", "ripemd160sum", "command clients.ripemd160sum(pw:str):str ", "CLTripemd160sum;", "Return hex string representation of the RIPEMD160 hash of the given string" ] +[ "clients", "sessiontimeout", "pattern clients.sessiontimeout(sid:bte, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] +[ "clients", "sessiontimeout", "pattern clients.sessiontimeout(sid:int, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] +[ "clients", "sessiontimeout", "pattern clients.sessiontimeout(sid:sht, n:lng):void ", "CLTsessionTimeout;", "Set the session timeout for a particulat session id" ] [ "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", "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", "settimeout", "pattern clients.settimeout(n: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", "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;", "Stop a particular session" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:int):void ", "CLTstopSession;", "Stop a particular session" ] +[ "clients", "stopsession", "pattern clients.stopsession(sid:sht):void ", "CLTstopSession;", "Stop a particular session" ] [ "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;", "" ] @@ -15521,7 +15541,6 @@ stdout of test 'MAL-signatures` in direc [ "io", "printf", "pattern io.printf(filep:streams, fmt:str):void ", "IOprintfStream;", "Select default format " ] [ "io", "printf", "pattern io.printf(filep:streams, fmt:str, val:any...):void ", "IOprintfStream;", "Select default format " ] [ "io", "setmallocsuccesscount", "command io.setmallocsuccesscount(count:lng):void ", "IOsetmallocsuccesscount;", "Set number of mallocs that are allowed to succeed." ] -[ "io", "stderr", "pattern io.stderr():streams ", "io_stderr;", "return the error stream for the database console" ] [ "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;", "" ] @@ -15539,7 +15558,7 @@ stdout of test 'MAL-signatures` in direc [ "iterator", "next", "command iterator.next(step:sht, last:sht):sht ", "ITRnext_sht;", "" ] [ "json", "#fromstr", "command json.#fromstr():void ", "JSONfromString;", "Validate a string to be JSON compliant. A NOOP if valid json, NULL otherwise." ] [ "json", "#tostr", "command json.#tostr():void ", "JSONtoString;", "Convert JSON to its string equivalent. Dealing with escape characters" ] -[ "json", "dump", "command json.dump(j:json):void ", "JSONdump;", "" ] +[ "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:int, other:str):json ", "JSONfilterArrayDefault_int;", "" ] @@ -16073,11 +16092,12 @@ stdout of test 'MAL-signatures` in direc [ "sql", "export_table", "unsafe pattern sql.export_table(fname:str, fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], cols:any...):int ", "mvc_export_row_wrap;", "Prepare a table result set for the COPY INTO stream" ] [ "sql", "export_table", "unsafe pattern sql.export_table(fname:str, fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], cols:bat[:any]...):int ", "mvc_export_table_wrap;", "Prepare a table result set for the COPY INTO stream" ] [ "sql", "first_value", "pattern sql.first_value(b:any_1, s:lng, e:lng):any_1 ", "SQLfirst_value;", "return the first value of groups" ] -[ "sql", "flush_log", "command sql.flush_log():void ", "SQLflush_log;", "flush the log now" ] +[ "sql", "flush_log", "command sql.flush_log():void ", "SQLflush_log;", "start flushing the write ahead log" ] [ "sql", "getVariable", "pattern sql.getVariable(mvc:int, varname:str):any_1 ", "getVariable;", "Get the value of a session variable" ] [ "sql", "getVersion", "command sql.getVersion(clientid:int):lng ", "mvc_getVersion;", "Return the database version identifier for a client." ] [ "sql", "get_value", "pattern sql.get_value(sname:str, sequence:str):lng ", "mvc_get_value;", "return the current value of the sequence" ] [ "sql", "grow", "pattern sql.grow(tid:bat[:oid], X_0:any_1):int ", "mvc_grow_wrap;", "Resize the tid column of a declared table." ] +[ "sql", "hot_snapshot", "command sql.hot_snapshot(tarfile:str):void ", "SQLhot_snapshot;", "Write db snapshot to the given tar(.gz) file" ] [ "sql", "importTable", "unsafe pattern sql.importTable(sname:str, tname:str, onclient:int, fname:str...):bat[:any]... ", "mvc_bin_import_table_wrap;", "Import a table from the files (fname)" ] [ "sql", "include", "pattern sql.include(fname:str):void ", "SQLinclude;", "Compile and execute a sql statements on the file" ] [ "sql", "lag", "pattern sql.lag(b:any_1, l:any_2, d:any_1, p:any_3, o:any_4):any_1 ", "SQLlag;", "return the value in the previous 'l' row in the partition or 'd' if non existent" ] @@ -16151,7 +16171,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], stimeout:bat[:lng], lastcmd:bat[:timestamp], qtimeout:bat[:lng], idle:bat[:int]) ", "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;", "" ] @@ -16188,7 +16208,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 @@ -161,7 +161,7 @@ bool BATordered(BAT *b); bool BATordered_rev(BAT *b); gdk_return BATorderidx(BAT *b, bool stable); gdk_return BATouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); -gdk_return BATprint(BAT *b); +gdk_return BATprint(stream *s, BAT *b); gdk_return BATprintcolumns(stream *s, int argc, BAT *argv[]); gdk_return BATprod(void *res, int tp, BAT *b, BAT *s, bool skip_nils, bool abort_on_error, bool nil_if_empty); BAT *BATproject(BAT *l, BAT *r); @@ -929,9 +929,11 @@ str CLTgetTimeout(Client cntxt, MalBlkPt str CLTgetUsername(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTgetUsers(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTmd5sum(str *ret, str *pw); +str CLTqueryTimeout(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTquit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTremoveUser(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTripemd160sum(str *ret, str *pw); +str CLTsessionTimeout(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTsessions(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTsetListing(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTsetPassword(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); @@ -943,6 +945,7 @@ str CLTsha1sum(str *ret, str *pw); str CLTsha2sum(str *ret, str *pw, int *bits); str CLTshutdown(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTstop(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list