[CP] [to #2024071200103691754]fix bugs, all_types methods, local_methods, local_attributes columns bugs

This commit is contained in:
obdev
2024-08-19 06:57:25 +00:00
committed by ob-robot
parent 3ede8a0f8c
commit bf865be77b
7 changed files with 19 additions and 19 deletions

View File

@ -2210,7 +2210,7 @@ int ObInnerTableSchema::proc_schema(ObTableSchema &table_schema)
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
32, //column_length
OB_MAX_VARCHAR_LENGTH, //column_length
-1, //column_precision
-1, //column_scale
false, //is_nullable

View File

@ -2210,7 +2210,7 @@ int ObInnerTableSchema::dba_types_schema(ObTableSchema &table_schema)
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
if (OB_SUCC(ret)) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT D.DATABASE_NAME AS OWNER, T.TYPE_NAME AS TYPE_NAME, T.TYPE_ID AS TYPE_OID, CAST( CASE T.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, T.ATTRIBUTES AS ATTRIBUTES, T.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, T.LOCAL_ATTRS AS LOCAL_ATTRIBUTES, T.LOCAL_METHODS AS LOCAL_METHODS, T.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON D.DATABASE_ID = T.DATABASE_ID AND T.TENANT_ID = SYS_CONTEXT('USERENV', 'CON_ID') AND T.TENANT_ID = EFFECTIVE_TENANT_ID() AND D.TENANT_ID = EFFECTIVE_TENANT_ID() UNION ALL SELECT CAST('SYS' AS VARCHAR2(30)) AS OWNER, TS.TYPE_NAME AS TYPE_NAME, TS.TYPE_ID AS TYPE_OID, CAST( CASE TS.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, TS.ATTRIBUTES AS ATTRIBUTES, TS.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, TS.LOCAL_ATTRS AS LOCAL_ATTRIBUTES, TS.LOCAL_METHODS AS LOCAL_METHODS, TS.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS )__"))) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT D.DATABASE_NAME AS OWNER, T.TYPE_NAME AS TYPE_NAME, T.TYPE_ID AS TYPE_OID, CAST( CASE T.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, T.ATTRIBUTES AS ATTRIBUTES, T.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES, CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS, T.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON D.DATABASE_ID = T.DATABASE_ID AND T.TENANT_ID = SYS_CONTEXT('USERENV', 'CON_ID') AND T.TENANT_ID = EFFECTIVE_TENANT_ID() AND D.TENANT_ID = EFFECTIVE_TENANT_ID() UNION ALL SELECT CAST('SYS' AS VARCHAR2(30)) AS OWNER, TS.TYPE_NAME AS TYPE_NAME, TS.TYPE_ID AS TYPE_OID, CAST( CASE TS.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, TS.ATTRIBUTES AS ATTRIBUTES, TS.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES, CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS, TS.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS )__"))) {
LOG_ERROR("fail to set view_definition", K(ret));
}
}
@ -2260,7 +2260,7 @@ int ObInnerTableSchema::all_types_schema(ObTableSchema &table_schema)
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
if (OB_SUCC(ret)) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT D.DATABASE_NAME AS OWNER, T.TYPE_NAME AS TYPE_NAME, T.TYPE_ID AS TYPE_OID, CAST( CASE T.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, T.ATTRIBUTES AS ATTRIBUTES, T.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, T.LOCAL_ATTRS AS LOCAL_ATTRIBUTES, T.LOCAL_METHODS AS LOCAL_METHODS, T.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON D.DATABASE_ID = T.DATABASE_ID AND T.TENANT_ID = EFFECTIVE_TENANT_ID() AND D.TENANT_ID = EFFECTIVE_TENANT_ID() AND (T.DATABASE_ID = USERENV('SCHEMAID') or USER_CAN_ACCESS_OBJ(4, T.TYPE_ID, T.DATABASE_ID) = 1) AND T.TENANT_ID = SYS_CONTEXT('USERENV', 'CON_ID') UNION ALL SELECT CAST('SYS' AS VARCHAR2(30)) AS OWNER, TS.TYPE_NAME AS TYPE_NAME, TS.TYPE_ID AS TYPE_OID, CAST( CASE TS.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, TS.ATTRIBUTES AS ATTRIBUTES, TS.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, TS.LOCAL_ATTRS AS LOCAL_ATTRIBUTES, TS.LOCAL_METHODS AS LOCAL_METHODS, TS.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS )__"))) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT D.DATABASE_NAME AS OWNER, T.TYPE_NAME AS TYPE_NAME, T.TYPE_ID AS TYPE_OID, CAST( CASE T.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, T.ATTRIBUTES AS ATTRIBUTES, T.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES, CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS, T.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON D.DATABASE_ID = T.DATABASE_ID AND T.TENANT_ID = EFFECTIVE_TENANT_ID() AND D.TENANT_ID = EFFECTIVE_TENANT_ID() AND (T.DATABASE_ID = USERENV('SCHEMAID') or USER_CAN_ACCESS_OBJ(4, T.TYPE_ID, T.DATABASE_ID) = 1) AND T.TENANT_ID = SYS_CONTEXT('USERENV', 'CON_ID') UNION ALL SELECT CAST('SYS' AS VARCHAR2(30)) AS OWNER, TS.TYPE_NAME AS TYPE_NAME, TS.TYPE_ID AS TYPE_OID, CAST( CASE TS.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, TS.ATTRIBUTES AS ATTRIBUTES, TS.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES, CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS, TS.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS )__"))) {
LOG_ERROR("fail to set view_definition", K(ret));
}
}
@ -2310,7 +2310,7 @@ int ObInnerTableSchema::user_types_schema(ObTableSchema &table_schema)
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
if (OB_SUCC(ret)) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT T.TYPE_NAME AS TYPE_NAME, T.TYPE_ID AS TYPE_OID, CAST( CASE T.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, T.ATTRIBUTES AS ATTRIBUTES, T.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, T.LOCAL_ATTRS AS LOCAL_ATTRIBUTES, T.LOCAL_METHODS AS LOCAL_METHODS, T.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON D.DATABASE_ID = T.DATABASE_ID AND T.TENANT_ID = SYS_CONTEXT('USERENV', 'CON_ID') AND D.DATABASE_ID = USERENV('SCHEMAID') AND T.TENANT_ID = EFFECTIVE_TENANT_ID() AND D.TENANT_ID = EFFECTIVE_TENANT_ID() )__"))) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT T.TYPE_NAME AS TYPE_NAME, T.TYPE_ID AS TYPE_OID, CAST( CASE T.TYPECODE WHEN 1 THEN 'COLLECTION' WHEN 2 THEN 'OBJECT' END AS VARCHAR2(10)) AS TYPECODE, T.ATTRIBUTES AS ATTRIBUTES, T.METHODS AS METHODS, CAST('NO' AS CHAR(2)) AS PREDEFINED, CAST('NO' AS CHAR(2)) AS INCOMPLETE, CAST('YES' AS CHAR(3)) AS FINAL, CAST('YES' AS CHAR(3)) AS INSTANTIABLE, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER, CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME, CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES, CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS, T.TYPE_ID AS TYPEID FROM SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON D.DATABASE_ID = T.DATABASE_ID AND T.TENANT_ID = SYS_CONTEXT('USERENV', 'CON_ID') AND D.DATABASE_ID = USERENV('SCHEMAID') AND T.TENANT_ID = EFFECTIVE_TENANT_ID() AND D.TENANT_ID = EFFECTIVE_TENANT_ID() )__"))) {
LOG_ERROR("fail to set view_definition", K(ret));
}
}

