Changeset: 2f7b76be7873 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2f7b76be7873
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        sql/ChangeLog
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/miscellaneous/Tests/deallocate.sql
        sql/test/miscellaneous/Tests/deallocate.stable.err
        sql/test/miscellaneous/Tests/deallocate.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
Branch: default
Log Message:

Updated ChangeLog and tests approval


diffs (truncated from 509 to 300 lines):

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
@@ -11757,6 +11757,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "password",     "pattern sql.password(user:str):str ",  
"db_password_wrap;",    "Return password hash of user"  ]
 [ "sql",       "percent_rank", "pattern sql.percent_rank(b:any_1, p:bit, 
o:bit):dbl ", "SQLpercent_rank;",     "return the percentage into the total 
number of groups for each row"    ]
 [ "sql",       "prelude",      "pattern sql.prelude():void ",  "SQLprelude;",  
""      ]
+[ "sql",       "prepared_statements",  "pattern sql.prepared_statements() 
(sessionid:bat[:int], user:bat[:str], statementid:bat[:int], 
statementt:bat[:str], createdd:bat[:timestamp]) ",      
"SQLsession_prepared_statements;",      "Available prepared statements in the 
current session"  ]
 [ "sql",       "prod", "pattern sql.prod(b:bte, s:lng, e:lng):lng ",   
"SQLprod;",     "return the product of groups"  ]
 [ "sql",       "prod", "pattern sql.prod(b:dbl, s:lng, e:lng):dbl ",   
"SQLprod;",     "return the product of groups"  ]
 [ "sql",       "prod", "pattern sql.prod(b:flt, s:lng, e:lng):dbl ",   
"SQLprod;",     "return the product of groups"  ]
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
@@ -16163,6 +16163,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "password",     "pattern sql.password(user:str):str ",  
"db_password_wrap;",    "Return password hash of user"  ]
 [ "sql",       "percent_rank", "pattern sql.percent_rank(b:any_1, p:bit, 
o:bit):dbl ", "SQLpercent_rank;",     "return the percentage into the total 
number of groups for each row"    ]
 [ "sql",       "prelude",      "pattern sql.prelude():void ",  "SQLprelude;",  
""      ]
+[ "sql",       "prepared_statements",  "pattern sql.prepared_statements() 
(sessionid:bat[:int], user:bat[:str], statementid:bat[:int], 
statementt:bat[:str], createdd:bat[:timestamp]) ",      
"SQLsession_prepared_statements;",      "Available prepared statements in the 
current session"  ]
 [ "sql",       "prod", "pattern sql.prod(b:bte, s:lng, e:lng):hge ",   
"SQLprod;",     "return the product of groups"  ]
 [ "sql",       "prod", "pattern sql.prod(b:bte, s:lng, e:lng):lng ",   
"SQLprod;",     "return the product of groups"  ]
 [ "sql",       "prod", "pattern sql.prod(b:dbl, s:lng, e:lng):dbl ",   
"SQLprod;",     "return the product of groups"  ]
diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -2,9 +2,11 @@
 # This file is updated with Maddlog
 
 * Fri Dec 13 2019 Pedro Ferreira <pedro.ferre...@monetdbsolutions.com>
+- Added sys.prepared_statements view, which depicts the available prepared
+  statements in the current session.
 - Added deallocate statements with the syntax 'DEALLOCATE [PREPARE]
-  { number | ALL }', to close an existing prepared statement or all, 
-  through the SQL layer. Previously this feature was available via MAPI 
+  { number | ALL }', to close an existing prepared statement or all,
+  through the SQL layer. Previously this feature was available via MAPI
   exclusively with the "release" command.
 
 * Wed Nov 27 2019 Pedro Ferreira <pedro.ferre...@monetdbsolutions.com>
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
@@ -118,6 +118,7 @@ stdout of test 'check` in directory 'sql
 \dSv sys.geometry_columns
 \dSv sys.ids
 \dSv sys.optimizers
+\dSv sys.prepared_statements
 \dSv sys.querylog_calls
 \dSv sys.querylog_catalog
 \dSv sys.querylog_history
@@ -217,6 +218,7 @@ stdout of test 'check` in directory 'sql
 \dSf sys."optimizers"
 \dSf sys."password_hash"
 \dSf sys."pause"
+\dSf sys."prepared_statements"
 \dSf sys."quantile"
 \dSf sys."quantile_avg"
 \dSf sys."querycache"
@@ -436,6 +438,7 @@ SYSTEM VIEW  sys.environment
 SYSTEM VIEW  sys.geometry_columns
 SYSTEM VIEW  sys.ids
 SYSTEM VIEW  sys.optimizers
+SYSTEM VIEW  sys.prepared_statements
 SYSTEM VIEW  sys.querylog_calls
 SYSTEM VIEW  sys.querylog_catalog
 SYSTEM VIEW  sys.querylog_history
@@ -660,6 +663,7 @@ SYSTEM PROCEDURE        sys.pause
 SYSTEM FUNCTION         sys.percent_rank
 SYSTEM FUNCTION         sys.pi
 SYSTEM FUNCTION         sys.power
+SYSTEM FUNCTION         sys.prepared_statements
 SYSTEM AGGREGATE        sys.prod
 SYSTEM FUNCTION         sys.prod
 SYSTEM FUNCTION         sys.qgramnormalize
@@ -950,6 +954,7 @@ create view sys.environment as select * 
 create view sys.geometry_columns as select cast(null as varchar(1)) as 
f_table_catalog, s.name as f_table_schema, t.name as f_table_name, c.name as 
f_geometry_column, cast(has_z(c.type_digits) + has_m(c.type_digits) +2 as 
integer) as coord_dimension, c.type_scale as srid, get_type(c.type_digits, 0) 
as type from sys.columns c, sys.tables t, sys.schemas s where c.table_id = t.id 
and t.schema_id = s.id and c.type in (select sqlname from sys.types where 
systemname in ('wkb', 'wkba'));
 create view sys.ids (id, name, schema_id, table_id, table_name, obj_type, 
sys_table) as select id, name, cast(null as int) as schema_id, cast(null as 
int) as table_id, cast(null as varchar(124)) as table_name, 'author' as 
obj_type, 'sys.auths' as sys_table from sys.auths union all select id, name, 
cast(null as int) as schema_id, cast(null as int) as table_id, cast(null as 
varchar(124)) as table_name, 'schema', 'sys.schemas' from sys.schemas union all 
select id, name, schema_id, id as table_id, name as table_name, case when type 
= 1 then 'view' else 'table' end, 'sys._tables' from sys._tables union all 
select id, name, schema_id, id as table_id, name as table_name, case when type 
= 1 then 'view' else 'table' end, 'tmp._tables' from tmp._tables union all 
select c.id, c.name, t.schema_id, c.table_id, t.name as table_name, 'column', 
'sys._columns' from sys._columns c join sys._tables t on c.table_id = t.id 
union all select c.id, c.name, t.schema_id, c.table_id, t.name as table_name, 
'co
 lumn', 'tmp._columns' from tmp._columns c join tmp._tables t on c.table_id = 
t.id union all select k.id, k.name, t.schema_id, k.table_id, t.name as 
table_name, 'key', 'sys.keys' from sys.keys k join sys._tables t on k.table_id 
= t.id union all select k.id, k.name, t.schema_id, k.table_id, t.name as 
table_name, 'key', 'tmp.keys' from tmp.keys k join tmp._tables t on k.table_id 
= t.id union all select i.id, i.name, t.schema_id, i.table_id, t.name as 
table_name, 'index', 'sys.idxs' from sys.idxs i join sys._tables t on 
i.table_id = t.id union all select i.id, i.name, t.schema_id, i.table_id, 
t.name as table_name, 'index', 'tmp.idxs' from tmp.idxs i join tmp._tables t on 
i.table_id = t.id union all select g.id, g.name, t.schema_id, g.table_id, 
t.name as table_name, 'trigger', 'sys.triggers' from sys.triggers g join 
sys._tables t on g.table_id = t.id union all select g.id, g.name, t.schema_id, 
g.table_id, t.name as table_name, 'trigger', 'tmp.triggers' from tmp.triggers g 
join tmp._table
 s t on g.table_id = t.id union all select id, name, schema_id, cast(null as 
int) as table_id, cast(null as varchar(124)) as table_name, case when type = 2 
then 'procedure' else 'function' end, 'sys.functions' from sys.functions union 
all select a.id, a.name, f.schema_id, cast(null as int) as table_id, cast(null 
as varchar(124)) as table_name, case when f.type = 2 then 'procedure arg' else 
'function arg' end, 'sys.args' from sys.args a join sys.functions f on 
a.func_id = f.id union all select id, name, schema_id, cast(null as int) as 
table_id, cast(null as varchar(124)) as table_name, 'sequence', 'sys.sequences' 
from sys.sequences union all select id, sqlname, schema_id, cast(null as int) 
as table_id, cast(null as varchar(124)) as table_name, 'type', 'sys.types' from 
sys.types where id > 2000 order by id;
 create view sys.optimizers as select * from sys.optimizers();
+create view sys.prepared_statements as select * from sys.prepared_statements();
 create view sys.querylog_calls as select * from sys.querylog_calls();
 create view sys.querylog_catalog as select * from sys.querylog_catalog();
 create view sys.querylog_history as select qd.*, ql."start",ql."stop", 
ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.io from 
sys.querylog_catalog() qd, sys.querylog_calls() ql where qd.id = ql.id and 
qd.owner = user;
@@ -1100,6 +1105,7 @@ create procedure sys.pause(tag bigint) e
 create procedure sys.pause(tag int) external name sql.sysmon_pause;
 create procedure sys.pause(tag smallint) external name sql.sysmon_pause;
 create procedure sys.pause(tag tinyint) external name sql.sysmon_pause;
+create function sys.prepared_statements() returns table("sessionid" int, 
"user" string, "statementid" int, "statement" string, "created" timestamp) 
external name sql.prepared_statements;
 create aggregate quantile(val bigint, q double) returns bigint external name 
"aggr"."quantile";
 create aggregate quantile(val date, q double) returns date external name 
"aggr"."quantile";
 create aggregate quantile(val decimal, q double) returns decimal external name 
"aggr"."quantile";
@@ -1493,6 +1499,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "netcdf_vars",  NULL,   "TABLE",        true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "objects",      NULL,   "TABLE",        true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "optimizers",   "create view sys.optimizers as select * from 
sys.optimizers();",        "VIEW", true,   "COMMIT",       "WRITABLE"      ]
+[ "sys",       "prepared_statements",  "create view sys.prepared_statements as 
select * from sys.prepared_statements();",      "VIEW", true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "privilege_codes",      NULL,   "TABLE",        true,   
"COMMIT",       "READONLY"      ]
 [ "sys",       "privileges",   NULL,   "TABLE",        true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "querylog_calls",       "create view sys.querylog_calls as 
select * from sys.querylog_calls();",        "VIEW", true,   "COMMIT",       
"WRITABLE"      ]
@@ -1903,6 +1910,11 @@ drop function pcre_replace(string, strin
 [ "pg",        "cl",   "clob", 0,      0,      NULL,   true,   3,      NULL    
]
 [ "pg",        "pp",   "clob", 0,      0,      NULL,   true,   4,      NULL    
]
 [ "pg",        "vn",   "clob", 0,      0,      NULL,   true,   5,      NULL    
]
+[ "prepared_statements",       "sessionid",    "int",  32,     0,      NULL,   
true,   0,      NULL    ]
+[ "prepared_statements",       "user", "clob", 0,      0,      NULL,   true,   
1,      NULL    ]
+[ "prepared_statements",       "statementid",  "int",  32,     0,      NULL,   
true,   2,      NULL    ]
+[ "prepared_statements",       "statement",    "clob", 0,      0,      NULL,   
true,   3,      NULL    ]
+[ "prepared_statements",       "created",      "timestamp",    7,      0,      
NULL,   true,   4,      NULL    ]
 [ "privilege_codes",   "privilege_code_id",    "int",  32,     0,      NULL,   
false,  0,      NULL    ]
 [ "privilege_codes",   "privilege_code_name",  "varchar",      40,     0,      
NULL,   false,  1,      NULL    ]
 [ "privileges",        "obj_id",       "int",  32,     0,      NULL,   true,   
0,      NULL    ]
@@ -4034,12 +4046,13 @@ drop function pcre_replace(string, strin
 % sys.s1,      sys.f1, sys.s2, sys.t2, .dt # table_name
 % name,        name,   name,   name,   dependency_type_name # name
 % varchar,     varchar,        varchar,        varchar,        varchar # type
-% 3,   16,     3,      17,     4 # length
+% 3,   19,     3,      19,     4 # length
 [ "sys",       "env",  "sys",  "environment",  "VIEW"  ]
 [ "sys",       "get_type",     "sys",  "geometry_columns",     "VIEW"  ]
 [ "sys",       "has_m",        "sys",  "geometry_columns",     "VIEW"  ]
 [ "sys",       "has_z",        "sys",  "geometry_columns",     "VIEW"  ]
 [ "sys",       "optimizers",   "sys",  "optimizers",   "VIEW"  ]
+[ "sys",       "prepared_statements",  "sys",  "prepared_statements",  "VIEW"  
]
 [ "sys",       "querylog_calls",       "sys",  "querylog_calls",       "VIEW"  
]
 [ "sys",       "querylog_catalog",     "sys",  "querylog_catalog",     "VIEW"  
]
 [ "sys",       "querylog_calls",       "sys",  "querylog_history",     "VIEW"  
]
@@ -4850,6 +4863,7 @@ drop function pcre_replace(string, strin
 [ "netcdf_vars",       "public",       "SELECT",       "monetdb",      0       
]
 [ "objects",   "public",       "SELECT",       NULL,   0       ]
 [ "pg",        "public",       "SELECT",       "monetdb",      0       ]
+[ "prepared_statements",       "public",       "SELECT",       "monetdb",      
0       ]
 [ "privilege_codes",   "public",       "SELECT",       "monetdb",      0       
]
 [ "privileges",        "public",       "SELECT",       NULL,   0       ]
 [ "queue",     "public",       "SELECT",       "monetdb",      0       ]
@@ -4981,6 +4995,7 @@ drop function pcre_replace(string, strin
 [ "newurl",    "public",       "EXECUTE",      "monetdb",      0       ]
 [ "number",    "public",       "EXECUTE",      "monetdb",      0       ]
 [ "output",    "public",       "EXECUTE",      "monetdb",      0       ]
+[ "prepared_statements",       "public",       "EXECUTE",      "monetdb",      
0       ]
 [ "quantile",  "public",       "EXECUTE",      "monetdb",      0       ]
 [ "quantile",  "public",       "EXECUTE",      "monetdb",      0       ]
 [ "quantile",  "public",       "EXECUTE",      "monetdb",      0       ]
@@ -5303,6 +5318,7 @@ drop function pcre_replace(string, strin
 [ "CURRENT_TIMESTAMP"  ]
 [ "CURRENT_USER"       ]
 [ "DAY"        ]
+[ "DEALLOCATE" ]
 [ "DEC"        ]
 [ "DECIMAL"    ]
 [ "DECLARE"    ]
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,7 @@ stdout of test 'check` in directory 'sql
 \dSv sys.geometry_columns
 \dSv sys.ids
 \dSv sys.optimizers
+\dSv sys.prepared_statements
 \dSv sys.querylog_calls
 \dSv sys.querylog_catalog
 \dSv sys.querylog_history
@@ -217,6 +218,7 @@ stdout of test 'check` in directory 'sql
 \dSf sys."optimizers"
 \dSf sys."password_hash"
 \dSf sys."pause"
+\dSf sys."prepared_statements"
 \dSf sys."quantile"
 \dSf sys."quantile_avg"
 \dSf sys."querycache"
@@ -438,6 +440,7 @@ SYSTEM VIEW  sys.environment
 SYSTEM VIEW  sys.geometry_columns
 SYSTEM VIEW  sys.ids
 SYSTEM VIEW  sys.optimizers
+SYSTEM VIEW  sys.prepared_statements
 SYSTEM VIEW  sys.querylog_calls
 SYSTEM VIEW  sys.querylog_catalog
 SYSTEM VIEW  sys.querylog_history
@@ -662,6 +665,7 @@ SYSTEM PROCEDURE        sys.pause
 SYSTEM FUNCTION         sys.percent_rank
 SYSTEM FUNCTION         sys.pi
 SYSTEM FUNCTION         sys.power
+SYSTEM FUNCTION         sys.prepared_statements
 SYSTEM AGGREGATE        sys.prod
 SYSTEM FUNCTION         sys.prod
 SYSTEM FUNCTION         sys.qgramnormalize
@@ -954,6 +958,7 @@ create view sys.environment as select * 
 create view sys.geometry_columns as select cast(null as varchar(1)) as 
f_table_catalog, s.name as f_table_schema, t.name as f_table_name, c.name as 
f_geometry_column, cast(has_z(c.type_digits) + has_m(c.type_digits) +2 as 
integer) as coord_dimension, c.type_scale as srid, get_type(c.type_digits, 0) 
as type from sys.columns c, sys.tables t, sys.schemas s where c.table_id = t.id 
and t.schema_id = s.id and c.type in (select sqlname from sys.types where 
systemname in ('wkb', 'wkba'));
 create view sys.ids (id, name, schema_id, table_id, table_name, obj_type, 
sys_table) as select id, name, cast(null as int) as schema_id, cast(null as 
int) as table_id, cast(null as varchar(124)) as table_name, 'author' as 
obj_type, 'sys.auths' as sys_table from sys.auths union all select id, name, 
cast(null as int) as schema_id, cast(null as int) as table_id, cast(null as 
varchar(124)) as table_name, 'schema', 'sys.schemas' from sys.schemas union all 
select id, name, schema_id, id as table_id, name as table_name, case when type 
= 1 then 'view' else 'table' end, 'sys._tables' from sys._tables union all 
select id, name, schema_id, id as table_id, name as table_name, case when type 
= 1 then 'view' else 'table' end, 'tmp._tables' from tmp._tables union all 
select c.id, c.name, t.schema_id, c.table_id, t.name as table_name, 'column', 
'sys._columns' from sys._columns c join sys._tables t on c.table_id = t.id 
union all select c.id, c.name, t.schema_id, c.table_id, t.name as table_name, 
'co
 lumn', 'tmp._columns' from tmp._columns c join tmp._tables t on c.table_id = 
t.id union all select k.id, k.name, t.schema_id, k.table_id, t.name as 
table_name, 'key', 'sys.keys' from sys.keys k join sys._tables t on k.table_id 
= t.id union all select k.id, k.name, t.schema_id, k.table_id, t.name as 
table_name, 'key', 'tmp.keys' from tmp.keys k join tmp._tables t on k.table_id 
= t.id union all select i.id, i.name, t.schema_id, i.table_id, t.name as 
table_name, 'index', 'sys.idxs' from sys.idxs i join sys._tables t on 
i.table_id = t.id union all select i.id, i.name, t.schema_id, i.table_id, 
t.name as table_name, 'index', 'tmp.idxs' from tmp.idxs i join tmp._tables t on 
i.table_id = t.id union all select g.id, g.name, t.schema_id, g.table_id, 
t.name as table_name, 'trigger', 'sys.triggers' from sys.triggers g join 
sys._tables t on g.table_id = t.id union all select g.id, g.name, t.schema_id, 
g.table_id, t.name as table_name, 'trigger', 'tmp.triggers' from tmp.triggers g 
join tmp._table
 s t on g.table_id = t.id union all select id, name, schema_id, cast(null as 
int) as table_id, cast(null as varchar(124)) as table_name, case when type = 2 
then 'procedure' else 'function' end, 'sys.functions' from sys.functions union 
all select a.id, a.name, f.schema_id, cast(null as int) as table_id, cast(null 
as varchar(124)) as table_name, case when f.type = 2 then 'procedure arg' else 
'function arg' end, 'sys.args' from sys.args a join sys.functions f on 
a.func_id = f.id union all select id, name, schema_id, cast(null as int) as 
table_id, cast(null as varchar(124)) as table_name, 'sequence', 'sys.sequences' 
from sys.sequences union all select id, sqlname, schema_id, cast(null as int) 
as table_id, cast(null as varchar(124)) as table_name, 'type', 'sys.types' from 
sys.types where id > 2000 order by id;
 create view sys.optimizers as select * from sys.optimizers();
+create view sys.prepared_statements as select * from sys.prepared_statements();
 create view sys.querylog_calls as select * from sys.querylog_calls();
 create view sys.querylog_catalog as select * from sys.querylog_catalog();
 create view sys.querylog_history as select qd.*, ql."start",ql."stop", 
ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.io from 
sys.querylog_catalog() qd, sys.querylog_calls() ql where qd.id = ql.id and 
qd.owner = user;
@@ -1104,6 +1109,7 @@ create procedure sys.pause(tag bigint) e
 create procedure sys.pause(tag int) external name sql.sysmon_pause;
 create procedure sys.pause(tag smallint) external name sql.sysmon_pause;
 create procedure sys.pause(tag tinyint) external name sql.sysmon_pause;
+create function sys.prepared_statements() returns table("sessionid" int, 
"user" string, "statementid" int, "statement" string, "created" timestamp) 
external name sql.prepared_statements;
 create aggregate quantile(val bigint, q double) returns bigint external name 
"aggr"."quantile";
 create aggregate quantile(val date, q double) returns date external name 
"aggr"."quantile";
 create aggregate quantile(val decimal, q double) returns decimal external name 
"aggr"."quantile";
@@ -1487,6 +1493,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "netcdf_vars",  NULL,   "TABLE",        true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "objects",      NULL,   "TABLE",        true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "optimizers",   "create view sys.optimizers as select * from 
sys.optimizers();",        "VIEW", true,   "COMMIT",       "WRITABLE"      ]
+[ "sys",       "prepared_statements",  "create view sys.prepared_statements as 
select * from sys.prepared_statements();",      "VIEW", true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "privilege_codes",      NULL,   "TABLE",        true,   
"COMMIT",       "READONLY"      ]
 [ "sys",       "privileges",   NULL,   "TABLE",        true,   "COMMIT",       
"WRITABLE"      ]
 [ "sys",       "querylog_calls",       "create view sys.querylog_calls as 
select * from sys.querylog_calls();",        "VIEW", true,   "COMMIT",       
"WRITABLE"      ]
@@ -1897,6 +1904,11 @@ drop function pcre_replace(string, strin
 [ "pg",        "cl",   "clob", 0,      0,      NULL,   true,   3,      NULL    
]
 [ "pg",        "pp",   "clob", 0,      0,      NULL,   true,   4,      NULL    
]
 [ "pg",        "vn",   "clob", 0,      0,      NULL,   true,   5,      NULL    
]
+[ "prepared_statements",       "sessionid",    "int",  32,     0,      NULL,   
true,   0,      NULL    ]
+[ "prepared_statements",       "user", "clob", 0,      0,      NULL,   true,   
1,      NULL    ]
+[ "prepared_statements",       "statementid",  "int",  32,     0,      NULL,   
true,   2,      NULL    ]
+[ "prepared_statements",       "statement",    "clob", 0,      0,      NULL,   
true,   3,      NULL    ]
+[ "prepared_statements",       "created",      "timestamp",    7,      0,      
NULL,   true,   4,      NULL    ]
 [ "privilege_codes",   "privilege_code_id",    "int",  32,     0,      NULL,   
false,  0,      NULL    ]
 [ "privilege_codes",   "privilege_code_name",  "varchar",      40,     0,      
NULL,   false,  1,      NULL    ]
 [ "privileges",        "obj_id",       "int",  32,     0,      NULL,   true,   
0,      NULL    ]
@@ -4017,12 +4029,13 @@ drop function pcre_replace(string, strin
 % sys.s1,      sys.f1, sys.s2, sys.t2, .dt # table_name
 % name,        name,   name,   name,   dependency_type_name # name
 % varchar,     varchar,        varchar,        varchar,        varchar # type
-% 3,   16,     3,      17,     4 # length
+% 3,   19,     3,      19,     4 # length
 [ "sys",       "env",  "sys",  "environment",  "VIEW"  ]
 [ "sys",       "get_type",     "sys",  "geometry_columns",     "VIEW"  ]
 [ "sys",       "has_m",        "sys",  "geometry_columns",     "VIEW"  ]
 [ "sys",       "has_z",        "sys",  "geometry_columns",     "VIEW"  ]
 [ "sys",       "optimizers",   "sys",  "optimizers",   "VIEW"  ]
+[ "sys",       "prepared_statements",  "sys",  "prepared_statements",  "VIEW"  
]
 [ "sys",       "querylog_calls",       "sys",  "querylog_calls",       "VIEW"  
]
 [ "sys",       "querylog_catalog",     "sys",  "querylog_catalog",     "VIEW"  
]
 [ "sys",       "querylog_calls",       "sys",  "querylog_history",     "VIEW"  
]
@@ -4833,6 +4846,7 @@ drop function pcre_replace(string, strin
 [ "netcdf_vars",       "public",       "SELECT",       "monetdb",      0       
]
 [ "objects",   "public",       "SELECT",       NULL,   0       ]
 [ "pg",        "public",       "SELECT",       "monetdb",      0       ]
+[ "prepared_statements",       "public",       "SELECT",       "monetdb",      
0       ]
 [ "privilege_codes",   "public",       "SELECT",       "monetdb",      0       
]
 [ "privileges",        "public",       "SELECT",       NULL,   0       ]
 [ "queue",     "public",       "SELECT",       "monetdb",      0       ]
@@ -4964,6 +4978,7 @@ drop function pcre_replace(string, strin
 [ "newurl",    "public",       "EXECUTE",      "monetdb",      0       ]
 [ "number",    "public",       "EXECUTE",      "monetdb",      0       ]
 [ "output",    "public",       "EXECUTE",      "monetdb",      0       ]
+[ "prepared_statements",       "public",       "EXECUTE",      "monetdb",      
0       ]
 [ "quantile",  "public",       "EXECUTE",      "monetdb",      0       ]
 [ "quantile",  "public",       "EXECUTE",      "monetdb",      0       ]
 [ "quantile",  "public",       "EXECUTE",      "monetdb",      0       ]
@@ -5286,6 +5301,7 @@ drop function pcre_replace(string, strin
 [ "CURRENT_TIMESTAMP"  ]
 [ "CURRENT_USER"       ]
 [ "DAY"        ]
+[ "DEALLOCATE" ]
 [ "DEC"        ]
 [ "DECIMAL"    ]
 [ "DECLARE"    ]
diff --git a/sql/test/emptydb/Tests/check.stable.out.int128 
b/sql/test/emptydb/Tests/check.stable.out.int128
--- a/sql/test/emptydb/Tests/check.stable.out.int128
+++ b/sql/test/emptydb/Tests/check.stable.out.int128
@@ -118,6 +118,7 @@ stdout of test 'check` in directory 'sql
 \dSv sys.geometry_columns
 \dSv sys.ids
 \dSv sys.optimizers
+\dSv sys.prepared_statements
 \dSv sys.querylog_calls
 \dSv sys.querylog_catalog
 \dSv sys.querylog_history
@@ -217,6 +218,7 @@ stdout of test 'check` in directory 'sql
 \dSf sys."optimizers"
 \dSf sys."password_hash"
 \dSf sys."pause"
+\dSf sys."prepared_statements"
 \dSf sys."quantile"
 \dSf sys."quantile_avg"
 \dSf sys."querycache"
@@ -436,6 +438,7 @@ SYSTEM VIEW  sys.environment
 SYSTEM VIEW  sys.geometry_columns
 SYSTEM VIEW  sys.ids
 SYSTEM VIEW  sys.optimizers
+SYSTEM VIEW  sys.prepared_statements
 SYSTEM VIEW  sys.querylog_calls
 SYSTEM VIEW  sys.querylog_catalog
 SYSTEM VIEW  sys.querylog_history
@@ -660,6 +663,7 @@ SYSTEM PROCEDURE        sys.pause
 SYSTEM FUNCTION         sys.percent_rank
 SYSTEM FUNCTION         sys.pi
 SYSTEM FUNCTION         sys.power
+SYSTEM FUNCTION         sys.prepared_statements
 SYSTEM AGGREGATE        sys.prod
 SYSTEM FUNCTION         sys.prod
 SYSTEM FUNCTION         sys.qgramnormalize
@@ -950,6 +954,7 @@ create view sys.environment as select * 
 create view sys.geometry_columns as select cast(null as varchar(1)) as 
f_table_catalog, s.name as f_table_schema, t.name as f_table_name, c.name as 
f_geometry_column, cast(has_z(c.type_digits) + has_m(c.type_digits) +2 as 
integer) as coord_dimension, c.type_scale as srid, get_type(c.type_digits, 0) 
as type from sys.columns c, sys.tables t, sys.schemas s where c.table_id = t.id 
and t.schema_id = s.id and c.type in (select sqlname from sys.types where 
systemname in ('wkb', 'wkba'));
 create view sys.ids (id, name, schema_id, table_id, table_name, obj_type, 
sys_table) as select id, name, cast(null as int) as schema_id, cast(null as 
int) as table_id, cast(null as varchar(124)) as table_name, 'author' as 
obj_type, 'sys.auths' as sys_table from sys.auths union all select id, name, 
cast(null as int) as schema_id, cast(null as int) as table_id, cast(null as 
varchar(124)) as table_name, 'schema', 'sys.schemas' from sys.schemas union all 
select id, name, schema_id, id as table_id, name as table_name, case when type 
= 1 then 'view' else 'table' end, 'sys._tables' from sys._tables union all 
select id, name, schema_id, id as table_id, name as table_name, case when type 
= 1 then 'view' else 'table' end, 'tmp._tables' from tmp._tables union all 
select c.id, c.name, t.schema_id, c.table_id, t.name as table_name, 'column', 
'sys._columns' from sys._columns c join sys._tables t on c.table_id = t.id 
union all select c.id, c.name, t.schema_id, c.table_id, t.name as table_name, 
'co
 lumn', 'tmp._columns' from tmp._columns c join tmp._tables t on c.table_id = 
t.id union all select k.id, k.name, t.schema_id, k.table_id, t.name as 
table_name, 'key', 'sys.keys' from sys.keys k join sys._tables t on k.table_id 
= t.id union all select k.id, k.name, t.schema_id, k.table_id, t.name as 
table_name, 'key', 'tmp.keys' from tmp.keys k join tmp._tables t on k.table_id 
= t.id union all select i.id, i.name, t.schema_id, i.table_id, t.name as 
table_name, 'index', 'sys.idxs' from sys.idxs i join sys._tables t on 
i.table_id = t.id union all select i.id, i.name, t.schema_id, i.table_id, 
t.name as table_name, 'index', 'tmp.idxs' from tmp.idxs i join tmp._tables t on 
i.table_id = t.id union all select g.id, g.name, t.schema_id, g.table_id, 
t.name as table_name, 'trigger', 'sys.triggers' from sys.triggers g join 
sys._tables t on g.table_id = t.id union all select g.id, g.name, t.schema_id, 
g.table_id, t.name as table_name, 'trigger', 'tmp.triggers' from tmp.triggers g 
join tmp._table
 s t on g.table_id = t.id union all select id, name, schema_id, cast(null as 
int) as table_id, cast(null as varchar(124)) as table_name, case when type = 2 
then 'procedure' else 'function' end, 'sys.functions' from sys.functions union 
all select a.id, a.name, f.schema_id, cast(null as int) as table_id, cast(null 
as varchar(124)) as table_name, case when f.type = 2 then 'procedure arg' else 
'function arg' end, 'sys.args' from sys.args a join sys.functions f on 
a.func_id = f.id union all select id, name, schema_id, cast(null as int) as 
table_id, cast(null as varchar(124)) as table_name, 'sequence', 'sys.sequences' 
from sys.sequences union all select id, sqlname, schema_id, cast(null as int) 
as table_id, cast(null as varchar(124)) as table_name, 'type', 'sys.types' from 
sys.types where id > 2000 order by id;
 create view sys.optimizers as select * from sys.optimizers();
+create view sys.prepared_statements as select * from sys.prepared_statements();
 create view sys.querylog_calls as select * from sys.querylog_calls();
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to