Changeset: ab0bb5129b29 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ab0bb5129b29
Modified Files:
        sql/backends/monet5/sql_upgrades.c
        sql/scripts/91_information_schema.sql
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
Branch: Aug2024
Log Message:

Added cast() for the check_clause output column.


diffs (87 lines):

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
@@ -7150,7 +7150,7 @@ sql_update_aug2024(Client c, mvc *sql, s
                                                                        "  
cast(NULL AS varchar(1)) AS CONSTRAINT_CATALOG,\n"
                                                                        "  
s.\"name\" AS CONSTRAINT_SCHEMA,\n"
                                                                        "  
k.\"name\" AS CONSTRAINT_NAME,\n"
-                                                                       "  
sys.check_constraint(s.\"name\", k.\"name\") AS CHECK_CLAUSE,\n"
+                                                                       "  
cast(sys.check_constraint(s.\"name\", k.\"name\") AS varchar(2048)) AS 
CHECK_CLAUSE,\n"
                                                                        "  
t.\"schema_id\" AS schema_id,\n"
                                                                        "  
t.\"id\" AS table_id,\n"
                                                                        "  
t.\"name\" AS table_name,\n"
diff --git a/sql/scripts/91_information_schema.sql 
b/sql/scripts/91_information_schema.sql
--- a/sql/scripts/91_information_schema.sql
+++ b/sql/scripts/91_information_schema.sql
@@ -197,7 +197,7 @@ CREATE VIEW INFORMATION_SCHEMA.CHECK_CON
   cast(NULL AS varchar(1)) AS CONSTRAINT_CATALOG,
   s."name" AS CONSTRAINT_SCHEMA,
   k."name" AS CONSTRAINT_NAME,
-  sys.check_constraint(s."name", k."name") AS CHECK_CLAUSE,
+  cast(sys.check_constraint(s."name", k."name") AS varchar(2048)) AS 
CHECK_CLAUSE,
   -- MonetDB column extensions
   t."schema_id" AS schema_id,
   t."id" AS table_id,
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
@@ -446,7 +446,7 @@ select 'null in fkeys.delete_action', de
 % varchar,     varchar,        varchar,        varchar,        varchar,        
boolean,        varchar,        varchar,        varchar # type
 % 11,  18,     34,     6812,   5,      5,      8,      8,      0 # length
 [ "sys._tables",       "information_schema",   "character_sets",       "create 
view information_schema.character_sets as select cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast('UTF-8' as varchar(16)) as character_set_name, cast('ISO/IEC 10646:2021' 
as varchar(20)) as character_repertoire, cast('UTF-8' as varchar(16)) as 
form_of_use, cast(null as varchar(1)) as default_collate_catalog, cast(null as 
varchar(1)) as default_collate_schema, cast(null as varchar(1)) as 
default_collate_name;",  "VIEW", true,   "COMMIT",       "WRITABLE",     NULL   
 ]
-[ "sys._tables",       "information_schema",   "check_constraints",    "create 
view information_schema.check_constraints as select cast(null as varchar(1)) as 
constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as 
constraint_name, sys.check_constraint(s.\"name\", k.\"name\") as check_clause, 
t.\"schema_id\" as schema_id, t.\"id\" as table_id, t.\"name\" as table_name, 
k.\"id\" as key_id from (select sk.\"id\", sk.\"table_id\", sk.\"name\" from 
sys.\"keys\" sk where sk.\"type\" = 4 union all select tk.\"id\", 
tk.\"table_id\", tk.\"name\" from tmp.\"keys\" tk where tk.\"type\" = 4) k 
inner join (select st.\"id\", st.\"schema_id\", st.\"name\" from 
sys.\"_tables\" st union all select tt.\"id\", tt.\"schema_id\", tt.\"name\" 
from tmp.\"_tables\" tt) t on k.\"table_id\" = t.\"id\" inner join 
sys.\"schemas\" s on t.\"schema_id\" = s.\"id\" order by s.\"name\", 
t.\"name\", k.\"name\";",       "VIEW", true,   "COMMIT",       "WRITABLE",     
NULL    ]
+[ "sys._tables",       "information_schema",   "check_constraints",    "create 
view information_schema.check_constraints as select cast(null as varchar(1)) as 
constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as 
constraint_name, cast(sys.check_constraint(s.\"name\", k.\"name\") as 
varchar(2048)) as check_clause, t.\"schema_id\" as schema_id, t.\"id\" as 
table_id, t.\"name\" as table_name, k.\"id\" as key_id from (select sk.\"id\", 
sk.\"table_id\", sk.\"name\" from sys.\"keys\" sk where sk.\"type\" = 4 union 
all select tk.\"id\", tk.\"table_id\", tk.\"name\" from tmp.\"keys\" tk where 
tk.\"type\" = 4) k inner join (select st.\"id\", st.\"schema_id\", st.\"name\" 
from sys.\"_tables\" st union all select tt.\"id\", tt.\"schema_id\", 
tt.\"name\" from tmp.\"_tables\" tt) t on k.\"table_id\" = t.\"id\" inner join 
sys.\"schemas\" s on t.\"schema_id\" = s.\"id\" order by s.\"name\", 
t.\"name\", k.\"name\";",        "VIEW", true,   "COMMIT",       "WRITABLE",    
 NULL    ]
 [ "sys._tables",       "information_schema",   "columns",      "create view 
information_schema.columns as select cast(null as varchar(1)) as table_catalog, 
s.\"name\" as table_schema, t.\"name\" as table_name, c.\"name\" as 
column_name, cast(1 + c.\"number\" as int) as ordinal_position, c.\"default\" 
as column_default, cast(sys.ifthenelse(c.\"null\", 'YES', 'NO') as varchar(3)) 
as is_nullable, cast(sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", 
c.\"type_scale\", true, true) as varchar(1024)) as data_type, 
cast(sys.ifthenelse(c.\"type\" in ('varchar','clob','char','json','url','xml') 
and c.\"type_digits\" > 0, c.\"type_digits\", null) as int) as 
character_maximum_length, cast(sys.ifthenelse(c.\"type\" in 
('varchar','clob','char','json','url','xml') and c.\"type_digits\" > 0, 4 * 
cast(c.\"type_digits\" as bigint), null) as bigint) as character_octet_length, 
cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"
 type_digits\", null) as int) as numeric_precision, 
cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(c.\"type\" in ('decimal','numeric'), 10, null)) as int) as 
numeric_precision_radix, cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"type_scale\", null) as int) as numeric_scale, 
cast(sys.ifthenelse(c.\"type\" in 
('date','timestamp','timestamptz','time','timetz'), 
sys.ifthenelse(c.\"type_scale\" > 0, c.\"type_scale\" -1, 0), null) as int) as 
datetime_precision, cast(sys.ifthenelse(c.\"type\" in 
('day_interval','month_interval','sec_interval'), 
sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", c.\"type_scale\", true, 
true), null) as varchar(40)) as interval_type, cast(case c.\"type\" when 
'day_interval' then 0 when 'month_interval' then 0 when 'sec_interval' then 
(sys.ifthenelse(c.\"type_digits\" in (7, 10, 12, 13), 
 sys.ifthenelse(c.\"type_scale\" > 0, c.\"type_scale\", 3), 0)) else null end 
as int) as interval_precision, cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast(sys.ifthenelse(c.\"type\" in ('varchar','clob','char','json','url','xml'), 
'UTF-8', null) as varchar(16)) as character_set_name, cast(null as varchar(1)) 
as collation_catalog, cast(null as varchar(1)) as collation_schema, cast(null 
as varchar(1)) as collation_name, cast(null as varchar(1)) as domain_catalog, 
cast(null as varchar(1)) as domain_schema, cast(null as varchar(1)) as 
domain_name, cast(null as varchar(1)) as udt_catalog, cast(null as varchar(1)) 
as udt_schema, cast(null as varchar(1)) as udt_name, cast(null as varchar(1)) 
as scope_catalog, cast(null as varchar(1)) as scope_schema, cast(null as 
varchar(1)) as scope_name, cast(null as int) as maximum_cardinality, cast(null 
as varchar(1)) as dtd_identifier, cast('NO' as varchar(3)) as 
is_self_referencing, cast(sys.i
 fthenelse(seq.\"name\" is null or c.\"null\", 'NO', 'YES') as varchar(3)) as 
is_identity, seq.\"name\" as identity_generation, seq.\"start\" as 
identity_start, seq.\"increment\" as identity_increment, seq.\"maxvalue\" as 
identity_maximum, seq.\"minvalue\" as identity_minimum, 
cast(sys.ifthenelse(seq.\"name\" is null, null, sys.ifthenelse(seq.\"cycle\", 
'YES', 'NO')) as varchar(3)) as identity_cycle, 
cast(sys.ifthenelse(seq.\"name\" is null, 'NO', 'YES') as varchar(3)) as 
is_generated, cast(sys.ifthenelse(seq.\"name\" is null, null, c.\"default\") as 
varchar(1024)) as generation_expression, cast('NO' as varchar(3)) as 
is_system_time_period_start, cast('NO' as varchar(3)) as 
is_system_time_period_end, cast('NO' as varchar(3)) as 
system_time_period_timestamp_generation, cast(sys.ifthenelse(t.\"type\" in 
(0,3,7,20,30), 'YES', 'NO') as varchar(3)) as is_updatable, cast(null as 
varchar(1)) as declared_data_type, cast(null as int) as 
declared_numeric_precision, cast(null as int) as declare
 d_numeric_scale, t.\"schema_id\" as schema_id, c.\"table_id\" as table_id, 
c.\"id\" as column_id, seq.\"id\" as sequence_id, t.\"system\" as is_system, 
cm.\"remark\" as comments from sys.\"columns\" c inner join sys.\"tables\" t on 
c.\"table_id\" = t.\"id\" inner join sys.\"schemas\" s on t.\"schema_id\" = 
s.\"id\" left outer join sys.\"comments\" cm on c.\"id\" = cm.\"id\" left outer 
join sys.\"sequences\" seq on ((seq.\"name\"||'\"') = substring(c.\"default\", 
3 + sys.\"locate\"('\".\"seq_',c.\"default\",14))) order by s.\"name\", 
t.\"name\", c.\"number\";", "VIEW", true,   "COMMIT",       "WRITABLE",     
NULL    ]
 [ "sys._tables",       "information_schema",   "parameters",   "create view 
information_schema.parameters as select cast(null as varchar(1)) as 
specific_catalog, s.\"name\" as specific_schema, 
cast(f.\"name\"||'('||f.\"id\"||')' as varchar(270)) as specific_name, 
cast(sys.ifthenelse((a.\"inout\" = 0 or f.\"type\" = 2), 1 + a.\"number\", 
sys.ifthenelse(f.\"type\" = 1, a.\"number\", (1 + a.\"number\" - 
f.count_out_cols))) as int) as ordinal_position, 
cast(sys.ifthenelse(a.\"inout\" = 0, 'OUT', sys.ifthenelse(a.\"inout\" = 1, 
'IN', 'INOUT')) as varchar(5)) as parameter_mode, 
cast(sys.ifthenelse(a.\"inout\" = 0, 'YES', 'NO') as varchar(3)) as is_result, 
cast(null as varchar(1)) as as_locator, a.\"name\" as parameter_name, cast(null 
as varchar(1)) as from_sql_specific_catalog, cast(null as varchar(1)) as 
from_sql_specific_schema, cast(null as varchar(1)) as from_sql_specific_name, 
cast(null as varchar(1)) as to_sql_specific_catalog, cast(null as varchar(1)) 
as to_sql_specific_schema, cast(null as 
 varchar(1)) as to_sql_specific_name, cast(sys.\"sql_datatype\"(a.\"type\", 
a.\"type_digits\", a.\"type_scale\", true, true) as varchar(1024)) as 
data_type, cast(sys.ifthenelse(a.\"type\" in 
('varchar','clob','char','json','url','xml') and a.\"type_digits\" > 0, 
a.\"type_digits\", null) as int) as character_maximum_length, 
cast(sys.ifthenelse(a.\"type\" in ('varchar','clob','char','json','url','xml') 
and a.\"type_digits\" > 0, 4 * cast(a.\"type_digits\" as bigint), null) as 
bigint) as character_octet_length, cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast(sys.ifthenelse(a.\"type\" in ('varchar','clob','char','json','url','xml'), 
'UTF-8', null) as varchar(16)) as character_set_name, cast(null as varchar(1)) 
as collation_catalog, cast(null as varchar(1)) as collation_schema, cast(null 
as varchar(1)) as collation_name, cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decima
 l','numeric','oid'), a.\"type_digits\", null) as int) as numeric_precision, 
cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(a.\"type\" in ('decimal','numeric'), 10, null)) as int) as 
numeric_precision_radix, cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 a.\"type_scale\", null) as int) as numeric_scale, 
cast(sys.ifthenelse(a.\"type\" in 
('date','timestamp','timestamptz','time','timetz'), 
sys.ifthenelse(a.\"type_scale\" > 0, a.\"type_scale\" -1, 0), null) as int) as 
datetime_precision, cast(sys.ifthenelse(a.\"type\" in 
('day_interval','month_interval','sec_interval'), 
sys.\"sql_datatype\"(a.\"type\", a.\"type_digits\", a.\"type_scale\", true, 
true), null) as varchar(40)) as interval_type, cast(case a.\"type\" when 
'day_interval' then 0 when 'month_interval' then 0 when 'sec_interval' then 
(sys.ifthenelse(a.\"type_digi
 ts\" in (7, 10, 12, 13), sys.ifthenelse(a.\"type_scale\" > 0, 
a.\"type_scale\", 3), 0)) else null end as int) as interval_precision, 
cast(null as varchar(1)) as udt_catalog, cast(null as varchar(1)) as 
udt_schema, cast(null as varchar(1)) as udt_name, cast(null as varchar(1)) as 
scope_catalog, cast(null as varchar(1)) as scope_schema, cast(null as 
varchar(1)) as scope_name, cast(null as int) as maximum_cardinality, cast(null 
as varchar(1)) as dtd_identifier, cast(null as varchar(1)) as 
declared_data_type, cast(null as int) as declared_numeric_precision, cast(null 
as int) as declared_numeric_scale, cast(null as varchar(1)) as 
parameter_default, f.\"schema_id\" as schema_id, f.\"id\" as function_id, 
a.\"id\" as arg_id, f.\"name\" as function_name, f.\"type\" as function_type, 
f.\"system\" as is_system from sys.\"args\" a inner join (select fun.*, (select 
count(*) from sys.args a0 where a0.inout = 0 and a0.func_id = fun.id) as 
count_out_cols from sys.\"functions\" fun where fun.\"type\
 " in (1, 2, 5, 7)) f on f.\"id\" = a.\"func_id\" inner join sys.\"schemas\" s 
on s.\"id\" = f.\"schema_id\" order by s.\"name\", f.\"name\", f.\"id\", 
a.\"inout\" desc, a.\"number\";",       "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
 [ "sys._tables",       "information_schema",   "referential_constraints",      
"create view information_schema.referential_constraints as select cast(null as 
varchar(1)) as constraint_catalog, s.\"name\" as constraint_schema, fk.\"name\" 
as constraint_name, cast(null as varchar(1)) as unique_constraint_catalog, 
uks.\"name\" as unique_constraint_schema, uk.\"name\" as 
unique_constraint_name, cast('FULL' as varchar(7)) as match_option, 
fk.\"update_action\" as update_rule, fk.\"delete_action\" as delete_rule, 
t.\"schema_id\" as fk_schema_id, t.\"id\" as fk_table_id, t.\"name\" as 
fk_table_name, fk.\"id\" as fk_key_id, ukt.\"schema_id\" as uc_schema_id, 
uk.\"table_id\" as uc_table_id, ukt.\"name\" as uc_table_name, uk.\"id\" as 
uc_key_id from sys.\"fkeys\" fk inner join sys.\"tables\" t on t.\"id\" = 
fk.\"table_id\" inner join sys.\"schemas\" s on s.\"id\" = t.\"schema_id\" left 
outer join sys.\"keys\" uk on uk.\"id\" = fk.\"rkey\" left outer join 
sys.\"tables\" ukt on ukt.\"id\" = uk.\"table_id\" l
 eft outer join sys.\"schemas\" uks on uks.\"id\" = ukt.\"schema_id\" order by 
s.\"name\", t.\"name\", fk.\"name\";",   "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
@@ -603,7 +603,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_catalog",   "varchar",      1,      0,      NULL,   true,   0,      
NULL,   NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_schema",    "varchar",      1024,   0,      NULL,   true,   1,      
NULL,   NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_name",      "varchar",      1024,   0,      NULL,   true,   2,      
NULL,   NULL    ]
-[ "sys._columns",      "information_schema",   "check_constraints",    
"check_clause", "varchar",      0,      0,      NULL,   true,   3,      NULL,   
NULL    ]
+[ "sys._columns",      "information_schema",   "check_constraints",    
"check_clause", "varchar",      2048,   0,      NULL,   true,   3,      NULL,   
NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"schema_id",    "int",  31,     0,      NULL,   true,   4,      NULL,   NULL    
]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"table_id",     "int",  31,     0,      NULL,   true,   5,      NULL,   NULL    
]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"table_name",   "varchar",      1024,   0,      NULL,   true,   6,      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
@@ -446,7 +446,7 @@ select 'null in fkeys.delete_action', de
 % varchar,     varchar,        varchar,        varchar,        varchar,        
boolean,        varchar,        varchar,        varchar # type
 % 11,  18,     34,     6812,   5,      5,      8,      8,      0 # length
 [ "sys._tables",       "information_schema",   "character_sets",       "create 
view information_schema.character_sets as select cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast('UTF-8' as varchar(16)) as character_set_name, cast('ISO/IEC 10646:2021' 
as varchar(20)) as character_repertoire, cast('UTF-8' as varchar(16)) as 
form_of_use, cast(null as varchar(1)) as default_collate_catalog, cast(null as 
varchar(1)) as default_collate_schema, cast(null as varchar(1)) as 
default_collate_name;",  "VIEW", true,   "COMMIT",       "WRITABLE",     NULL   
 ]
-[ "sys._tables",       "information_schema",   "check_constraints",    "create 
view information_schema.check_constraints as select cast(null as varchar(1)) as 
constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as 
constraint_name, sys.check_constraint(s.\"name\", k.\"name\") as check_clause, 
t.\"schema_id\" as schema_id, t.\"id\" as table_id, t.\"name\" as table_name, 
k.\"id\" as key_id from (select sk.\"id\", sk.\"table_id\", sk.\"name\" from 
sys.\"keys\" sk where sk.\"type\" = 4 union all select tk.\"id\", 
tk.\"table_id\", tk.\"name\" from tmp.\"keys\" tk where tk.\"type\" = 4) k 
inner join (select st.\"id\", st.\"schema_id\", st.\"name\" from 
sys.\"_tables\" st union all select tt.\"id\", tt.\"schema_id\", tt.\"name\" 
from tmp.\"_tables\" tt) t on k.\"table_id\" = t.\"id\" inner join 
sys.\"schemas\" s on t.\"schema_id\" = s.\"id\" order by s.\"name\", 
t.\"name\", k.\"name\";",       "VIEW", true,   "COMMIT",       "WRITABLE",     
NULL    ]
+[ "sys._tables",       "information_schema",   "check_constraints",    "create 
view information_schema.check_constraints as select cast(null as varchar(1)) as 
constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as 
constraint_name, cast(sys.check_constraint(s.\"name\", k.\"name\") as 
varchar(2048)) as check_clause, t.\"schema_id\" as schema_id, t.\"id\" as 
table_id, t.\"name\" as table_name, k.\"id\" as key_id from (select sk.\"id\", 
sk.\"table_id\", sk.\"name\" from sys.\"keys\" sk where sk.\"type\" = 4 union 
all select tk.\"id\", tk.\"table_id\", tk.\"name\" from tmp.\"keys\" tk where 
tk.\"type\" = 4) k inner join (select st.\"id\", st.\"schema_id\", st.\"name\" 
from sys.\"_tables\" st union all select tt.\"id\", tt.\"schema_id\", 
tt.\"name\" from tmp.\"_tables\" tt) t on k.\"table_id\" = t.\"id\" inner join 
sys.\"schemas\" s on t.\"schema_id\" = s.\"id\" order by s.\"name\", 
t.\"name\", k.\"name\";",        "VIEW", true,   "COMMIT",       "WRITABLE",    
 NULL    ]
 [ "sys._tables",       "information_schema",   "columns",      "create view 
information_schema.columns as select cast(null as varchar(1)) as table_catalog, 
s.\"name\" as table_schema, t.\"name\" as table_name, c.\"name\" as 
column_name, cast(1 + c.\"number\" as int) as ordinal_position, c.\"default\" 
as column_default, cast(sys.ifthenelse(c.\"null\", 'YES', 'NO') as varchar(3)) 
as is_nullable, cast(sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", 
c.\"type_scale\", true, true) as varchar(1024)) as data_type, 
cast(sys.ifthenelse(c.\"type\" in ('varchar','clob','char','json','url','xml') 
and c.\"type_digits\" > 0, c.\"type_digits\", null) as int) as 
character_maximum_length, cast(sys.ifthenelse(c.\"type\" in 
('varchar','clob','char','json','url','xml') and c.\"type_digits\" > 0, 4 * 
cast(c.\"type_digits\" as bigint), null) as bigint) as character_octet_length, 
cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"
 type_digits\", null) as int) as numeric_precision, 
cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(c.\"type\" in ('decimal','numeric'), 10, null)) as int) as 
numeric_precision_radix, cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"type_scale\", null) as int) as numeric_scale, 
cast(sys.ifthenelse(c.\"type\" in 
('date','timestamp','timestamptz','time','timetz'), 
sys.ifthenelse(c.\"type_scale\" > 0, c.\"type_scale\" -1, 0), null) as int) as 
datetime_precision, cast(sys.ifthenelse(c.\"type\" in 
('day_interval','month_interval','sec_interval'), 
sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", c.\"type_scale\", true, 
true), null) as varchar(40)) as interval_type, cast(case c.\"type\" when 
'day_interval' then 0 when 'month_interval' then 0 when 'sec_interval' then 
(sys.ifthenelse(c.\"type_digits\" in (7, 10, 12, 13), 
 sys.ifthenelse(c.\"type_scale\" > 0, c.\"type_scale\", 3), 0)) else null end 
as int) as interval_precision, cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast(sys.ifthenelse(c.\"type\" in ('varchar','clob','char','json','url','xml'), 
'UTF-8', null) as varchar(16)) as character_set_name, cast(null as varchar(1)) 
as collation_catalog, cast(null as varchar(1)) as collation_schema, cast(null 
as varchar(1)) as collation_name, cast(null as varchar(1)) as domain_catalog, 
cast(null as varchar(1)) as domain_schema, cast(null as varchar(1)) as 
domain_name, cast(null as varchar(1)) as udt_catalog, cast(null as varchar(1)) 
as udt_schema, cast(null as varchar(1)) as udt_name, cast(null as varchar(1)) 
as scope_catalog, cast(null as varchar(1)) as scope_schema, cast(null as 
varchar(1)) as scope_name, cast(null as int) as maximum_cardinality, cast(null 
as varchar(1)) as dtd_identifier, cast('NO' as varchar(3)) as 
is_self_referencing, cast(sys.i
 fthenelse(seq.\"name\" is null or c.\"null\", 'NO', 'YES') as varchar(3)) as 
is_identity, seq.\"name\" as identity_generation, seq.\"start\" as 
identity_start, seq.\"increment\" as identity_increment, seq.\"maxvalue\" as 
identity_maximum, seq.\"minvalue\" as identity_minimum, 
cast(sys.ifthenelse(seq.\"name\" is null, null, sys.ifthenelse(seq.\"cycle\", 
'YES', 'NO')) as varchar(3)) as identity_cycle, 
cast(sys.ifthenelse(seq.\"name\" is null, 'NO', 'YES') as varchar(3)) as 
is_generated, cast(sys.ifthenelse(seq.\"name\" is null, null, c.\"default\") as 
varchar(1024)) as generation_expression, cast('NO' as varchar(3)) as 
is_system_time_period_start, cast('NO' as varchar(3)) as 
is_system_time_period_end, cast('NO' as varchar(3)) as 
system_time_period_timestamp_generation, cast(sys.ifthenelse(t.\"type\" in 
(0,3,7,20,30), 'YES', 'NO') as varchar(3)) as is_updatable, cast(null as 
varchar(1)) as declared_data_type, cast(null as int) as 
declared_numeric_precision, cast(null as int) as declare
 d_numeric_scale, t.\"schema_id\" as schema_id, c.\"table_id\" as table_id, 
c.\"id\" as column_id, seq.\"id\" as sequence_id, t.\"system\" as is_system, 
cm.\"remark\" as comments from sys.\"columns\" c inner join sys.\"tables\" t on 
c.\"table_id\" = t.\"id\" inner join sys.\"schemas\" s on t.\"schema_id\" = 
s.\"id\" left outer join sys.\"comments\" cm on c.\"id\" = cm.\"id\" left outer 
join sys.\"sequences\" seq on ((seq.\"name\"||'\"') = substring(c.\"default\", 
3 + sys.\"locate\"('\".\"seq_',c.\"default\",14))) order by s.\"name\", 
t.\"name\", c.\"number\";", "VIEW", true,   "COMMIT",       "WRITABLE",     
NULL    ]
 [ "sys._tables",       "information_schema",   "parameters",   "create view 
information_schema.parameters as select cast(null as varchar(1)) as 
specific_catalog, s.\"name\" as specific_schema, 
cast(f.\"name\"||'('||f.\"id\"||')' as varchar(270)) as specific_name, 
cast(sys.ifthenelse((a.\"inout\" = 0 or f.\"type\" = 2), 1 + a.\"number\", 
sys.ifthenelse(f.\"type\" = 1, a.\"number\", (1 + a.\"number\" - 
f.count_out_cols))) as int) as ordinal_position, 
cast(sys.ifthenelse(a.\"inout\" = 0, 'OUT', sys.ifthenelse(a.\"inout\" = 1, 
'IN', 'INOUT')) as varchar(5)) as parameter_mode, 
cast(sys.ifthenelse(a.\"inout\" = 0, 'YES', 'NO') as varchar(3)) as is_result, 
cast(null as varchar(1)) as as_locator, a.\"name\" as parameter_name, cast(null 
as varchar(1)) as from_sql_specific_catalog, cast(null as varchar(1)) as 
from_sql_specific_schema, cast(null as varchar(1)) as from_sql_specific_name, 
cast(null as varchar(1)) as to_sql_specific_catalog, cast(null as varchar(1)) 
as to_sql_specific_schema, cast(null as 
 varchar(1)) as to_sql_specific_name, cast(sys.\"sql_datatype\"(a.\"type\", 
a.\"type_digits\", a.\"type_scale\", true, true) as varchar(1024)) as 
data_type, cast(sys.ifthenelse(a.\"type\" in 
('varchar','clob','char','json','url','xml') and a.\"type_digits\" > 0, 
a.\"type_digits\", null) as int) as character_maximum_length, 
cast(sys.ifthenelse(a.\"type\" in ('varchar','clob','char','json','url','xml') 
and a.\"type_digits\" > 0, 4 * cast(a.\"type_digits\" as bigint), null) as 
bigint) as character_octet_length, cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast(sys.ifthenelse(a.\"type\" in ('varchar','clob','char','json','url','xml'), 
'UTF-8', null) as varchar(16)) as character_set_name, cast(null as varchar(1)) 
as collation_catalog, cast(null as varchar(1)) as collation_schema, cast(null 
as varchar(1)) as collation_name, cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decima
 l','numeric','oid'), a.\"type_digits\", null) as int) as numeric_precision, 
cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(a.\"type\" in ('decimal','numeric'), 10, null)) as int) as 
numeric_precision_radix, cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 a.\"type_scale\", null) as int) as numeric_scale, 
cast(sys.ifthenelse(a.\"type\" in 
('date','timestamp','timestamptz','time','timetz'), 
sys.ifthenelse(a.\"type_scale\" > 0, a.\"type_scale\" -1, 0), null) as int) as 
datetime_precision, cast(sys.ifthenelse(a.\"type\" in 
('day_interval','month_interval','sec_interval'), 
sys.\"sql_datatype\"(a.\"type\", a.\"type_digits\", a.\"type_scale\", true, 
true), null) as varchar(40)) as interval_type, cast(case a.\"type\" when 
'day_interval' then 0 when 'month_interval' then 0 when 'sec_interval' then 
(sys.ifthenelse(a.\"type_digi
 ts\" in (7, 10, 12, 13), sys.ifthenelse(a.\"type_scale\" > 0, 
a.\"type_scale\", 3), 0)) else null end as int) as interval_precision, 
cast(null as varchar(1)) as udt_catalog, cast(null as varchar(1)) as 
udt_schema, cast(null as varchar(1)) as udt_name, cast(null as varchar(1)) as 
scope_catalog, cast(null as varchar(1)) as scope_schema, cast(null as 
varchar(1)) as scope_name, cast(null as int) as maximum_cardinality, cast(null 
as varchar(1)) as dtd_identifier, cast(null as varchar(1)) as 
declared_data_type, cast(null as int) as declared_numeric_precision, cast(null 
as int) as declared_numeric_scale, cast(null as varchar(1)) as 
parameter_default, f.\"schema_id\" as schema_id, f.\"id\" as function_id, 
a.\"id\" as arg_id, f.\"name\" as function_name, f.\"type\" as function_type, 
f.\"system\" as is_system from sys.\"args\" a inner join (select fun.*, (select 
count(*) from sys.args a0 where a0.inout = 0 and a0.func_id = fun.id) as 
count_out_cols from sys.\"functions\" fun where fun.\"type\
 " in (1, 2, 5, 7)) f on f.\"id\" = a.\"func_id\" inner join sys.\"schemas\" s 
on s.\"id\" = f.\"schema_id\" order by s.\"name\", f.\"name\", f.\"id\", 
a.\"inout\" desc, a.\"number\";",       "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
 [ "sys._tables",       "information_schema",   "referential_constraints",      
"create view information_schema.referential_constraints as select cast(null as 
varchar(1)) as constraint_catalog, s.\"name\" as constraint_schema, fk.\"name\" 
as constraint_name, cast(null as varchar(1)) as unique_constraint_catalog, 
uks.\"name\" as unique_constraint_schema, uk.\"name\" as 
unique_constraint_name, cast('FULL' as varchar(7)) as match_option, 
fk.\"update_action\" as update_rule, fk.\"delete_action\" as delete_rule, 
t.\"schema_id\" as fk_schema_id, t.\"id\" as fk_table_id, t.\"name\" as 
fk_table_name, fk.\"id\" as fk_key_id, ukt.\"schema_id\" as uc_schema_id, 
uk.\"table_id\" as uc_table_id, ukt.\"name\" as uc_table_name, uk.\"id\" as 
uc_key_id from sys.\"fkeys\" fk inner join sys.\"tables\" t on t.\"id\" = 
fk.\"table_id\" inner join sys.\"schemas\" s on s.\"id\" = t.\"schema_id\" left 
outer join sys.\"keys\" uk on uk.\"id\" = fk.\"rkey\" left outer join 
sys.\"tables\" ukt on ukt.\"id\" = uk.\"table_id\" l
 eft outer join sys.\"schemas\" uks on uks.\"id\" = ukt.\"schema_id\" order by 
s.\"name\", t.\"name\", fk.\"name\";",   "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
@@ -603,7 +603,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_catalog",   "varchar",      1,      0,      NULL,   true,   0,      
NULL,   NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_schema",    "varchar",      1024,   0,      NULL,   true,   1,      
NULL,   NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_name",      "varchar",      1024,   0,      NULL,   true,   2,      
NULL,   NULL    ]
-[ "sys._columns",      "information_schema",   "check_constraints",    
"check_clause", "varchar",      0,      0,      NULL,   true,   3,      NULL,   
NULL    ]
+[ "sys._columns",      "information_schema",   "check_constraints",    
"check_clause", "varchar",      2048,   0,      NULL,   true,   3,      NULL,   
NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"schema_id",    "int",  31,     0,      NULL,   true,   4,      NULL,   NULL    
]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"table_id",     "int",  31,     0,      NULL,   true,   5,      NULL,   NULL    
]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"table_name",   "varchar",      1024,   0,      NULL,   true,   6,      NULL,   
NULL    ]
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
@@ -446,7 +446,7 @@ select 'null in fkeys.delete_action', de
 % varchar,     varchar,        varchar,        varchar,        varchar,        
boolean,        varchar,        varchar,        varchar # type
 % 11,  18,     34,     6812,   5,      5,      8,      8,      0 # length
 [ "sys._tables",       "information_schema",   "character_sets",       "create 
view information_schema.character_sets as select cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast('UTF-8' as varchar(16)) as character_set_name, cast('ISO/IEC 10646:2021' 
as varchar(20)) as character_repertoire, cast('UTF-8' as varchar(16)) as 
form_of_use, cast(null as varchar(1)) as default_collate_catalog, cast(null as 
varchar(1)) as default_collate_schema, cast(null as varchar(1)) as 
default_collate_name;",  "VIEW", true,   "COMMIT",       "WRITABLE",     NULL   
 ]
-[ "sys._tables",       "information_schema",   "check_constraints",    "create 
view information_schema.check_constraints as select cast(null as varchar(1)) as 
constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as 
constraint_name, sys.check_constraint(s.\"name\", k.\"name\") as check_clause, 
t.\"schema_id\" as schema_id, t.\"id\" as table_id, t.\"name\" as table_name, 
k.\"id\" as key_id from (select sk.\"id\", sk.\"table_id\", sk.\"name\" from 
sys.\"keys\" sk where sk.\"type\" = 4 union all select tk.\"id\", 
tk.\"table_id\", tk.\"name\" from tmp.\"keys\" tk where tk.\"type\" = 4) k 
inner join (select st.\"id\", st.\"schema_id\", st.\"name\" from 
sys.\"_tables\" st union all select tt.\"id\", tt.\"schema_id\", tt.\"name\" 
from tmp.\"_tables\" tt) t on k.\"table_id\" = t.\"id\" inner join 
sys.\"schemas\" s on t.\"schema_id\" = s.\"id\" order by s.\"name\", 
t.\"name\", k.\"name\";",       "VIEW", true,   "COMMIT",       "WRITABLE",     
NULL    ]
+[ "sys._tables",       "information_schema",   "check_constraints",    "create 
view information_schema.check_constraints as select cast(null as varchar(1)) as 
constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as 
constraint_name, cast(sys.check_constraint(s.\"name\", k.\"name\") as 
varchar(2048)) as check_clause, t.\"schema_id\" as schema_id, t.\"id\" as 
table_id, t.\"name\" as table_name, k.\"id\" as key_id from (select sk.\"id\", 
sk.\"table_id\", sk.\"name\" from sys.\"keys\" sk where sk.\"type\" = 4 union 
all select tk.\"id\", tk.\"table_id\", tk.\"name\" from tmp.\"keys\" tk where 
tk.\"type\" = 4) k inner join (select st.\"id\", st.\"schema_id\", st.\"name\" 
from sys.\"_tables\" st union all select tt.\"id\", tt.\"schema_id\", 
tt.\"name\" from tmp.\"_tables\" tt) t on k.\"table_id\" = t.\"id\" inner join 
sys.\"schemas\" s on t.\"schema_id\" = s.\"id\" order by s.\"name\", 
t.\"name\", k.\"name\";",        "VIEW", true,   "COMMIT",       "WRITABLE",    
 NULL    ]
 [ "sys._tables",       "information_schema",   "columns",      "create view 
information_schema.columns as select cast(null as varchar(1)) as table_catalog, 
s.\"name\" as table_schema, t.\"name\" as table_name, c.\"name\" as 
column_name, cast(1 + c.\"number\" as int) as ordinal_position, c.\"default\" 
as column_default, cast(sys.ifthenelse(c.\"null\", 'YES', 'NO') as varchar(3)) 
as is_nullable, cast(sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", 
c.\"type_scale\", true, true) as varchar(1024)) as data_type, 
cast(sys.ifthenelse(c.\"type\" in ('varchar','clob','char','json','url','xml') 
and c.\"type_digits\" > 0, c.\"type_digits\", null) as int) as 
character_maximum_length, cast(sys.ifthenelse(c.\"type\" in 
('varchar','clob','char','json','url','xml') and c.\"type_digits\" > 0, 4 * 
cast(c.\"type_digits\" as bigint), null) as bigint) as character_octet_length, 
cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"
 type_digits\", null) as int) as numeric_precision, 
cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(c.\"type\" in ('decimal','numeric'), 10, null)) as int) as 
numeric_precision_radix, cast(sys.ifthenelse(c.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 c.\"type_scale\", null) as int) as numeric_scale, 
cast(sys.ifthenelse(c.\"type\" in 
('date','timestamp','timestamptz','time','timetz'), 
sys.ifthenelse(c.\"type_scale\" > 0, c.\"type_scale\" -1, 0), null) as int) as 
datetime_precision, cast(sys.ifthenelse(c.\"type\" in 
('day_interval','month_interval','sec_interval'), 
sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", c.\"type_scale\", true, 
true), null) as varchar(40)) as interval_type, cast(case c.\"type\" when 
'day_interval' then 0 when 'month_interval' then 0 when 'sec_interval' then 
(sys.ifthenelse(c.\"type_digits\" in (7, 10, 12, 13), 
 sys.ifthenelse(c.\"type_scale\" > 0, c.\"type_scale\", 3), 0)) else null end 
as int) as interval_precision, cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast(sys.ifthenelse(c.\"type\" in ('varchar','clob','char','json','url','xml'), 
'UTF-8', null) as varchar(16)) as character_set_name, cast(null as varchar(1)) 
as collation_catalog, cast(null as varchar(1)) as collation_schema, cast(null 
as varchar(1)) as collation_name, cast(null as varchar(1)) as domain_catalog, 
cast(null as varchar(1)) as domain_schema, cast(null as varchar(1)) as 
domain_name, cast(null as varchar(1)) as udt_catalog, cast(null as varchar(1)) 
as udt_schema, cast(null as varchar(1)) as udt_name, cast(null as varchar(1)) 
as scope_catalog, cast(null as varchar(1)) as scope_schema, cast(null as 
varchar(1)) as scope_name, cast(null as int) as maximum_cardinality, cast(null 
as varchar(1)) as dtd_identifier, cast('NO' as varchar(3)) as 
is_self_referencing, cast(sys.i
 fthenelse(seq.\"name\" is null or c.\"null\", 'NO', 'YES') as varchar(3)) as 
is_identity, seq.\"name\" as identity_generation, seq.\"start\" as 
identity_start, seq.\"increment\" as identity_increment, seq.\"maxvalue\" as 
identity_maximum, seq.\"minvalue\" as identity_minimum, 
cast(sys.ifthenelse(seq.\"name\" is null, null, sys.ifthenelse(seq.\"cycle\", 
'YES', 'NO')) as varchar(3)) as identity_cycle, 
cast(sys.ifthenelse(seq.\"name\" is null, 'NO', 'YES') as varchar(3)) as 
is_generated, cast(sys.ifthenelse(seq.\"name\" is null, null, c.\"default\") as 
varchar(1024)) as generation_expression, cast('NO' as varchar(3)) as 
is_system_time_period_start, cast('NO' as varchar(3)) as 
is_system_time_period_end, cast('NO' as varchar(3)) as 
system_time_period_timestamp_generation, cast(sys.ifthenelse(t.\"type\" in 
(0,3,7,20,30), 'YES', 'NO') as varchar(3)) as is_updatable, cast(null as 
varchar(1)) as declared_data_type, cast(null as int) as 
declared_numeric_precision, cast(null as int) as declare
 d_numeric_scale, t.\"schema_id\" as schema_id, c.\"table_id\" as table_id, 
c.\"id\" as column_id, seq.\"id\" as sequence_id, t.\"system\" as is_system, 
cm.\"remark\" as comments from sys.\"columns\" c inner join sys.\"tables\" t on 
c.\"table_id\" = t.\"id\" inner join sys.\"schemas\" s on t.\"schema_id\" = 
s.\"id\" left outer join sys.\"comments\" cm on c.\"id\" = cm.\"id\" left outer 
join sys.\"sequences\" seq on ((seq.\"name\"||'\"') = substring(c.\"default\", 
3 + sys.\"locate\"('\".\"seq_',c.\"default\",14))) order by s.\"name\", 
t.\"name\", c.\"number\";", "VIEW", true,   "COMMIT",       "WRITABLE",     
NULL    ]
 [ "sys._tables",       "information_schema",   "parameters",   "create view 
information_schema.parameters as select cast(null as varchar(1)) as 
specific_catalog, s.\"name\" as specific_schema, 
cast(f.\"name\"||'('||f.\"id\"||')' as varchar(270)) as specific_name, 
cast(sys.ifthenelse((a.\"inout\" = 0 or f.\"type\" = 2), 1 + a.\"number\", 
sys.ifthenelse(f.\"type\" = 1, a.\"number\", (1 + a.\"number\" - 
f.count_out_cols))) as int) as ordinal_position, 
cast(sys.ifthenelse(a.\"inout\" = 0, 'OUT', sys.ifthenelse(a.\"inout\" = 1, 
'IN', 'INOUT')) as varchar(5)) as parameter_mode, 
cast(sys.ifthenelse(a.\"inout\" = 0, 'YES', 'NO') as varchar(3)) as is_result, 
cast(null as varchar(1)) as as_locator, a.\"name\" as parameter_name, cast(null 
as varchar(1)) as from_sql_specific_catalog, cast(null as varchar(1)) as 
from_sql_specific_schema, cast(null as varchar(1)) as from_sql_specific_name, 
cast(null as varchar(1)) as to_sql_specific_catalog, cast(null as varchar(1)) 
as to_sql_specific_schema, cast(null as 
 varchar(1)) as to_sql_specific_name, cast(sys.\"sql_datatype\"(a.\"type\", 
a.\"type_digits\", a.\"type_scale\", true, true) as varchar(1024)) as 
data_type, cast(sys.ifthenelse(a.\"type\" in 
('varchar','clob','char','json','url','xml') and a.\"type_digits\" > 0, 
a.\"type_digits\", null) as int) as character_maximum_length, 
cast(sys.ifthenelse(a.\"type\" in ('varchar','clob','char','json','url','xml') 
and a.\"type_digits\" > 0, 4 * cast(a.\"type_digits\" as bigint), null) as 
bigint) as character_octet_length, cast(null as varchar(1)) as 
character_set_catalog, cast(null as varchar(1)) as character_set_schema, 
cast(sys.ifthenelse(a.\"type\" in ('varchar','clob','char','json','url','xml'), 
'UTF-8', null) as varchar(16)) as character_set_name, cast(null as varchar(1)) 
as collation_catalog, cast(null as varchar(1)) as collation_schema, cast(null 
as varchar(1)) as collation_name, cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decima
 l','numeric','oid'), a.\"type_digits\", null) as int) as numeric_precision, 
cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','oid'), 
2, sys.ifthenelse(a.\"type\" in ('decimal','numeric'), 10, null)) as int) as 
numeric_precision_radix, cast(sys.ifthenelse(a.\"type\" in 
('int','smallint','tinyint','bigint','hugeint','float','real','double','decimal','numeric','oid'),
 a.\"type_scale\", null) as int) as numeric_scale, 
cast(sys.ifthenelse(a.\"type\" in 
('date','timestamp','timestamptz','time','timetz'), 
sys.ifthenelse(a.\"type_scale\" > 0, a.\"type_scale\" -1, 0), null) as int) as 
datetime_precision, cast(sys.ifthenelse(a.\"type\" in 
('day_interval','month_interval','sec_interval'), 
sys.\"sql_datatype\"(a.\"type\", a.\"type_digits\", a.\"type_scale\", true, 
true), null) as varchar(40)) as interval_type, cast(case a.\"type\" when 
'day_interval' then 0 when 'month_interval' then 0 when 'sec_interval' then 
(sys.ifthenelse(a.\"type_digi
 ts\" in (7, 10, 12, 13), sys.ifthenelse(a.\"type_scale\" > 0, 
a.\"type_scale\", 3), 0)) else null end as int) as interval_precision, 
cast(null as varchar(1)) as udt_catalog, cast(null as varchar(1)) as 
udt_schema, cast(null as varchar(1)) as udt_name, cast(null as varchar(1)) as 
scope_catalog, cast(null as varchar(1)) as scope_schema, cast(null as 
varchar(1)) as scope_name, cast(null as int) as maximum_cardinality, cast(null 
as varchar(1)) as dtd_identifier, cast(null as varchar(1)) as 
declared_data_type, cast(null as int) as declared_numeric_precision, cast(null 
as int) as declared_numeric_scale, cast(null as varchar(1)) as 
parameter_default, f.\"schema_id\" as schema_id, f.\"id\" as function_id, 
a.\"id\" as arg_id, f.\"name\" as function_name, f.\"type\" as function_type, 
f.\"system\" as is_system from sys.\"args\" a inner join (select fun.*, (select 
count(*) from sys.args a0 where a0.inout = 0 and a0.func_id = fun.id) as 
count_out_cols from sys.\"functions\" fun where fun.\"type\
 " in (1, 2, 5, 7)) f on f.\"id\" = a.\"func_id\" inner join sys.\"schemas\" s 
on s.\"id\" = f.\"schema_id\" order by s.\"name\", f.\"name\", f.\"id\", 
a.\"inout\" desc, a.\"number\";",       "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
 [ "sys._tables",       "information_schema",   "referential_constraints",      
"create view information_schema.referential_constraints as select cast(null as 
varchar(1)) as constraint_catalog, s.\"name\" as constraint_schema, fk.\"name\" 
as constraint_name, cast(null as varchar(1)) as unique_constraint_catalog, 
uks.\"name\" as unique_constraint_schema, uk.\"name\" as 
unique_constraint_name, cast('FULL' as varchar(7)) as match_option, 
fk.\"update_action\" as update_rule, fk.\"delete_action\" as delete_rule, 
t.\"schema_id\" as fk_schema_id, t.\"id\" as fk_table_id, t.\"name\" as 
fk_table_name, fk.\"id\" as fk_key_id, ukt.\"schema_id\" as uc_schema_id, 
uk.\"table_id\" as uc_table_id, ukt.\"name\" as uc_table_name, uk.\"id\" as 
uc_key_id from sys.\"fkeys\" fk inner join sys.\"tables\" t on t.\"id\" = 
fk.\"table_id\" inner join sys.\"schemas\" s on s.\"id\" = t.\"schema_id\" left 
outer join sys.\"keys\" uk on uk.\"id\" = fk.\"rkey\" left outer join 
sys.\"tables\" ukt on ukt.\"id\" = uk.\"table_id\" l
 eft outer join sys.\"schemas\" uks on uks.\"id\" = ukt.\"schema_id\" order by 
s.\"name\", t.\"name\", fk.\"name\";",   "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
@@ -603,7 +603,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_catalog",   "varchar",      1,      0,      NULL,   true,   0,      
NULL,   NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_schema",    "varchar",      1024,   0,      NULL,   true,   1,      
NULL,   NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"constraint_name",      "varchar",      1024,   0,      NULL,   true,   2,      
NULL,   NULL    ]
-[ "sys._columns",      "information_schema",   "check_constraints",    
"check_clause", "varchar",      0,      0,      NULL,   true,   3,      NULL,   
NULL    ]
+[ "sys._columns",      "information_schema",   "check_constraints",    
"check_clause", "varchar",      2048,   0,      NULL,   true,   3,      NULL,   
NULL    ]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"schema_id",    "int",  31,     0,      NULL,   true,   4,      NULL,   NULL    
]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"table_id",     "int",  31,     0,      NULL,   true,   5,      NULL,   NULL    
]
 [ "sys._columns",      "information_schema",   "check_constraints",    
"table_name",   "varchar",      1024,   0,      NULL,   true,   6,      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