View File

@ -10315,7 +10315,7 @@ def_table_schema(
('definer', 'varchar:77', 'false', ''),
('created', 'timestamp'),
('modified', 'timestamp',),
('sql_mode', 'varchar:32', 'false', ''),
('sql_mode', 'varchar:OB_MAX_VARCHAR_LENGTH', 'false', ''),
('comment', 'varchar:OB_MAX_VARCHAR_LENGTH', 'false', ''),
('character_set_client', 'varchar:MAX_CHARSET_LENGTH'),
('collation_connection', 'varchar:MAX_CHARSET_LENGTH'),
@ -41499,8 +41499,8 @@ def_table_schema(
CAST('YES' AS CHAR(3)) AS INSTANTIABLE,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME,
T.LOCAL_ATTRS AS LOCAL_ATTRIBUTES,
T.LOCAL_METHODS AS LOCAL_METHODS,
CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES,
CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS,
T.TYPE_ID AS TYPEID
FROM
SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D
@ -41525,8 +41525,8 @@ def_table_schema(
CAST('YES' AS CHAR(3)) AS INSTANTIABLE,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME,
TS.LOCAL_ATTRS AS LOCAL_ATTRIBUTES,
TS.LOCAL_METHODS AS LOCAL_METHODS,
CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES,
CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS,
TS.TYPE_ID AS TYPEID
FROM
SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS
@ -41560,8 +41560,8 @@ def_table_schema(
CAST('YES' AS CHAR(3)) AS INSTANTIABLE,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME,
T.LOCAL_ATTRS AS LOCAL_ATTRIBUTES,
T.LOCAL_METHODS AS LOCAL_METHODS,
CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES,
CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS,
T.TYPE_ID AS TYPEID
FROM
SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D
@ -41588,8 +41588,8 @@ def_table_schema(
CAST('YES' AS CHAR(3)) AS INSTANTIABLE,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME,
TS.LOCAL_ATTRS AS LOCAL_ATTRIBUTES,
TS.LOCAL_METHODS AS LOCAL_METHODS,
CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES,
CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS,
TS.TYPE_ID AS TYPEID
FROM
SYS.ALL_VIRTUAL_TYPE_SYS_AGENT TS
@ -41622,8 +41622,8 @@ def_table_schema(
CAST('YES' AS CHAR(3)) AS INSTANTIABLE,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_OWNER,
CAST(NULL AS VARCHAR2(30)) AS SUPERTYPE_NAME,
T.LOCAL_ATTRS AS LOCAL_ATTRIBUTES,
T.LOCAL_METHODS AS LOCAL_METHODS,
CAST(NULL AS NUMBER(38)) AS LOCAL_ATTRIBUTES,
CAST(NULL AS NUMBER(38)) AS LOCAL_METHODS,
T.TYPE_ID AS TYPEID
FROM
SYS.ALL_VIRTUAL_TYPE_REAL_AGENT T JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D

View File

@ -430,7 +430,7 @@ public:
OB_INLINE void set_type_id(int64_t type_id) { type_id_ = type_id; }
OB_INLINE void set_typecode(int64_t typecode) { typecode_ = typecode; }
OB_INLINE void set_properties(int64_t properties) { properties_ = properties; }
OB_INLINE void set_attributes(int64_t attributes) { UNUSED(attributes);/*attributes_ = attributes;*/ }
OB_INLINE void set_attributes(int64_t attributes) { attributes_ = attributes; }
OB_INLINE void set_methods(int64_t methods) { methods_ = methods; }
OB_INLINE void set_hiddenmethods(int64_t hiddenmethods) { hiddenmethods_ = hiddenmethods; }
OB_INLINE void set_supertypes(int64_t supertypes) { supertypes_ = supertypes; }

View File

@ -1504,7 +1504,7 @@ int ObSqlUdtMetaUtils::generate_udt_meta_from_schema(ObSchemaGetterGuard *schema
udt_meta.udt_id_ = udt_id;
if (root_udt_info->is_object_type()) {
pl_type = static_cast<int32_t>(pl::PL_RECORD_TYPE);
child_attrs_cnt = root_udt_info->get_local_attrs();
child_attrs_cnt = root_udt_info->get_attributes();
} else if (root_udt_info->is_varray()) {
pl_type = static_cast<int32_t>(pl::PL_VARRAY_TYPE);
if (OB_NOT_NULL(root_udt_info->get_coll_info())) {

View File

@ -1637,7 +1637,7 @@ body varchar(1048576) NO
definer varchar(77) NO
created timestamp(6) NO NULL
modified timestamp(6) NO NULL
sql_mode varchar(32) NO
sql_mode varchar(1048576) NO
comment varchar(1048576) NO
character_set_client varchar(128) NO NULL
collation_connection varchar(128) NO NULL

View File

@ -2134,7 +2134,7 @@ body varchar(1048576) NO
definer varchar(77) NO
created timestamp(6) NO NULL
modified timestamp(6) NO NULL
sql_mode varchar(32) NO
sql_mode varchar(1048576) NO
comment varchar(1048576) NO
character_set_client varchar(128) NO NULL
collation_connection varchar(128) NO NULL