Changeset: 52c4f09b6892 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/52c4f09b6892 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: default Log Message:
Add cast functions for some columns of information_schema.routines view diffs (165 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 @@ -6274,7 +6274,7 @@ sql_update_default(Client c, mvc *sql, s " ft.\"function_type_keyword\" AS ROUTINE_TYPE,\n" " cast(NULL AS varchar(1)) AS MODULE_CATALOG,\n" " cast(NULL AS varchar(1)) AS MODULE_SCHEMA,\n" - " f.\"mod\" AS MODULE_NAME,\n" + " cast(f.\"mod\" AS varchar(128)) AS MODULE_NAME,\n" " cast(NULL AS varchar(1)) AS UDT_CATALOG,\n" " cast(NULL AS varchar(1)) AS UDT_SCHEMA,\n" " cast(NULL AS varchar(1)) AS UDT_NAME,\n" @@ -6301,9 +6301,9 @@ sql_update_default(Client c, mvc *sql, s " cast(NULL AS varchar(1)) AS SCOPE_NAME,\n" " cast(NULL AS int) AS MAXIMUM_CARDINALITY,\n" " cast(NULL AS int) AS DTD_IDENTIFIER,\n" - " sys.\"ifthenelse\"(sys.\"locate\"('begin',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), NULL) AS ROUTINE_BODY,\n" + " cast(sys.\"ifthenelse\"(sys.\"locate\"('begin',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), NULL) AS varchar(8196) AS ROUTINE_BODY,\n" " f.\"func\" AS ROUTINE_DEFINITION,\n" - " sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), NULL) AS EXTERNAL_NAME,\n" + " cast(sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), NULL) AS varchar(1024) AS EXTERNAL_NAME,\n" " fl.\"language_keyword\" AS EXTERNAL_LANGUAGE,\n" " 'GENERAL' AS PARAMETER_STYLE,\n" " 'YES' AS IS_DETERMINISTIC,\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 @@ -269,7 +269,7 @@ CREATE VIEW INFORMATION_SCHEMA.ROUTINES ft."function_type_keyword" AS ROUTINE_TYPE, cast(NULL AS varchar(1)) AS MODULE_CATALOG, cast(NULL AS varchar(1)) AS MODULE_SCHEMA, - f."mod" AS MODULE_NAME, + cast(f."mod" AS varchar(128)) AS MODULE_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, @@ -296,9 +296,9 @@ CREATE VIEW INFORMATION_SCHEMA.ROUTINES cast(NULL AS varchar(1)) AS SCOPE_NAME, cast(NULL AS int) AS MAXIMUM_CARDINALITY, cast(NULL AS int) AS DTD_IDENTIFIER, - sys."ifthenelse"(sys."locate"('begin',f."func") > 0, sys."ifthenelse"(sys."endswith"(f."func",';'), sys."substring"(f."func", sys."locate"('begin',f."func"), sys."length"(sys."substring"(f."func", sys."locate"('begin',f."func")))-1), sys."substring"(f."func", sys."locate"('begin',f."func"))), NULL) AS ROUTINE_BODY, + cast(sys."ifthenelse"(sys."locate"('begin',f."func") > 0, sys."ifthenelse"(sys."endswith"(f."func",';'), sys."substring"(f."func", sys."locate"('begin',f."func"), sys."length"(sys."substring"(f."func", sys."locate"('begin',f."func")))-1), sys."substring"(f."func", sys."locate"('begin',f."func"))), NULL) AS varchar(8196)) AS ROUTINE_BODY, f."func" AS ROUTINE_DEFINITION, - sys."ifthenelse"(sys."locate"('external name',f."func") > 0, sys."ifthenelse"(sys."endswith"(f."func",';'), sys."substring"(f."func", 14 + sys."locate"('external name',f."func"), sys."length"(sys."substring"(f."func", 14 + sys."locate"('external name',f."func")))-1), sys."substring"(f."func", 14 + sys."locate"('external name',f."func"))), NULL) AS EXTERNAL_NAME, + cast(sys."ifthenelse"(sys."locate"('external name',f."func") > 0, sys."ifthenelse"(sys."endswith"(f."func",';'), sys."substring"(f."func", 14 + sys."locate"('external name',f."func"), sys."length"(sys."substring"(f."func", 14 + sys."locate"('external name',f."func")))-1), sys."substring"(f."func", 14 + sys."locate"('external name',f."func"))), NULL) AS varchar(1024)) AS EXTERNAL_NAME, fl."language_keyword" AS EXTERNAL_LANGUAGE, 'GENERAL' AS PARAMETER_STYLE, 'YES' AS IS_DETERMINISTIC, 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 @@ -444,12 +444,12 @@ select 'null in fkeys.delete_action', de % .%25, .s, .t, ., ., .t, ., ., . # table_name % %25, name, name, query, type, system, commit_action, access, comment # name % char, varchar, varchar, clob, varchar, boolean, char, char, varchar # type -% 11, 18, 34, 6682, 5, 5, 8, 10, 0 # length +% 11, 18, 34, 6750, 5, 5, 8, 10, 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, cast(null as varchar(1024)) as constraint_schema, cast(null as varchar(1024)) as constraint_name, cast(null as varchar(1024)) as check_clause where 1=0;", "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.\"describe_type\"(c.\"type\", c.\"type_digits\", c.\"type_scale\") 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, c.\"type_digits\" * 4, null) as int) 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) a s 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'), c.\"type_scale\" -1, null) as int) as datetime_precision, cast(case c.\"type\" when 'day_interval' then 'interval day' when 'month_interval' then (case c.\"type_digits\" when 1 then 'interval year' when 2 then 'interval year to month' when 3 then 'interval month' else null end) when 'sec_interval' then (case c.\"type_digits\" when 5 then 'interval day to hour' when 6 then 'interval day to minute' when 7 then 'interval day to second' when 8 then 'interval hour' when 9 then 'interval hour to minute' when 10 then 'interval hour to second' when 11 then 'interval minute' when 12 then 'interval minute to second' when 13 then 'interval second' else null end) else null end 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 varc har(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(case when c.\"default\" like 'next value for %' then 'YES' else 'NO' end as varchar(3)) as is_identity, cast(null as varchar(10)) as identity_generation, cast(null as int) as identity_start, cast(null as int) as identity_increment, cast(null as int) as identity_maximum, cast(null as int) as identity_minimum, cast(null as varchar(3)) as identity_cycle, cast('NO' as varchar(3)) as is_generated, cast(null as varchar(1)) 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, ca st(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 declared_numeric_scale, t.\"schema_id\" as schema_id, c.\"table_id\" as table_id, c.\"id\" as column_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\" order by s.\"name\", t.\"name\", c.\"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 ] -[ "sys._tables", "information_schema", "routines", "create view information_schema.routines as select cast(null as varchar(1)) as specific_catalog, s.\"name\" as specific_schema, cast(f.\"id\" as varchar(10)) as specific_name, cast(null as varchar(1)) as routine_catalog, s.\"name\" as routine_schema, f.\"name\" as routine_name, ft.\"function_type_keyword\" as routine_type, cast(null as varchar(1)) as module_catalog, cast(null as varchar(1)) as module_schema, f.\"mod\" as module_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(case f.\"type\" when 1 then sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\") when 2 then null when 5 then 'TABLE' when 7 then 'TABLE' else null end 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.ifthe nelse(a.\"type\" in ('varchar','clob','char','json','url','xml') and a.\"type_digits\" > 0, a.\"type_digits\" * 4, null) as int) as character_octet_length, cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, 'UTF-8' 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','decimal','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 n umeric_scale, cast(sys.ifthenelse(a.\"type\" in ('date','timestamp','timestamptz','time','timetz'), a.\"type_scale\" -1, null) as int) as datetime_precision, cast(sys.ifthenelse(a.\"type\" in ('day_interval','month_interval','sec_interval'), sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\"), 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_digits\" 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 type_udt_catalog, cast(null as varchar(1)) as type_udt_schema, cast(null as varchar(1)) as type_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 int) as dtd_identifier, sys.\"ifthenelse\"(sys.\"locate\"('begin' ,f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), null) as routine_body, f.\"func\" as routine_definition, sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), null) as external_name, fl.\"language_keyword\" as external_language, 'GENERAL' as parameter_style, 'YES' as is_deterministic, cast(sys.ifthenelse(f.\"side_effect\", 'MODIFIES', 'READ') as varchar(10)) as sql_data_access, cast(case f.\"type\" when 2 then null else 'NO' end as varchar(3)) as is_null_call, cast(null as varchar(1)) as sql_path, cast(null as varchar(1)) as schema_level_routine, cast(null as int) as max_dynamic_result_sets, cast(null as varchar(1)) as is_user_defined_cast, cast(null as varchar(1)) as is_implicitly_invocable, cast(null as varchar(1)) as security_type, 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(null as varchar(1)) as as_locator, cast(null as timestamp) as created, cast(null as timestamp) as last_altered, cast(null as varchar(1)) as new_savepoint_level, cast(null as varchar(1)) as is_udt_dependent, cast(null as varchar(1)) as result_cast_from_data_type, cast(null as varchar(1)) as result_cast_as_locator, cast(null as int) as result_cast_char_max_length, cast(null as int) as result_cast_char_octet_length, cast(null as varchar(1)) as result_cast_char_set_catalog, cast(null as varchar(1)) as result_cast_char_s et_schema, cast(null as varchar(1)) as result_cast_character_set_name, cast(null as varchar(1)) as result_cast_collation_catalog, cast(null as varchar(1)) as result_cast_collation_schema, cast(null as varchar(1)) as result_cast_collation_name, cast(null as int) as result_cast_numeric_precision, cast(null as int) as result_cast_numeric_radix, cast(null as int) as result_cast_numeric_scale, cast(null as int) as result_cast_datetime_precision, cast(null as varchar(1)) as result_cast_interval_type, cast(null as int) as result_cast_interval_precision, cast(null as varchar(1)) as result_cast_type_udt_catalog, cast(null as varchar(1)) as result_cast_type_udt_schema, cast(null as varchar(1)) as result_cast_type_udt_name, cast(null as varchar(1)) as result_cast_scope_catalog, cast(null as varchar(1)) as result_cast_scope_schema, cast(null as varchar(1)) as result_cast_scope_name, cast(null as int) as result_cast_max_cardinality, cast(null as varchar(1)) as result_cast_dtd_identifier, cast(nu ll 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 result_cast_from_declared_data_type, cast(null as int) as result_cast_declared_numeric_precision, cast(null as int) as result_cast_declared_numeric_scale, f.\"schema_id\" as schema_id, f.\"id\" as function_id, f.\"type\" as function_type, f.\"language\" as function_language, f.\"system\" as is_system, cm.\"remark\" as comments from sys.\"functions\" f inner join sys.\"schemas\" s on s.\"id\" = f.\"schema_id\" inner join sys.\"function_types\" ft on ft.\"function_type_id\" = f.\"type\" inner join sys.\"function_languages\" fl on fl.\"language_id\" = f.\"language\" left outer join sys.\"args\" a on a.\"func_id\" = f.\"id\" and a.\"inout\" = 0 and a.\"number\" = 0 left outer join sys.\"comments\" cm on cm.\"id\" = f.\"id\" where f.\"type\" in (1, 2, 5, 7) order by s.\"name\", f.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] +[ "sys._tables", "information_schema", "routines", "create view information_schema.routines as select cast(null as varchar(1)) as specific_catalog, s.\"name\" as specific_schema, cast(f.\"id\" as varchar(10)) as specific_name, cast(null as varchar(1)) as routine_catalog, s.\"name\" as routine_schema, f.\"name\" as routine_name, ft.\"function_type_keyword\" as routine_type, cast(null as varchar(1)) as module_catalog, cast(null as varchar(1)) as module_schema, cast(f.\"mod\" as varchar(128)) as module_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(case f.\"type\" when 1 then sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\") when 2 then null when 5 then 'TABLE' when 7 then 'TABLE' else null end 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, a.\"type_digits\" * 4, null) as int) as character_octet_length, cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, 'UTF-8' 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','decimal','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'), a.\"type_scale\" -1, null) as int) as datetime_precision, cast(sys.ifthenelse(a.\"type\" in ('day_interval','month_interval','sec_interval'), sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\"), 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_digits\" 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 type_udt_catalog, cast(null as varchar(1)) as type_udt_schema, cast(null as varchar(1)) as type_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 int) as dtd_identifier, cast(sys.\"ifthenel se\"(sys.\"locate\"('begin',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), null) as varchar(8196)) as routine_body, f.\"func\" as routine_definition, cast(sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), null) as varchar(1024)) as external_name, fl.\"language_keyword\" as external_language, 'GENERAL' as parameter_style, 'YES' as is_deterministic, cast(sys.ifthenelse(f.\"side_effect\", 'MODIFIES', 'READ') as varchar(10)) as sql_data_access, cast(case f.\"type\" when 2 then null else 'NO' end as varchar(3)) as is_null_call, cast(null as varchar(1)) as sql_path, cast(null as varchar(1)) as schema_level_routine, cast(null as int) as max_dynamic_result_sets, cast(null as varchar(1)) as is_user_defined_cast, cast(null as varchar(1)) as is_implicitly_invocable, cast(null as varchar(1)) as security_type, 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(null as varchar(1)) as as_locator, cast(null as timestamp) as created, cast(null as timestamp) as last_altered, cast(null as varchar(1)) as new_savepoint_level, cast(null as varchar(1)) as is_udt_dependent, cast(null as varchar(1)) as result_cast_from_data_type, cast(null as varchar(1)) as result_cast_as_locator, cast(null as int) as result_cast_char_max_length, cast(null as int) as result_cast_char_octet_length, cast(null as varchar(1)) as result_c ast_char_set_catalog, cast(null as varchar(1)) as result_cast_char_set_schema, cast(null as varchar(1)) as result_cast_character_set_name, cast(null as varchar(1)) as result_cast_collation_catalog, cast(null as varchar(1)) as result_cast_collation_schema, cast(null as varchar(1)) as result_cast_collation_name, cast(null as int) as result_cast_numeric_precision, cast(null as int) as result_cast_numeric_radix, cast(null as int) as result_cast_numeric_scale, cast(null as int) as result_cast_datetime_precision, cast(null as varchar(1)) as result_cast_interval_type, cast(null as int) as result_cast_interval_precision, cast(null as varchar(1)) as result_cast_type_udt_catalog, cast(null as varchar(1)) as result_cast_type_udt_schema, cast(null as varchar(1)) as result_cast_type_udt_name, cast(null as varchar(1)) as result_cast_scope_catalog, cast(null as varchar(1)) as result_cast_scope_schema, cast(null as varchar(1)) as result_cast_scope_name, cast(null as int) as result_cast_max_cardinal ity, cast(null as varchar(1)) as result_cast_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 result_cast_from_declared_data_type, cast(null as int) as result_cast_declared_numeric_precision, cast(null as int) as result_cast_declared_numeric_scale, f.\"schema_id\" as schema_id, f.\"id\" as function_id, f.\"type\" as function_type, f.\"language\" as function_language, f.\"system\" as is_system, cm.\"remark\" as comments from sys.\"functions\" f inner join sys.\"schemas\" s on s.\"id\" = f.\"schema_id\" inner join sys.\"function_types\" ft on ft.\"function_type_id\" = f.\"type\" inner join sys.\"function_languages\" fl on fl.\"language_id\" = f.\"language\" left outer join sys.\"args\" a on a.\"func_id\" = f.\"id\" and a.\"inout\" = 0 and a.\"number\" = 0 left outer join sys.\"comments\" cm on cm.\"id\" = f.\"id\" where f.\"type\" in (1, 2, 5, 7) ord er by s.\"name\", f.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "schemata", "create view information_schema.schemata as select cast(null as varchar(1)) as catalog_name, s.\"name\" as schema_name, a.\"name\" as schema_owner, cast(null as varchar(1)) as default_character_set_catalog, cast(null as varchar(1)) as default_character_set_schema, cast('UTF-8' as varchar(16)) as default_character_set_name, cast(null as varchar(1)) as sql_path, s.\"id\" as schema_id, s.\"system\" as is_system, cm.\"remark\" as comments from sys.\"schemas\" s inner join sys.\"auths\" a on s.\"owner\" = a.\"id\" left outer join sys.\"comments\" cm on s.\"id\" = cm.\"id\" order by s.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "sequences", "create view information_schema.sequences as select cast(null as varchar(1)) as sequence_catalog, s.\"name\" as sequence_schema, sq.\"name\" as sequence_name, cast('BIGINT' as varchar(16)) as data_type, cast(64 as smallint) as numeric_precision, cast(2 as smallint) as numeric_precision_radix, cast(0 as smallint) as numeric_scale, sq.\"start\" as start_value, sq.\"minvalue\" as minimum_value, sq.\"maxvalue\" as maximum_value, sq.\"increment\" as increment, cast(sys.ifthenelse(sq.\"cycle\", 'YES', 'NO') as varchar(3)) as cycle_option, cast(null as varchar(16)) as declared_data_type, cast(null as smallint) as declared_numeric_precision, cast(null as smallint) as declared_numeric_scale, sq.\"schema_id\" as schema_id, sq.\"id\" as sequence_id, get_value_for(s.\"name\", sq.\"name\") as current_value, sq.\"cacheinc\" as cacheinc, cm.\"remark\" as comments from sys.\"sequences\" sq inner join sys.\"schemas\" s on sq.\"schema_id\" = s.\"id\ " left outer join sys.\"comments\" cm on sq.\"id\" = cm.\"id\" order by s.\"name\", sq.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "table_constraints", "create view information_schema.table_constraints as select cast(null as varchar(1)) as constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as constraint_name, cast(null as varchar(1)) as table_catalog, s.\"name\" as table_schema, t.\"name\" as table_name, cast(case k.\"type\" when 0 then 'PRIMARY KEY' when 1 then 'UNIQUE' when 2 then 'FOREIGN KEY' else null end as varchar(16)) as constraint_type, cast('NO' as varchar(3)) as is_deferrable, cast('NO' as varchar(3)) as initially_deferred, cast('YES' as varchar(3)) as enforced, t.\"schema_id\" as schema_id, t.\"id\" as table_id, k.\"id\" as key_id, k.\"type\" as key_type, t.\"system\" as is_system from (select sk.\"id\", sk.\"table_id\", sk.\"name\", sk.\"type\" from sys.\"keys\" sk union all select tk.\"id\", tk.\"table_id\", tk.\"name\", tk.\"type\" from tmp.\"keys\" tk) k inner join (select st.\"id\", st.\"schema_id\", st.\"name\", st.\"system\" from sys.\"_tabl es\" st union all select tt.\"id\", tt.\"schema_id\", tt.\"name\", tt.\"system\" 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 ] @@ -683,7 +683,7 @@ select 'null in fkeys.delete_action', de [ "sys._columns", "information_schema", "routines", "routine_type", "varchar", 30, 0, NULL, true, 6, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "module_catalog", "varchar", 1, 0, NULL, true, 7, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "module_schema", "varchar", 1, 0, NULL, true, 8, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "module_name", "varchar", 8196, 0, NULL, true, 9, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "module_name", "varchar", 128, 0, NULL, true, 9, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_catalog", "varchar", 1, 0, NULL, true, 10, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_schema", "varchar", 1, 0, NULL, true, 11, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_name", "varchar", 1, 0, NULL, true, 12, NULL, NULL ] @@ -710,9 +710,9 @@ select 'null in fkeys.delete_action', de [ "sys._columns", "information_schema", "routines", "scope_name", "varchar", 1, 0, NULL, true, 33, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "maximum_cardinality", "int", 32, 0, NULL, true, 34, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "dtd_identifier", "int", 32, 0, NULL, true, 35, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "routine_body", "varchar", 0, 0, NULL, true, 36, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "routine_body", "varchar", 8196, 0, NULL, true, 36, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "routine_definition", "varchar", 8196, 0, NULL, true, 37, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "external_name", "varchar", 0, 0, NULL, true, 38, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "external_name", "varchar", 1024, 0, NULL, true, 38, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "external_language", "varchar", 20, 0, NULL, true, 39, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "parameter_style", "char", 7, 0, NULL, true, 40, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "is_deterministic", "char", 3, 0, NULL, true, 41, 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 @@ -444,12 +444,12 @@ select 'null in fkeys.delete_action', de % .%25, .s, .t, ., ., .t, ., ., . # table_name % %25, name, name, query, type, system, commit_action, access, comment # name % char, varchar, varchar, clob, varchar, boolean, char, char, varchar # type -% 11, 18, 34, 6682, 5, 5, 8, 10, 0 # length +% 11, 18, 34, 6750, 5, 5, 8, 10, 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, cast(null as varchar(1024)) as constraint_schema, cast(null as varchar(1024)) as constraint_name, cast(null as varchar(1024)) as check_clause where 1=0;", "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.\"describe_type\"(c.\"type\", c.\"type_digits\", c.\"type_scale\") 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, c.\"type_digits\" * 4, null) as int) 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) a s 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'), c.\"type_scale\" -1, null) as int) as datetime_precision, cast(case c.\"type\" when 'day_interval' then 'interval day' when 'month_interval' then (case c.\"type_digits\" when 1 then 'interval year' when 2 then 'interval year to month' when 3 then 'interval month' else null end) when 'sec_interval' then (case c.\"type_digits\" when 5 then 'interval day to hour' when 6 then 'interval day to minute' when 7 then 'interval day to second' when 8 then 'interval hour' when 9 then 'interval hour to minute' when 10 then 'interval hour to second' when 11 then 'interval minute' when 12 then 'interval minute to second' when 13 then 'interval second' else null end) else null end 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 varc har(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(case when c.\"default\" like 'next value for %' then 'YES' else 'NO' end as varchar(3)) as is_identity, cast(null as varchar(10)) as identity_generation, cast(null as int) as identity_start, cast(null as int) as identity_increment, cast(null as int) as identity_maximum, cast(null as int) as identity_minimum, cast(null as varchar(3)) as identity_cycle, cast('NO' as varchar(3)) as is_generated, cast(null as varchar(1)) 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, ca st(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 declared_numeric_scale, t.\"schema_id\" as schema_id, c.\"table_id\" as table_id, c.\"id\" as column_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\" order by s.\"name\", t.\"name\", c.\"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 ] -[ "sys._tables", "information_schema", "routines", "create view information_schema.routines as select cast(null as varchar(1)) as specific_catalog, s.\"name\" as specific_schema, cast(f.\"id\" as varchar(10)) as specific_name, cast(null as varchar(1)) as routine_catalog, s.\"name\" as routine_schema, f.\"name\" as routine_name, ft.\"function_type_keyword\" as routine_type, cast(null as varchar(1)) as module_catalog, cast(null as varchar(1)) as module_schema, f.\"mod\" as module_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(case f.\"type\" when 1 then sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\") when 2 then null when 5 then 'TABLE' when 7 then 'TABLE' else null end 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.ifthe nelse(a.\"type\" in ('varchar','clob','char','json','url','xml') and a.\"type_digits\" > 0, a.\"type_digits\" * 4, null) as int) as character_octet_length, cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, 'UTF-8' 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','decimal','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 n umeric_scale, cast(sys.ifthenelse(a.\"type\" in ('date','timestamp','timestamptz','time','timetz'), a.\"type_scale\" -1, null) as int) as datetime_precision, cast(sys.ifthenelse(a.\"type\" in ('day_interval','month_interval','sec_interval'), sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\"), 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_digits\" 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 type_udt_catalog, cast(null as varchar(1)) as type_udt_schema, cast(null as varchar(1)) as type_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 int) as dtd_identifier, sys.\"ifthenelse\"(sys.\"locate\"('begin' ,f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), null) as routine_body, f.\"func\" as routine_definition, sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), null) as external_name, fl.\"language_keyword\" as external_language, 'GENERAL' as parameter_style, 'YES' as is_deterministic, cast(sys.ifthenelse(f.\"side_effect\", 'MODIFIES', 'READ') as varchar(10)) as sql_data_access, cast(case f.\"type\" when 2 then null else 'NO' end as varchar(3)) as is_null_call, cast(null as varchar(1)) as sql_path, cast(null as varchar(1)) as schema_level_routine, cast(null as int) as max_dynamic_result_sets, cast(null as varchar(1)) as is_user_defined_cast, cast(null as varchar(1)) as is_implicitly_invocable, cast(null as varchar(1)) as security_type, 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(null as varchar(1)) as as_locator, cast(null as timestamp) as created, cast(null as timestamp) as last_altered, cast(null as varchar(1)) as new_savepoint_level, cast(null as varchar(1)) as is_udt_dependent, cast(null as varchar(1)) as result_cast_from_data_type, cast(null as varchar(1)) as result_cast_as_locator, cast(null as int) as result_cast_char_max_length, cast(null as int) as result_cast_char_octet_length, cast(null as varchar(1)) as result_cast_char_set_catalog, cast(null as varchar(1)) as result_cast_char_s et_schema, cast(null as varchar(1)) as result_cast_character_set_name, cast(null as varchar(1)) as result_cast_collation_catalog, cast(null as varchar(1)) as result_cast_collation_schema, cast(null as varchar(1)) as result_cast_collation_name, cast(null as int) as result_cast_numeric_precision, cast(null as int) as result_cast_numeric_radix, cast(null as int) as result_cast_numeric_scale, cast(null as int) as result_cast_datetime_precision, cast(null as varchar(1)) as result_cast_interval_type, cast(null as int) as result_cast_interval_precision, cast(null as varchar(1)) as result_cast_type_udt_catalog, cast(null as varchar(1)) as result_cast_type_udt_schema, cast(null as varchar(1)) as result_cast_type_udt_name, cast(null as varchar(1)) as result_cast_scope_catalog, cast(null as varchar(1)) as result_cast_scope_schema, cast(null as varchar(1)) as result_cast_scope_name, cast(null as int) as result_cast_max_cardinality, cast(null as varchar(1)) as result_cast_dtd_identifier, cast(nu ll 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 result_cast_from_declared_data_type, cast(null as int) as result_cast_declared_numeric_precision, cast(null as int) as result_cast_declared_numeric_scale, f.\"schema_id\" as schema_id, f.\"id\" as function_id, f.\"type\" as function_type, f.\"language\" as function_language, f.\"system\" as is_system, cm.\"remark\" as comments from sys.\"functions\" f inner join sys.\"schemas\" s on s.\"id\" = f.\"schema_id\" inner join sys.\"function_types\" ft on ft.\"function_type_id\" = f.\"type\" inner join sys.\"function_languages\" fl on fl.\"language_id\" = f.\"language\" left outer join sys.\"args\" a on a.\"func_id\" = f.\"id\" and a.\"inout\" = 0 and a.\"number\" = 0 left outer join sys.\"comments\" cm on cm.\"id\" = f.\"id\" where f.\"type\" in (1, 2, 5, 7) order by s.\"name\", f.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] +[ "sys._tables", "information_schema", "routines", "create view information_schema.routines as select cast(null as varchar(1)) as specific_catalog, s.\"name\" as specific_schema, cast(f.\"id\" as varchar(10)) as specific_name, cast(null as varchar(1)) as routine_catalog, s.\"name\" as routine_schema, f.\"name\" as routine_name, ft.\"function_type_keyword\" as routine_type, cast(null as varchar(1)) as module_catalog, cast(null as varchar(1)) as module_schema, cast(f.\"mod\" as varchar(128)) as module_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(case f.\"type\" when 1 then sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\") when 2 then null when 5 then 'TABLE' when 7 then 'TABLE' else null end 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, a.\"type_digits\" * 4, null) as int) as character_octet_length, cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, 'UTF-8' 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','decimal','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'), a.\"type_scale\" -1, null) as int) as datetime_precision, cast(sys.ifthenelse(a.\"type\" in ('day_interval','month_interval','sec_interval'), sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\"), 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_digits\" 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 type_udt_catalog, cast(null as varchar(1)) as type_udt_schema, cast(null as varchar(1)) as type_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 int) as dtd_identifier, cast(sys.\"ifthenel se\"(sys.\"locate\"('begin',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), null) as varchar(8196)) as routine_body, f.\"func\" as routine_definition, cast(sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), null) as varchar(1024)) as external_name, fl.\"language_keyword\" as external_language, 'GENERAL' as parameter_style, 'YES' as is_deterministic, cast(sys.ifthenelse(f.\"side_effect\", 'MODIFIES', 'READ') as varchar(10)) as sql_data_access, cast(case f.\"type\" when 2 then null else 'NO' end as varchar(3)) as is_null_call, cast(null as varchar(1)) as sql_path, cast(null as varchar(1)) as schema_level_routine, cast(null as int) as max_dynamic_result_sets, cast(null as varchar(1)) as is_user_defined_cast, cast(null as varchar(1)) as is_implicitly_invocable, cast(null as varchar(1)) as security_type, 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(null as varchar(1)) as as_locator, cast(null as timestamp) as created, cast(null as timestamp) as last_altered, cast(null as varchar(1)) as new_savepoint_level, cast(null as varchar(1)) as is_udt_dependent, cast(null as varchar(1)) as result_cast_from_data_type, cast(null as varchar(1)) as result_cast_as_locator, cast(null as int) as result_cast_char_max_length, cast(null as int) as result_cast_char_octet_length, cast(null as varchar(1)) as result_c ast_char_set_catalog, cast(null as varchar(1)) as result_cast_char_set_schema, cast(null as varchar(1)) as result_cast_character_set_name, cast(null as varchar(1)) as result_cast_collation_catalog, cast(null as varchar(1)) as result_cast_collation_schema, cast(null as varchar(1)) as result_cast_collation_name, cast(null as int) as result_cast_numeric_precision, cast(null as int) as result_cast_numeric_radix, cast(null as int) as result_cast_numeric_scale, cast(null as int) as result_cast_datetime_precision, cast(null as varchar(1)) as result_cast_interval_type, cast(null as int) as result_cast_interval_precision, cast(null as varchar(1)) as result_cast_type_udt_catalog, cast(null as varchar(1)) as result_cast_type_udt_schema, cast(null as varchar(1)) as result_cast_type_udt_name, cast(null as varchar(1)) as result_cast_scope_catalog, cast(null as varchar(1)) as result_cast_scope_schema, cast(null as varchar(1)) as result_cast_scope_name, cast(null as int) as result_cast_max_cardinal ity, cast(null as varchar(1)) as result_cast_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 result_cast_from_declared_data_type, cast(null as int) as result_cast_declared_numeric_precision, cast(null as int) as result_cast_declared_numeric_scale, f.\"schema_id\" as schema_id, f.\"id\" as function_id, f.\"type\" as function_type, f.\"language\" as function_language, f.\"system\" as is_system, cm.\"remark\" as comments from sys.\"functions\" f inner join sys.\"schemas\" s on s.\"id\" = f.\"schema_id\" inner join sys.\"function_types\" ft on ft.\"function_type_id\" = f.\"type\" inner join sys.\"function_languages\" fl on fl.\"language_id\" = f.\"language\" left outer join sys.\"args\" a on a.\"func_id\" = f.\"id\" and a.\"inout\" = 0 and a.\"number\" = 0 left outer join sys.\"comments\" cm on cm.\"id\" = f.\"id\" where f.\"type\" in (1, 2, 5, 7) ord er by s.\"name\", f.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "schemata", "create view information_schema.schemata as select cast(null as varchar(1)) as catalog_name, s.\"name\" as schema_name, a.\"name\" as schema_owner, cast(null as varchar(1)) as default_character_set_catalog, cast(null as varchar(1)) as default_character_set_schema, cast('UTF-8' as varchar(16)) as default_character_set_name, cast(null as varchar(1)) as sql_path, s.\"id\" as schema_id, s.\"system\" as is_system, cm.\"remark\" as comments from sys.\"schemas\" s inner join sys.\"auths\" a on s.\"owner\" = a.\"id\" left outer join sys.\"comments\" cm on s.\"id\" = cm.\"id\" order by s.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "sequences", "create view information_schema.sequences as select cast(null as varchar(1)) as sequence_catalog, s.\"name\" as sequence_schema, sq.\"name\" as sequence_name, cast('BIGINT' as varchar(16)) as data_type, cast(64 as smallint) as numeric_precision, cast(2 as smallint) as numeric_precision_radix, cast(0 as smallint) as numeric_scale, sq.\"start\" as start_value, sq.\"minvalue\" as minimum_value, sq.\"maxvalue\" as maximum_value, sq.\"increment\" as increment, cast(sys.ifthenelse(sq.\"cycle\", 'YES', 'NO') as varchar(3)) as cycle_option, cast(null as varchar(16)) as declared_data_type, cast(null as smallint) as declared_numeric_precision, cast(null as smallint) as declared_numeric_scale, sq.\"schema_id\" as schema_id, sq.\"id\" as sequence_id, get_value_for(s.\"name\", sq.\"name\") as current_value, sq.\"cacheinc\" as cacheinc, cm.\"remark\" as comments from sys.\"sequences\" sq inner join sys.\"schemas\" s on sq.\"schema_id\" = s.\"id\ " left outer join sys.\"comments\" cm on sq.\"id\" = cm.\"id\" order by s.\"name\", sq.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "table_constraints", "create view information_schema.table_constraints as select cast(null as varchar(1)) as constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as constraint_name, cast(null as varchar(1)) as table_catalog, s.\"name\" as table_schema, t.\"name\" as table_name, cast(case k.\"type\" when 0 then 'PRIMARY KEY' when 1 then 'UNIQUE' when 2 then 'FOREIGN KEY' else null end as varchar(16)) as constraint_type, cast('NO' as varchar(3)) as is_deferrable, cast('NO' as varchar(3)) as initially_deferred, cast('YES' as varchar(3)) as enforced, t.\"schema_id\" as schema_id, t.\"id\" as table_id, k.\"id\" as key_id, k.\"type\" as key_type, t.\"system\" as is_system from (select sk.\"id\", sk.\"table_id\", sk.\"name\", sk.\"type\" from sys.\"keys\" sk union all select tk.\"id\", tk.\"table_id\", tk.\"name\", tk.\"type\" from tmp.\"keys\" tk) k inner join (select st.\"id\", st.\"schema_id\", st.\"name\", st.\"system\" from sys.\"_tabl es\" st union all select tt.\"id\", tt.\"schema_id\", tt.\"name\", tt.\"system\" 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 ] @@ -681,7 +681,7 @@ select 'null in fkeys.delete_action', de [ "sys._columns", "information_schema", "routines", "routine_type", "varchar", 30, 0, NULL, true, 6, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "module_catalog", "varchar", 1, 0, NULL, true, 7, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "module_schema", "varchar", 1, 0, NULL, true, 8, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "module_name", "varchar", 8196, 0, NULL, true, 9, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "module_name", "varchar", 128, 0, NULL, true, 9, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_catalog", "varchar", 1, 0, NULL, true, 10, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_schema", "varchar", 1, 0, NULL, true, 11, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_name", "varchar", 1, 0, NULL, true, 12, NULL, NULL ] @@ -708,9 +708,9 @@ select 'null in fkeys.delete_action', de [ "sys._columns", "information_schema", "routines", "scope_name", "varchar", 1, 0, NULL, true, 33, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "maximum_cardinality", "int", 32, 0, NULL, true, 34, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "dtd_identifier", "int", 32, 0, NULL, true, 35, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "routine_body", "varchar", 0, 0, NULL, true, 36, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "routine_body", "varchar", 8196, 0, NULL, true, 36, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "routine_definition", "varchar", 8196, 0, NULL, true, 37, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "external_name", "varchar", 0, 0, NULL, true, 38, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "external_name", "varchar", 1024, 0, NULL, true, 38, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "external_language", "varchar", 20, 0, NULL, true, 39, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "parameter_style", "char", 7, 0, NULL, true, 40, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "is_deterministic", "char", 3, 0, NULL, true, 41, 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 @@ -444,12 +444,12 @@ select 'null in fkeys.delete_action', de % .%25, .s, .t, ., ., .t, ., ., . # table_name % %25, name, name, query, type, system, commit_action, access, comment # name % char, varchar, varchar, clob, varchar, boolean, char, char, varchar # type -% 11, 18, 34, 6682, 5, 5, 8, 10, 0 # length +% 11, 18, 34, 6750, 5, 5, 8, 10, 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, cast(null as varchar(1024)) as constraint_schema, cast(null as varchar(1024)) as constraint_name, cast(null as varchar(1024)) as check_clause where 1=0;", "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.\"describe_type\"(c.\"type\", c.\"type_digits\", c.\"type_scale\") 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, c.\"type_digits\" * 4, null) as int) 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) a s 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'), c.\"type_scale\" -1, null) as int) as datetime_precision, cast(case c.\"type\" when 'day_interval' then 'interval day' when 'month_interval' then (case c.\"type_digits\" when 1 then 'interval year' when 2 then 'interval year to month' when 3 then 'interval month' else null end) when 'sec_interval' then (case c.\"type_digits\" when 5 then 'interval day to hour' when 6 then 'interval day to minute' when 7 then 'interval day to second' when 8 then 'interval hour' when 9 then 'interval hour to minute' when 10 then 'interval hour to second' when 11 then 'interval minute' when 12 then 'interval minute to second' when 13 then 'interval second' else null end) else null end 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 varc har(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(case when c.\"default\" like 'next value for %' then 'YES' else 'NO' end as varchar(3)) as is_identity, cast(null as varchar(10)) as identity_generation, cast(null as int) as identity_start, cast(null as int) as identity_increment, cast(null as int) as identity_maximum, cast(null as int) as identity_minimum, cast(null as varchar(3)) as identity_cycle, cast('NO' as varchar(3)) as is_generated, cast(null as varchar(1)) 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, ca st(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 declared_numeric_scale, t.\"schema_id\" as schema_id, c.\"table_id\" as table_id, c.\"id\" as column_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\" order by s.\"name\", t.\"name\", c.\"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 ] -[ "sys._tables", "information_schema", "routines", "create view information_schema.routines as select cast(null as varchar(1)) as specific_catalog, s.\"name\" as specific_schema, cast(f.\"id\" as varchar(10)) as specific_name, cast(null as varchar(1)) as routine_catalog, s.\"name\" as routine_schema, f.\"name\" as routine_name, ft.\"function_type_keyword\" as routine_type, cast(null as varchar(1)) as module_catalog, cast(null as varchar(1)) as module_schema, f.\"mod\" as module_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(case f.\"type\" when 1 then sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\") when 2 then null when 5 then 'TABLE' when 7 then 'TABLE' else null end 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.ifthe nelse(a.\"type\" in ('varchar','clob','char','json','url','xml') and a.\"type_digits\" > 0, a.\"type_digits\" * 4, null) as int) as character_octet_length, cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, 'UTF-8' 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','decimal','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 n umeric_scale, cast(sys.ifthenelse(a.\"type\" in ('date','timestamp','timestamptz','time','timetz'), a.\"type_scale\" -1, null) as int) as datetime_precision, cast(sys.ifthenelse(a.\"type\" in ('day_interval','month_interval','sec_interval'), sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\"), 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_digits\" 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 type_udt_catalog, cast(null as varchar(1)) as type_udt_schema, cast(null as varchar(1)) as type_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 int) as dtd_identifier, sys.\"ifthenelse\"(sys.\"locate\"('begin' ,f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), null) as routine_body, f.\"func\" as routine_definition, sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), null) as external_name, fl.\"language_keyword\" as external_language, 'GENERAL' as parameter_style, 'YES' as is_deterministic, cast(sys.ifthenelse(f.\"side_effect\", 'MODIFIES', 'READ') as varchar(10)) as sql_data_access, cast(case f.\"type\" when 2 then null else 'NO' end as varchar(3)) as is_null_call, cast(null as varchar(1)) as sql_path, cast(null as varchar(1)) as schema_level_routine, cast(null as int) as max_dynamic_result_sets, cast(null as varchar(1)) as is_user_defined_cast, cast(null as varchar(1)) as is_implicitly_invocable, cast(null as varchar(1)) as security_type, 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(null as varchar(1)) as as_locator, cast(null as timestamp) as created, cast(null as timestamp) as last_altered, cast(null as varchar(1)) as new_savepoint_level, cast(null as varchar(1)) as is_udt_dependent, cast(null as varchar(1)) as result_cast_from_data_type, cast(null as varchar(1)) as result_cast_as_locator, cast(null as int) as result_cast_char_max_length, cast(null as int) as result_cast_char_octet_length, cast(null as varchar(1)) as result_cast_char_set_catalog, cast(null as varchar(1)) as result_cast_char_s et_schema, cast(null as varchar(1)) as result_cast_character_set_name, cast(null as varchar(1)) as result_cast_collation_catalog, cast(null as varchar(1)) as result_cast_collation_schema, cast(null as varchar(1)) as result_cast_collation_name, cast(null as int) as result_cast_numeric_precision, cast(null as int) as result_cast_numeric_radix, cast(null as int) as result_cast_numeric_scale, cast(null as int) as result_cast_datetime_precision, cast(null as varchar(1)) as result_cast_interval_type, cast(null as int) as result_cast_interval_precision, cast(null as varchar(1)) as result_cast_type_udt_catalog, cast(null as varchar(1)) as result_cast_type_udt_schema, cast(null as varchar(1)) as result_cast_type_udt_name, cast(null as varchar(1)) as result_cast_scope_catalog, cast(null as varchar(1)) as result_cast_scope_schema, cast(null as varchar(1)) as result_cast_scope_name, cast(null as int) as result_cast_max_cardinality, cast(null as varchar(1)) as result_cast_dtd_identifier, cast(nu ll 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 result_cast_from_declared_data_type, cast(null as int) as result_cast_declared_numeric_precision, cast(null as int) as result_cast_declared_numeric_scale, f.\"schema_id\" as schema_id, f.\"id\" as function_id, f.\"type\" as function_type, f.\"language\" as function_language, f.\"system\" as is_system, cm.\"remark\" as comments from sys.\"functions\" f inner join sys.\"schemas\" s on s.\"id\" = f.\"schema_id\" inner join sys.\"function_types\" ft on ft.\"function_type_id\" = f.\"type\" inner join sys.\"function_languages\" fl on fl.\"language_id\" = f.\"language\" left outer join sys.\"args\" a on a.\"func_id\" = f.\"id\" and a.\"inout\" = 0 and a.\"number\" = 0 left outer join sys.\"comments\" cm on cm.\"id\" = f.\"id\" where f.\"type\" in (1, 2, 5, 7) order by s.\"name\", f.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] +[ "sys._tables", "information_schema", "routines", "create view information_schema.routines as select cast(null as varchar(1)) as specific_catalog, s.\"name\" as specific_schema, cast(f.\"id\" as varchar(10)) as specific_name, cast(null as varchar(1)) as routine_catalog, s.\"name\" as routine_schema, f.\"name\" as routine_name, ft.\"function_type_keyword\" as routine_type, cast(null as varchar(1)) as module_catalog, cast(null as varchar(1)) as module_schema, cast(f.\"mod\" as varchar(128)) as module_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(case f.\"type\" when 1 then sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\") when 2 then null when 5 then 'TABLE' when 7 then 'TABLE' else null end 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, a.\"type_digits\" * 4, null) as int) as character_octet_length, cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, 'UTF-8' 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','decimal','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'), a.\"type_scale\" -1, null) as int) as datetime_precision, cast(sys.ifthenelse(a.\"type\" in ('day_interval','month_interval','sec_interval'), sys.\"describe_type\"(a.\"type\", a.\"type_digits\", a.\"type_scale\"), 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_digits\" 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 type_udt_catalog, cast(null as varchar(1)) as type_udt_schema, cast(null as varchar(1)) as type_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 int) as dtd_identifier, cast(sys.\"ifthenel se\"(sys.\"locate\"('begin',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\")))-1), sys.\"substring\"(f.\"func\", sys.\"locate\"('begin',f.\"func\"))), null) as varchar(8196)) as routine_body, f.\"func\" as routine_definition, cast(sys.\"ifthenelse\"(sys.\"locate\"('external name',f.\"func\") > 0, sys.\"ifthenelse\"(sys.\"endswith\"(f.\"func\",';'), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"), sys.\"length\"(sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\")))-1), sys.\"substring\"(f.\"func\", 14 + sys.\"locate\"('external name',f.\"func\"))), null) as varchar(1024)) as external_name, fl.\"language_keyword\" as external_language, 'GENERAL' as parameter_style, 'YES' as is_deterministic, cast(sys.ifthenelse(f.\"side_effect\", 'MODIFIES', 'READ') as varchar(10)) as sql_data_access, cast(case f.\"type\" when 2 then null else 'NO' end as varchar(3)) as is_null_call, cast(null as varchar(1)) as sql_path, cast(null as varchar(1)) as schema_level_routine, cast(null as int) as max_dynamic_result_sets, cast(null as varchar(1)) as is_user_defined_cast, cast(null as varchar(1)) as is_implicitly_invocable, cast(null as varchar(1)) as security_type, 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(null as varchar(1)) as as_locator, cast(null as timestamp) as created, cast(null as timestamp) as last_altered, cast(null as varchar(1)) as new_savepoint_level, cast(null as varchar(1)) as is_udt_dependent, cast(null as varchar(1)) as result_cast_from_data_type, cast(null as varchar(1)) as result_cast_as_locator, cast(null as int) as result_cast_char_max_length, cast(null as int) as result_cast_char_octet_length, cast(null as varchar(1)) as result_c ast_char_set_catalog, cast(null as varchar(1)) as result_cast_char_set_schema, cast(null as varchar(1)) as result_cast_character_set_name, cast(null as varchar(1)) as result_cast_collation_catalog, cast(null as varchar(1)) as result_cast_collation_schema, cast(null as varchar(1)) as result_cast_collation_name, cast(null as int) as result_cast_numeric_precision, cast(null as int) as result_cast_numeric_radix, cast(null as int) as result_cast_numeric_scale, cast(null as int) as result_cast_datetime_precision, cast(null as varchar(1)) as result_cast_interval_type, cast(null as int) as result_cast_interval_precision, cast(null as varchar(1)) as result_cast_type_udt_catalog, cast(null as varchar(1)) as result_cast_type_udt_schema, cast(null as varchar(1)) as result_cast_type_udt_name, cast(null as varchar(1)) as result_cast_scope_catalog, cast(null as varchar(1)) as result_cast_scope_schema, cast(null as varchar(1)) as result_cast_scope_name, cast(null as int) as result_cast_max_cardinal ity, cast(null as varchar(1)) as result_cast_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 result_cast_from_declared_data_type, cast(null as int) as result_cast_declared_numeric_precision, cast(null as int) as result_cast_declared_numeric_scale, f.\"schema_id\" as schema_id, f.\"id\" as function_id, f.\"type\" as function_type, f.\"language\" as function_language, f.\"system\" as is_system, cm.\"remark\" as comments from sys.\"functions\" f inner join sys.\"schemas\" s on s.\"id\" = f.\"schema_id\" inner join sys.\"function_types\" ft on ft.\"function_type_id\" = f.\"type\" inner join sys.\"function_languages\" fl on fl.\"language_id\" = f.\"language\" left outer join sys.\"args\" a on a.\"func_id\" = f.\"id\" and a.\"inout\" = 0 and a.\"number\" = 0 left outer join sys.\"comments\" cm on cm.\"id\" = f.\"id\" where f.\"type\" in (1, 2, 5, 7) ord er by s.\"name\", f.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "schemata", "create view information_schema.schemata as select cast(null as varchar(1)) as catalog_name, s.\"name\" as schema_name, a.\"name\" as schema_owner, cast(null as varchar(1)) as default_character_set_catalog, cast(null as varchar(1)) as default_character_set_schema, cast('UTF-8' as varchar(16)) as default_character_set_name, cast(null as varchar(1)) as sql_path, s.\"id\" as schema_id, s.\"system\" as is_system, cm.\"remark\" as comments from sys.\"schemas\" s inner join sys.\"auths\" a on s.\"owner\" = a.\"id\" left outer join sys.\"comments\" cm on s.\"id\" = cm.\"id\" order by s.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "sequences", "create view information_schema.sequences as select cast(null as varchar(1)) as sequence_catalog, s.\"name\" as sequence_schema, sq.\"name\" as sequence_name, cast('BIGINT' as varchar(16)) as data_type, cast(64 as smallint) as numeric_precision, cast(2 as smallint) as numeric_precision_radix, cast(0 as smallint) as numeric_scale, sq.\"start\" as start_value, sq.\"minvalue\" as minimum_value, sq.\"maxvalue\" as maximum_value, sq.\"increment\" as increment, cast(sys.ifthenelse(sq.\"cycle\", 'YES', 'NO') as varchar(3)) as cycle_option, cast(null as varchar(16)) as declared_data_type, cast(null as smallint) as declared_numeric_precision, cast(null as smallint) as declared_numeric_scale, sq.\"schema_id\" as schema_id, sq.\"id\" as sequence_id, get_value_for(s.\"name\", sq.\"name\") as current_value, sq.\"cacheinc\" as cacheinc, cm.\"remark\" as comments from sys.\"sequences\" sq inner join sys.\"schemas\" s on sq.\"schema_id\" = s.\"id\ " left outer join sys.\"comments\" cm on sq.\"id\" = cm.\"id\" order by s.\"name\", sq.\"name\";", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "table_constraints", "create view information_schema.table_constraints as select cast(null as varchar(1)) as constraint_catalog, s.\"name\" as constraint_schema, k.\"name\" as constraint_name, cast(null as varchar(1)) as table_catalog, s.\"name\" as table_schema, t.\"name\" as table_name, cast(case k.\"type\" when 0 then 'PRIMARY KEY' when 1 then 'UNIQUE' when 2 then 'FOREIGN KEY' else null end as varchar(16)) as constraint_type, cast('NO' as varchar(3)) as is_deferrable, cast('NO' as varchar(3)) as initially_deferred, cast('YES' as varchar(3)) as enforced, t.\"schema_id\" as schema_id, t.\"id\" as table_id, k.\"id\" as key_id, k.\"type\" as key_type, t.\"system\" as is_system from (select sk.\"id\", sk.\"table_id\", sk.\"name\", sk.\"type\" from sys.\"keys\" sk union all select tk.\"id\", tk.\"table_id\", tk.\"name\", tk.\"type\" from tmp.\"keys\" tk) k inner join (select st.\"id\", st.\"schema_id\", st.\"name\", st.\"system\" from sys.\"_tabl es\" st union all select tt.\"id\", tt.\"schema_id\", tt.\"name\", tt.\"system\" 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 ] @@ -683,7 +683,7 @@ select 'null in fkeys.delete_action', de [ "sys._columns", "information_schema", "routines", "routine_type", "varchar", 30, 0, NULL, true, 6, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "module_catalog", "varchar", 1, 0, NULL, true, 7, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "module_schema", "varchar", 1, 0, NULL, true, 8, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "module_name", "varchar", 8196, 0, NULL, true, 9, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "module_name", "varchar", 128, 0, NULL, true, 9, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_catalog", "varchar", 1, 0, NULL, true, 10, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_schema", "varchar", 1, 0, NULL, true, 11, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "udt_name", "varchar", 1, 0, NULL, true, 12, NULL, NULL ] @@ -710,9 +710,9 @@ select 'null in fkeys.delete_action', de [ "sys._columns", "information_schema", "routines", "scope_name", "varchar", 1, 0, NULL, true, 33, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "maximum_cardinality", "int", 32, 0, NULL, true, 34, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "dtd_identifier", "int", 32, 0, NULL, true, 35, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "routine_body", "varchar", 0, 0, NULL, true, 36, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "routine_body", "varchar", 8196, 0, NULL, true, 36, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "routine_definition", "varchar", 8196, 0, NULL, true, 37, NULL, NULL ] -[ "sys._columns", "information_schema", "routines", "external_name", "varchar", 0, 0, NULL, true, 38, NULL, NULL ] +[ "sys._columns", "information_schema", "routines", "external_name", "varchar", 1024, 0, NULL, true, 38, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "external_language", "varchar", 20, 0, NULL, true, 39, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "parameter_style", "char", 7, 0, NULL, true, 40, NULL, NULL ] [ "sys._columns", "information_schema", "routines", "is_deterministic", "char", 3, 0, NULL, true, 41, NULL, NULL ] _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org