Changeset: 2aec394c57a1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2aec394c57a1
Branch: txtsim
Log Message:

Merge with default.


diffs (truncated from 484 to 300 lines):

diff --git a/monetdb5/modules/mal/sysmon.c b/monetdb5/modules/mal/sysmon.c
--- a/monetdb5/modules/mal/sysmon.c
+++ b/monetdb5/modules/mal/sysmon.c
@@ -25,6 +25,8 @@
 static str
 SYSMONstatistics(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
+       (void) mb;
+
        /* Temporary hack not allowing MAL clients (mclient -lmal)
           to use this function */
        if (cntxt->sqlcontext == NULL)
@@ -42,7 +44,6 @@ SYSMONstatistics(Client cntxt, MalBlkPtr
        timestamp tsn = timestamp_nil;
        str msg = MAL_SUCCEED;
 
-       (void) mb;
        user = COLnew(0, TYPE_str, usrstatscnt, TRANSIENT);
        querycount = COLnew(0, TYPE_lng, usrstatscnt, TRANSIENT);
        totalticks = COLnew(0, TYPE_lng, usrstatscnt, TRANSIENT);
@@ -164,12 +165,12 @@ SYSMONstatistics(Client cntxt, MalBlkPtr
 static str
 SYSMONqueue(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
+       (void) mb;
+
        /* Temporary hack not allowing MAL clients (mclient -lmal)
           to use this function */
        if (cntxt->sqlcontext == NULL)
-               throw(MAL, "SYSMONstatistics", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
-
-       (void)mb;
+               throw(MAL, "SYSMONqueue", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
 
        bat *t = getArgReference_bat(stk,pci,0),
                *s = getArgReference_bat(stk,pci,1),
@@ -308,10 +309,12 @@ SYSMONqueue(Client cntxt, MalBlkPtr mb, 
 static str
 SYSMONpause(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
+       (void) mb;
+
        /* Temporary hack not allowing MAL clients (mclient -lmal)
           to use this function */
        if (cntxt->sqlcontext == NULL)
-               throw(MAL, "SYSMONstatistics", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
+               throw(MAL, "SYSMONpause", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
 
        oid tag = 0;
        size_t i = 0;
@@ -348,17 +351,19 @@ SYSMONpause(Client cntxt, MalBlkPtr mb, 
        MT_lock_unset(&mal_delayLock);
 
        return paused ? MAL_SUCCEED :
-               i == qsize ? createException(MAL, "SYSMONpause", 
SQLSTATE(42S12) "Tag "LLFMT" unknown.", tag) :
-               createException(MAL, "SYSMONpause", SQLSTATE(HY009) "Tag 
"LLFMT" unknown to the user.", tag);
+               i == qsize ? createException(MAL, "SYSMONpause", 
SQLSTATE(42S12) "Tag "OIDFMT" unknown.", tag) :
+               createException(MAL, "SYSMONpause", SQLSTATE(HY009) "Tag 
"OIDFMT" unknown to the user.", tag);
 }
 
 static str
 SYSMONresume(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
+       (void) mb;
+
        /* Temporary hack not allowing MAL clients (mclient -lmal)
           to use this function */
        if (cntxt->sqlcontext == NULL)
-               throw(MAL, "SYSMONstatistics", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
+               throw(MAL, "SYSMONresume", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
 
        oid tag = 0;
        size_t i = 0;
@@ -369,9 +374,9 @@ SYSMONresume(Client cntxt, MalBlkPtr mb,
        assert(getArgType(mb, pci, 1) == TYPE_lng);
 
        if ((tag = (oid)*getArgReference_lng(stk, pci, 1)) < 1 )
-               throw(MAL, "SYSMONpause", SQLSTATE(22003) "Tag must be 
positive.");
+               throw(MAL, "SYSMONresume", SQLSTATE(22003) "Tag must be 
positive.");
        if (tag == cntxt->curprg->def->tag)
-               throw(MAL, "SYSMONpause", SQLSTATE(HY009) "SYSMONpause cannot 
pause itself.");
+               throw(MAL, "SYSMONresume", SQLSTATE(HY009) "SYSMONresume cannot 
pause itself.");
 
        MT_lock_set(&mal_delayLock);
        for (i = 0; i < qsize; i++) {
@@ -395,17 +400,19 @@ SYSMONresume(Client cntxt, MalBlkPtr mb,
        MT_lock_unset(&mal_delayLock);
 
        return paused ? MAL_SUCCEED :
-               i == qsize ? createException(MAL, "SYSMONpause", 
SQLSTATE(42S12) "Tag "LLFMT" unknown.", tag) :
-               createException(MAL, "SYSMONpause", SQLSTATE(HY009) "Tag 
"LLFMT" unknown to the user.", tag);
+               i == qsize ? createException(MAL, "SYSMONresume", 
SQLSTATE(42S12) "Tag "OIDFMT" unknown.", tag) :
+               createException(MAL, "SYSMONresume", SQLSTATE(HY009) "Tag 
"OIDFMT" unknown to the user.", tag);
 }
 
 static str
 SYSMONstop(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
+       (void) mb;
+
        /* Temporary hack not allowing MAL clients (mclient -lmal)
           to use this function */
        if (cntxt->sqlcontext == NULL)
-               throw(MAL, "SYSMONstatistics", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
+               throw(MAL, "SYSMONstop", SQLSTATE(42000) "Calling from a 
mclient -lmal.");
 
        oid tag = 0;
        size_t i = 0;
@@ -416,9 +423,9 @@ SYSMONstop(Client cntxt, MalBlkPtr mb, M
        assert(getArgType(mb, pci, 1) == TYPE_lng);
 
        if ((tag = (oid)*getArgReference_lng(stk, pci, 1)) < 1 )
-               throw(MAL, "SYSMONpause", SQLSTATE(22003) "Tag must be 
positive.");
+               throw(MAL, "SYSMONstop", SQLSTATE(22003) "Tag must be 
positive.");
        if (tag == cntxt->curprg->def->tag)
-               throw(MAL, "SYSMONpause", SQLSTATE(HY009) "SYSMONpause cannot 
pause itself.");
+               throw(MAL, "SYSMONstop", SQLSTATE(HY009) "SYSMONstop cannot 
pause itself.");
 
        MT_lock_set(&mal_delayLock);
        for (i = 0; i < qsize; i++) {
@@ -442,8 +449,8 @@ SYSMONstop(Client cntxt, MalBlkPtr mb, M
        MT_lock_unset(&mal_delayLock);
 
        return paused ? MAL_SUCCEED :
-               i == qsize ? createException(MAL, "SYSMONpause", 
SQLSTATE(42S12) "Tag "LLFMT" unknown.", tag) :
-               createException(MAL, "SYSMONpause", SQLSTATE(HY009) "Tag 
"LLFMT" unknown to the user.", tag);
+               i == qsize ? createException(MAL, "SYSMONstop", SQLSTATE(42S12) 
"Tag "OIDFMT" unknown.", tag) :
+               createException(MAL, "SYSMONstop", SQLSTATE(HY009) "Tag 
"OIDFMT" unknown to the user.", tag);
 }
 
 #include "mel.h"
diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -2,8 +2,17 @@
 # This file is updated with Maddlog
 
 * Wed Feb 15 2023 Lucas Pereira <lucas.pere...@monetdbsolutions.com>
-- SQL function sys.queue() overloaded with sys.queue(username string), 
SYSADMIN only, allowing to filter the global queue by username or use 'ALL' to 
retrive the global queue. Calling the function without arguments returns the 
current user queue.
-- SQL function sys.queue() overloaded with sys.queue(username string), 
SYSADMIN only, allowing to filter the global queue by username or use 'ALL' to 
retrive the global queue. Calling the function without arguments returns the 
current user queue.
+- SQL function sys.queue() overloaded with sys.queue(username string),
+  SYSADMIN only, allowing to filter the global queue by username or
+  use 'ALL' to retrive the global queue. Calling the function without
+  arguments returns the current user queue.
+- SQL procedures sys.pause(tag bigint), sys.resume(tag bigint),
+  sys.stop(tag bigint) overloaded with sys.pause(tag bigint, username string),
+  sys.resume(tag bigint, username string) and sys.stop(tag bigint, username
+  string), SYSADMIN only, allowing to pause, resume and stop query
+  executions by TAG,USERNAME. The call without arguments is a public
+  procedure giving access to users to pause, resume and stop their
+  own query executions.
 
 * Wed Feb 15 2023 svetlin <svetlin.stali...@monetdbsolutions.com>
 - Added JDBC/ODBC escape sequences implementation to SQL layer. Now all
diff --git a/sql/backends/monet5/sql_upgrades.c 
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -5499,21 +5499,20 @@ sql_update_default(Client c, mvc *sql, s
        /* Add new sysadmin procedure calls: stop, pause and resume with two
           arguments, first arg is query OID and second the user username that
           the query in bound to. */
-       pos = snprintf(buf, bufsize,
-                                  "SELECT id FROM sys.functions where 
name='stop' and schema_id=2000;\n");
-       if ((err = SQLstatementIntern(c, buf, "update", true, false, &output)) 
== NULL) {
-               if ((b = BBPquickdesc(output->cols[0].b)) && BATcount(b) != 2) {
-                       pos = 0;
-                       pos += snprintf(buf + pos, bufsize - pos,
-                                                       "create function 
sys.queue(username string) returns table(\"tag\" bigint, \"sessionid\" int, 
\"username\" string, \"started\" timestamp, \"status\" string, \"query\" 
string, \"finished\" timestamp, \"maxworkers\" int, \"footprint\" int) external 
name sysmon.queue;\n"
-                                                       "create procedure 
sys.pause(tag bigint, username string) external name sysmon.pause;\n"
-                                                       "create procedure 
sys.resume(tag bigint, username string) external name sysmon.resume;\n"
-                                                       "create procedure 
sys.stop(tag bigint, username string) external name sysmon.stop;\n"
-                                                       "update sys.functions 
set system = true where system <> true and mod = 'sysmon' and name in ('stop', 
'pause', 'resume', 'queue');\n");
-                       assert(pos < bufsize);
-                       printf("Running database upgrade commands:\n%s\n", buf);
-                       err = SQLstatementIntern(c, buf, "update", true, false, 
NULL);
-               }
+       sql_subtype t1, t2;
+       sql_find_subtype(&t1, "bigint", 64, 0);
+       sql_find_subtype(&t2, "clob", 0, 0);
+       if (!sql_bind_func(sql, "sys", "pause", &t1, &t2, F_PROC, true)) {
+               sql->session->status = 0; /* if the function was not found 
clean the error */
+               sql->errstr[0] = '\0';
+               pos = snprintf(buf, bufsize,
+                                          "create function sys.queue(username 
string) returns table(\"tag\" bigint, \"sessionid\" int, \"username\" string, 
\"started\" timestamp, \"status\" string, \"query\" string, \"finished\" 
timestamp, \"maxworkers\" int, \"footprint\" int) external name sysmon.queue;\n"
+                                          "create procedure sys.pause(tag 
bigint, username string) external name sysmon.pause;\n"
+                                          "create procedure sys.resume(tag 
bigint, username string) external name sysmon.resume;\n"
+                                          "create procedure sys.stop(tag 
bigint, username string) external name sysmon.stop;\n"
+                                          "update sys.functions set system = 
true where system <> true and mod = 'sysmon' and name in ('stop', 'pause', 
'resume', 'queue');\n");
+               printf("Running database upgrade commands:\n%s\n", buf);
+               err = SQLstatementIntern(c, buf, "update", true, false, NULL);
        }
 
        GDKfree(buf);
diff --git a/sql/test/emptydb/Tests/check.stable.out 
b/sql/test/emptydb/Tests/check.stable.out
--- a/sql/test/emptydb/Tests/check.stable.out
+++ b/sql/test/emptydb/Tests/check.stable.out
@@ -1887,7 +1887,7 @@ select 'null in fkeys.delete_action', de
 [ "sys.functions",     "sys",  "patindex",     "SYSTEM",       "patindex",     
"pcre", "Internal C",   "Scalar function",      false,  false,  false,  false,  
NULL,   "res_0",        "int",  32,     0,      "out",  "arg_1",        "clob", 
0,      0,      "in",   "arg_2",        "clob", 0,      0,      "in",   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "patindex",     "SYSTEM",       "patindex",     
"pcre", "Internal C",   "Scalar function",      false,  false,  false,  false,  
NULL,   "res_0",        "int",  32,     0,      "out",  "arg_1",        
"varchar",      0,      0,      "in",   "arg_2",        "varchar",      0,      
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "pause",        "SYSTEM",       "create 
procedure sys.pause(tag bigint) external name sysmon.pause;",   "sysmon",       
"MAL",  "Procedure",    true,   false,  false,  true,   NULL,   "tag",  
"bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
-[ "sys.functions",     "sys",  "stop", "SYSTEM",       "create procedure 
sys.stop(tag bigint, username string) external name sysmon.stop;",    "sysmon", 
      "MAL",  "Procedure",    true,   false,  false,  true,   NULL,   "tag",  
"bigint",       64,     0,      "in",   "username",     "clob", 0,      0,      
"in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL    ]
+[ "sys.functions",     "sys",  "pause",        "SYSTEM",       "create 
procedure sys.pause(tag bigint, username string) external name sysmon.pause;",  
"sysmon",       "MAL",  "Procedure",    true,   false,  false,  true,   NULL,   
"tag",  "bigint",       64,     0,      "in",   "username",     "clob", 0,      
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
 [ "sys.functions",     "sys",  "pcre_replace", "",     "create function 
pcre_replace(origin string, pat string, repl string, flags string) returns 
string external name pcre.replace;",        "pcre", "MAL",  "Scalar function",  
    false,  false,  false,  true,   NULL,   "result",       "clob", 0,      0,  
    "out",  "origin",       "clob", 0,      0,      "in",   "pat",  "clob", 0,  
    0,      "in",   "repl", "clob", 0,      0,      "in",   "flags",        
"clob", 0,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "percent_rank", "SYSTEM",       "percent_rank", 
"sql",  "Internal C",   "Analytic function",    false,  false,  false,  true,   
NULL,   "res_0",        "double",       53,     0,      "out",  "arg_1",        
"any",  0,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "pi",   "SYSTEM",       "pi",   "mmath",        
"Internal C",   "Scalar function",      false,  false,  false,  false,  NULL,   
"res_0",        "double",       53,     0,      "out",  NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit 
b/sql/test/emptydb/Tests/check.stable.out.32bit
--- a/sql/test/emptydb/Tests/check.stable.out.32bit
+++ b/sql/test/emptydb/Tests/check.stable.out.32bit
@@ -118,6 +118,8 @@ select 'duplicates in range_partitions',
 select 'duplicates in value_partitions', count(*), table_id, partition_id, 
"value" from sys.value_partitions group by table_id, partition_id, "value" 
having count(*) > 1;
 select 'duplicates in queue', count(*), tag from sys.queue group by tag having 
count(*) > 1;
 select 'duplicates in sessions', count(*), sessionid from sys.sessions group 
by sessionid having count(*) > 1;
+select 'duplicates in fkey_actions', count(*), action_id from sys.fkey_actions 
group by action_id having count(*) > 1;
+select 'duplicates in fkeys', count(*), id from sys.fkeys group by id having 
count(*) > 1;
 select 'duplicates in schemas', count(*), name from sys.schemas group by name 
having count(*) > 1;
 select 'duplicates in _tables', count(*), schema_id, name from sys._tables 
group by schema_id, name having count(*) > 1;
 select 'duplicates in tables', count(*), schema_id, name from sys.tables group 
by schema_id, name having count(*) > 1;
@@ -148,6 +150,8 @@ select 'duplicates in comments', count(*
 select 'duplicates in table_partitions WHERE column_id IS NOT NULL', count(*), 
table_id, column_id from sys.table_partitions WHERE column_id IS NOT NULL group 
by table_id, column_id having count(*) > 1;
 select 'duplicates in table_partitions WHERE expression IS NOT NULL', 
count(*), table_id, "expression" from sys.table_partitions WHERE "expression" 
IS NOT NULL group by table_id, "expression" having count(*) > 1;
 select 'duplicates in range_partitions', count(*), table_id, partition_id, 
"maximum" from sys.range_partitions group by table_id, partition_id, "maximum" 
having count(*) > 1;
+select 'duplicates in fkey_actions', count(*), action_name from 
sys.fkey_actions group by action_name having count(*) > 1;
+select 'duplicates in fkeys', count(*), table_id, name from sys.fkeys group by 
table_id, name having count(*) > 1;
 select 'missing reference in schemas authorization', authorization, * from 
sys.schemas where (authorization) not in (select id from sys.auths);
 select 'missing reference in schemas owner', owner, * from sys.schemas where 
(owner) not in (select id from sys.auths);
 select 'missing reference in _tables schema_id', schema_id, * from sys._tables 
where (schema_id) not in (select id from sys.schemas);
@@ -241,6 +245,11 @@ select 'missing reference in range_parti
 select 'missing reference in range_partitions partition_id', partition_id, * 
from sys.range_partitions where (partition_id) not in (select id from 
sys.table_partitions);
 select 'missing reference in value_partitions table_id', table_id, * from 
sys.value_partitions where (table_id) not in (select id from sys._tables);
 select 'missing reference in value_partitions partition_id', partition_id, * 
from sys.value_partitions where (partition_id) not in (select id from 
sys.table_partitions);
+select 'missing reference in keys cast(((action >> 8) & 255) as smallint)', 
cast(((action >> 8) & 255) as smallint), * from sys.keys WHERE action >= 0 AND  
(cast(((action >> 8) & 255) as smallint)) not in (select action_id from 
sys.fkey_actions);
+select 'missing reference in keys cast((action & 255) as smallint)', 
cast((action & 255) as smallint), * from sys.keys WHERE action >= 0 AND  
(cast((action & 255) as smallint)) not in (select action_id from 
sys.fkey_actions);
+select 'missing reference in fkeys id, table_id, type, name, rkey', id, 
table_id, type, name, rkey, * from sys.fkeys where (id, table_id, type, name, 
rkey) not in (select id, table_id, type, name, rkey from sys.keys);
+select 'missing reference in fkeys update_action_id', update_action_id, * from 
sys.fkeys where (update_action_id) not in (select action_id from 
sys.fkey_actions);
+select 'missing reference in fkeys delete_action_id', delete_action_id, * from 
sys.fkeys where (delete_action_id) not in (select action_id from 
sys.fkey_actions);
 select 'null in _columns.id', id, * from sys._columns where id is null;
 select 'null in _columns.name', name, * from sys._columns where name is null;
 select 'null in _columns.type', type, * from sys._columns where type is null;
@@ -411,6 +420,17 @@ select 'null in table_partitions.type', 
 select 'null in value_partitions.table_id', table_id, * from 
sys.value_partitions where table_id is null;
 select 'null in value_partitions.partition_id', partition_id, * from 
sys.value_partitions where partition_id is null;
 select 'null in value_partitions.value', value, * from sys.value_partitions 
where value is null;
+select 'null in fkey_actions.action_id', action_id, * from sys.fkey_actions 
where action_id is null;
+select 'null in fkey_actions.action_name', action_name, * from 
sys.fkey_actions where action_name is null;
+select 'null in fkeys.id', id, * from sys.fkeys where id is null;
+select 'null in fkeys.table_id', table_id, * from sys.fkeys where table_id is 
null;
+select 'null in fkeys.type', type, * from sys.fkeys where type is null;
+select 'null in fkeys.name', name, * from sys.fkeys where name is null;
+select 'null in fkeys.rkey', rkey, * from sys.fkeys where rkey is null;
+select 'null in fkeys.update_action_id', update_action_id, * from sys.fkeys 
where update_action_id is null;
+select 'null in fkeys.update_action', update_action, * from sys.fkeys where 
update_action is null;
+select 'null in fkeys.delete_action_id', delete_action_id, * from sys.fkeys 
where delete_action_id is null;
+select 'null in fkeys.delete_action', delete_action, * from sys.fkeys where 
delete_action is null;
 % .%1, .s,     .,      .,      .s,     . # table_name
 % %1,  name,   authorization,  owner,  system, comment # name
 % char,        varchar,        varchar,        varchar,        boolean,        
varchar # type
@@ -1415,6 +1435,8 @@ select 'null in value_partitions.value',
 [ "sys.functions",     "sys",  "atan", "SYSTEM",       "atan", "mmath",        
"Internal C",   "Scalar function",      false,  false,  false,  false,  NULL,   
"res_0",        "real", 24,     0,      "out",  "arg_1",        "real", 24,     
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
 [ "sys.functions",     "sys",  "atan", "SYSTEM",       "atan2",        
"mmath",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "double",       53,     0,      "out",  
"arg_1",        "double",       53,     0,      "in",   "arg_2",        
"double",       53,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys.functions",     "sys",  "atan", "SYSTEM",       "atan2",        
"mmath",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "real", 24,     0,      "out",  "arg_1",        
"real", 24,     0,      "in",   "arg_2",        "real", 24,     0,      "in",   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys.functions",     "sys",  "atan2",        "SYSTEM",       "atan2",        
"mmath",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "double",       53,     0,      "out",  
"arg_1",        "double",       53,     0,      "in",   "arg_2",        
"double",       53,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys.functions",     "sys",  "atan2",        "SYSTEM",       "atan2",        
"mmath",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "real", 24,     0,      "out",  "arg_1",        
"real", 24,     0,      "in",   "arg_2",        "real", 24,     0,      "in",   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "avg",  "SYSTEM",       "avg",  "aggr", 
"Internal C",   "Aggregate function",   false,  false,  false,  false,  NULL,   
"res_0",        "day_interval", 4,      0,      "out",  "arg_1",        
"day_interval", 4,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "avg",  "SYSTEM",       "avg",  "aggr", 
"Internal C",   "Aggregate function",   false,  false,  false,  false,  NULL,   
"res_0",        "decimal",      2,      0,      "out",  "arg_1",        
"decimal",      2,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "avg",  "SYSTEM",       "avg",  "aggr", 
"Internal C",   "Aggregate function",   false,  false,  false,  false,  NULL,   
"res_0",        "decimal",      4,      0,      "out",  "arg_1",        
"decimal",      4,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -1543,6 +1565,7 @@ select 'null in value_partitions.value',
 [ "sys.functions",     "sys",  "current_time", "SYSTEM",       "current_time", 
"mtime",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "timetz",       7,      0,      "out",  NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "current_timestamp",    "SYSTEM",       
"current_timestamp",    "mtime",        "Internal C",   "Scalar function",      
false,  false,  false,  false,  NULL,   "res_0",        "timestamptz",  7,      
0,      "out",  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "curtime",      "SYSTEM",       "current_time", 
"mtime",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "timetz",       7,      0,      "out",  NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
+[ "sys.functions",     "sys",  "database",     "SYSTEM",       "create 
function sys.database () returns string external name 
inspect.\"getDatabaseName\";",    "inspect",      "MAL",  "Scalar function",    
  false,  false,  false,  true,   NULL,   "result",       "clob", 0,      0,    
  "out",  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, 
  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, 
  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, 
  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, 
  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, 
  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, 
  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL, 
  NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "date_to_str",  "SYSTEM",       "create 
function date_to_str(d date, format string) returns string external name 
mtime.\"date_to_str\";",       "mtime",        "MAL",  "Scalar function",      
false,  false,  false,  true,   NULL,   "result",       "clob", 0,      0,      
"out",  "d",    "date", 0,      0,      "in",   "format",       "clob", 0,      
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "date_trunc",   "SYSTEM",       "create 
function sys.date_trunc(txt string, t timestamp with time zone) returns 
timestamp with time zone external name sql.date_trunc;",        "sql",  "MAL",  
"Scalar function",      false,  false,  false,  true,   NULL,   "result",       
"timestamptz",  7,      0,      "out",  "txt",  "clob", 0,      0,      "in",   
"t",    "timestamptz",  7,      0,      "in",   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL    ]
 [ "sys.functions",     "sys",  "date_trunc",   "SYSTEM",       "create 
function sys.date_trunc(txt string, t timestamp) returns timestamp external 
name sql.date_trunc;",      "sql",  "MAL",  "Scalar function",      false,  
false,  false,  true,   NULL,   "result",       "timestamp",    7,      0,      
"out",  "txt",  "clob", 0,      0,      "in",   "t",    "timestamp",    7,      
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -1864,6 +1887,7 @@ select 'null in value_partitions.value',
 [ "sys.functions",     "sys",  "patindex",     "SYSTEM",       "patindex",     
"pcre", "Internal C",   "Scalar function",      false,  false,  false,  false,  
NULL,   "res_0",        "int",  32,     0,      "out",  "arg_1",        "clob", 
0,      0,      "in",   "arg_2",        "clob", 0,      0,      "in",   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "patindex",     "SYSTEM",       "patindex",     
"pcre", "Internal C",   "Scalar function",      false,  false,  false,  false,  
NULL,   "res_0",        "int",  32,     0,      "out",  "arg_1",        
"varchar",      0,      0,      "in",   "arg_2",        "varchar",      0,      
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "pause",        "SYSTEM",       "create 
procedure sys.pause(tag bigint) external name sysmon.pause;",   "sysmon",       
"MAL",  "Procedure",    true,   false,  false,  true,   NULL,   "tag",  
"bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys.functions",     "sys",  "pause",        "SYSTEM",       "create 
procedure sys.pause(tag bigint, username string) external name sysmon.pause;",  
"sysmon",       "MAL",  "Procedure",    true,   false,  false,  true,   NULL,   
"tag",  "bigint",       64,     0,      "in",   "username",     "clob", 0,      
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
 [ "sys.functions",     "sys",  "pcre_replace", "",     "create function 
pcre_replace(origin string, pat string, repl string, flags string) returns 
string external name pcre.replace;",        "pcre", "MAL",  "Scalar function",  
    false,  false,  false,  true,   NULL,   "result",       "clob", 0,      0,  
    "out",  "origin",       "clob", 0,      0,      "in",   "pat",  "clob", 0,  
    0,      "in",   "repl", "clob", 0,      0,      "in",   "flags",        
"clob", 0,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "percent_rank", "SYSTEM",       "percent_rank", 
"sql",  "Internal C",   "Analytic function",    false,  false,  false,  true,   
NULL,   "res_0",        "double",       53,     0,      "out",  "arg_1",        
"any",  0,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "pi",   "SYSTEM",       "pi",   "mmath",        
"Internal C",   "Scalar function",      false,  false,  false,  false,  NULL,   
"res_0",        "double",       53,     0,      "out",  NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
@@ -1919,6 +1943,7 @@ select 'null in value_partitions.value',
 [ "sys.functions",     "sys",  "querylog_enable",      "SYSTEM",       "create 
procedure sys.querylog_enable() external name sql.querylog_enable;",    "sql",  
"MAL",  "Procedure",    true,   false,  false,  true,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "querylog_enable",      "SYSTEM",       "create 
procedure sys.querylog_enable(threshold integer) external name 
sql.querylog_enable;",   "sql",  "MAL",  "Procedure",    true,   false,  false, 
 true,   NULL,   "threshold",    "int",  32,     0,      "in",   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "queue",        "SYSTEM",       "create 
function sys.queue() returns table(\"tag\" bigint, \"sessionid\" int, 
\"username\" string, \"started\" timestamp, \"status\" string, \"query\" 
string, \"finished\" timestamp, \"maxworkers\" int, \"footprint\" int) external 
name sysmon.queue;",     "sysmon",       "MAL",  "Function returning a table",  
 false,  false,  false,  true,   NULL,   "tag",  "bigint",       64,     0,     
 "out",  "sessionid",    "int",  32,     0,      "out",  "username",     
"clob", 0,      0,      "out",  "started",      "timestamp",    7,      0,      
"out",  "status",       "clob", 0,      0,      "out",  "query",        "clob", 
0,      0,      "out",  "finished",     "timestamp",    7,      0,      "out",  
"maxworkers",   "int",  32,     0,      "out",  "footprint",    "int",  32,     
0,      "out",  NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys.functions",     "sys",  "queue",        "SYSTEM",       "create 
function sys.queue(username string) returns table(\"tag\" bigint, \"sessionid\" 
int, \"username\" string, \"started\" timestamp, \"status\" string, \"query\" 
string, \"finished\" timestamp, \"maxworkers\" int, \"footprint\" int) external 
name sysmon.queue;",      "sysmon",       "MAL",  "Function returning a table", 
  false,  false,  false,  true,   NULL,   "tag",  "bigint",       64,     0,    
  "out",  "sessionid",    "int",  32,     0,      "out",  "username",     
"clob", 0,      0,      "out",  "started",      "timestamp",    7,      0,      
"out",  "status",       "clob", 0,      0,      "out",  "query",        "clob", 
0,      0,      "out",  "finished",     "timestamp",    7,      0,      "out",  
"maxworkers",   "int",  32,     0,      "out",  "footprint",    "int",  32,     
0,      "out",  "username",     "clob", 0,      0,      "in",   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "radians",      "SYSTEM",       "radians",      
"mmath",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "double",       53,     0,      "out",  
"arg_1",        "double",       53,     0,      "in",   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "radians",      "SYSTEM",       "radians",      
"mmath",        "Internal C",   "Scalar function",      false,  false,  false,  
false,  NULL,   "res_0",        "real", 24,     0,      "out",  "arg_1",        
"real", 24,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "rand", "SYSTEM",       "rand", "mmath",        
"Internal C",   "Scalar function",      true,   false,  false,  true,   NULL,   
"res_0",        "int",  32,     0,      "out",  NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL    ]
@@ -1938,6 +1963,7 @@ select 'null in value_partitions.value',
 [ "sys.functions",     "sys",  "restart",      "SYSTEM",       "restart",      
"sql",  "Internal C",   "Scalar function",      true,   false,  false,  true,   
NULL,   "res_0",        "bigint",       64,     0,      "out",  "arg_1",        
"clob", 0,      0,      "in",   "arg_2",        "clob", 0,      0,      "in",   
"arg_3",        "bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "restart",      "SYSTEM",       "restart",      
"sql",  "Internal C",   "Scalar function",      true,   false,  false,  true,   
NULL,   "res_0",        "bigint",       64,     0,      "out",  "arg_1",        
"varchar",      0,      0,      "in",   "arg_2",        "varchar",      0,      
0,      "in",   "arg_3",        "bigint",       64,     0,      "in",   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "resume",       "SYSTEM",       "create 
procedure sys.resume(tag bigint) external name sysmon.resume;", "sysmon",       
"MAL",  "Procedure",    true,   false,  false,  true,   NULL,   "tag",  
"bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys.functions",     "sys",  "resume",       "SYSTEM",       "create 
procedure sys.resume(tag bigint, username string) external name 
sysmon.resume;",        "sysmon",       "MAL",  "Procedure",    true,   false,  
false,  true,   NULL,   "tag",  "bigint",       64,     0,      "in",   
"username",     "clob", 0,      0,      "in",   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "resume_log_flushing",  "SYSTEM",       "create 
procedure sys.resume_log_flushing() external name sql.resume_log_flushing;",    
"sql",  "MAL",  "Procedure",    true,   false,  false,  true,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "right",        "SYSTEM",       "stringright",  
"str",  "Internal C",   "Scalar function",      false,  false,  false,  false,  
NULL,   "res_0",        "char", 0,      0,      "out",  "arg_1",        "char", 
0,      0,      "in",   "arg_2",        "int",  32,     0,      "in",   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "right",        "SYSTEM",       "stringright",  
"str",  "Internal C",   "Scalar function",      false,  false,  false,  false,  
NULL,   "res_0",        "clob", 0,      0,      "out",  "arg_1",        "clob", 
0,      0,      "in",   "arg_2",        "int",  32,     0,      "in",   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
@@ -2387,6 +2413,7 @@ select 'null in value_partitions.value',
 [ "sys.functions",     "sys",  "stddev_samp",  "SYSTEM",       "create window 
stddev_samp(val smallint) returns double external name \"sql\".\"stdev\";",     
 "sql",  "MAL",  "Analytic function",    false,  false,  false,  true,   NULL,  
 "result",       "double",       53,     0,      "out",  "val",  "smallint",    
 16,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "stddev_samp",  "SYSTEM",       "create window 
stddev_samp(val tinyint) returns double external name \"sql\".\"stdev\";",      
 "sql",  "MAL",  "Analytic function",    false,  false,  false,  true,   NULL,  
 "result",       "double",       53,     0,      "out",  "val",  "tinyint",     
 8,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,  
 NULL,   NULL,   NULL    ]
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to