fix DBA_DB_LINKS and ALL_DB_LINKS error, and fix mysqltest.

This commit is contained in:
cqliang1995
2023-05-16 13:11:21 +00:00
committed by ob-robot
parent c559d98ab7
commit a94e4d31ce
3 changed files with 18 additions and 22 deletions

View File

@ -710,7 +710,7 @@ int ObInnerTableSchema::dba_db_links_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 convert(B.USER_NAME, char(128)) AS OWNER, convert(A.DBLINK_NAME, char(128)) AS DB_LINK, convert(A.USER_NAME, char(128)) AS USERNAME, convert('', char(128)) AS CREDENTIAL_NAME, convert('', char(128)) AS CREDENTIAL_OWNER, convert(CONCAT_WS(':', A.HOST_IP,convert(A.HOST_PORT, char)), char(2000)) AS HOST, convert(A.GMT_CREATE, datetime) AS CREATED, convert('', char(3)) AS HIDDEN, convert('', char(3)) AS SHARD_INTERNAL, convert('YES', char(3)) AS VALID, convert('', char(3)) AS INTRA_CDB, convert(A.TENANT_NAME, char(128)) AS TENANT_NAME, convert(A.DATABASE_NAME, char(128)) AS DATABASE_NAME, convert(A.REVERSE_TENANT_NAME, char(128)) AS REVERSE_TENANT_NAME, convert(A.CLUSTER_NAME, char(128)) AS CLUSTER_NAME, convert(A.REVERSE_CLUSTER_NAME, char(128)) AS REVERSE_CLUSTER_NAME, convert(A.REVERSE_HOST_IP, char(2000)) AS REVERSE_HOST, A.REVERSE_HOST_PORT AS REVERSE_PORT FROM OCEANBASE.__ALL_DBLINK A, OCEANBASE.__ALL_USER B WHERE A.OWNER_ID = B.USER_ID )__"))) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT convert('PUBLIC', char(128)) AS OWNER, convert(A.DBLINK_NAME, char(128)) AS DB_LINK, convert(A.USER_NAME, char(128)) AS USERNAME, convert('', char(128)) AS CREDENTIAL_NAME, convert('', char(128)) AS CREDENTIAL_OWNER, convert(CONCAT_WS(':', A.HOST_IP,convert(A.HOST_PORT, char)), char(2000)) AS HOST, convert(A.GMT_CREATE, datetime) AS CREATED, convert('', char(3)) AS HIDDEN, convert('', char(3)) AS SHARD_INTERNAL, convert('YES', char(3)) AS VALID, convert('', char(3)) AS INTRA_CDB, convert(A.TENANT_NAME, char(128)) AS TENANT_NAME, convert(A.DATABASE_NAME, char(128)) AS DATABASE_NAME, convert(A.REVERSE_TENANT_NAME, char(128)) AS REVERSE_TENANT_NAME, convert(A.CLUSTER_NAME, char(128)) AS CLUSTER_NAME, convert(A.REVERSE_CLUSTER_NAME, char(128)) AS REVERSE_CLUSTER_NAME, convert(A.REVERSE_HOST_IP, char(2000)) AS REVERSE_HOST, A.REVERSE_HOST_PORT AS REVERSE_PORT FROM OCEANBASE.__ALL_DBLINK A; )__"))) {
LOG_ERROR("fail to set view_definition", K(ret));
}
}

View File

@ -1160,7 +1160,7 @@ int ObInnerTableSchema::all_db_links_ora_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 B.USER_NAME AS OWNER, A.DBLINK_NAME AS DB_LINK, A.USER_NAME AS USERNAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_NAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_OWNER, CAST(CASE DRIVER_PROTO WHEN 1 THEN A.CONN_STRING ELSE (A.HOST_IP || ':' || TO_CHAR(A.HOST_PORT)) END AS VARCHAR2(2000))AS HOST, CAST(A.GMT_CREATE AS DATE) AS CREATED, CAST('' AS VARCHAR2(3)) AS HIDDEN, CAST('' AS VARCHAR2(3)) AS SHARD_INTERNAL, CAST('YES' AS VARCHAR2(3)) AS VALID, CAST('' AS VARCHAR2(3)) AS INTRA_CDB, A.TENANT_NAME AS TENANT_NAME, A.REVERSE_TENANT_NAME AS REVERSE_TENANT_NAME, A.CLUSTER_NAME AS CLUSTER_NAME, A.REVERSE_CLUSTER_NAME AS REVERSE_CLUSTER_NAME, A.REVERSE_HOST_IP AS REVERSE_HOST, A.REVERSE_HOST_PORT AS REVERSE_PORT, A.REVERSE_USER_NAME AS REVERSE_USERNAME FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A, SYS.ALL_VIRTUAL_USER_REAL_AGENT B, SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT DB WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID() AND A.OWNER_ID = B.USER_ID AND B.USER_NAME = DB.DATABASE_NAME AND (DB.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(1, A.DBLINK_ID, DB.DATABASE_ID) = 1) )__"))) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST('PUBLIC' AS VARCHAR2(128)) AS OWNER, CAST(A.DBLINK_NAME AS VARCHAR2(128)) AS DB_LINK, CAST(A.USER_NAME AS VARCHAR2(128)) AS USERNAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_NAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_OWNER, CAST(CASE DRIVER_PROTO WHEN 1 THEN A.CONN_STRING ELSE (A.HOST_IP || ':' || TO_CHAR(A.HOST_PORT)) END AS VARCHAR2(2000))AS HOST, CAST(A.GMT_CREATE AS DATE) AS CREATED, CAST('' AS VARCHAR2(3)) AS HIDDEN, CAST('' AS VARCHAR2(3)) AS SHARD_INTERNAL, CAST('YES' AS VARCHAR2(3)) AS VALID, CAST('' AS VARCHAR2(3)) AS INTRA_CDB, A.TENANT_NAME AS TENANT_NAME, A.REVERSE_TENANT_NAME AS REVERSE_TENANT_NAME, A.CLUSTER_NAME AS CLUSTER_NAME, A.REVERSE_CLUSTER_NAME AS REVERSE_CLUSTER_NAME, A.REVERSE_HOST_IP AS REVERSE_HOST, A.REVERSE_HOST_PORT AS REVERSE_PORT, A.REVERSE_USER_NAME AS REVERSE_USERNAME FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID() AND EXISTS (SELECT 1 from SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT DB WHERE DB.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(1, A.DBLINK_ID, DB.DATABASE_ID) = 1) )__"))) {
LOG_ERROR("fail to set view_definition", K(ret));
}
}
@ -1210,7 +1210,7 @@ int ObInnerTableSchema::dba_db_links_ora_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 B.USER_NAME AS OWNER, A.DBLINK_NAME AS DB_LINK, A.USER_NAME AS USERNAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_NAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_OWNER, CAST(CASE DRIVER_PROTO WHEN 1 THEN A.CONN_STRING ELSE (A.HOST_IP || ':' || TO_CHAR(A.HOST_PORT)) END AS VARCHAR2(2000))AS HOST, CAST(A.GMT_CREATE AS DATE) AS CREATED, CAST('' AS VARCHAR2(3)) AS HIDDEN, CAST('' AS VARCHAR2(3)) AS SHARD_INTERNAL, CAST('YES' AS VARCHAR2(3)) AS VALID, CAST('' AS VARCHAR2(3)) AS INTRA_CDB, A.TENANT_NAME AS TENANT_NAME, A.REVERSE_TENANT_NAME AS REVERSE_TENANT_NAME, A.CLUSTER_NAME AS CLUSTER_NAME, A.REVERSE_CLUSTER_NAME AS REVERSE_CLUSTER_NAME, A.REVERSE_HOST_IP AS REVERSE_HOST, A.REVERSE_HOST_PORT AS REVERSE_PORT, A.REVERSE_USER_NAME AS REVERSE_USERNAME FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A, SYS.ALL_VIRTUAL_USER_REAL_AGENT B WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID() AND A.OWNER_ID = B.USER_ID; )__"))) {
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT CAST('PUBLIC' AS VARCHAR2(128)) AS OWNER, CAST(A.DBLINK_NAME AS VARCHAR2(128)) AS DB_LINK, CAST(A.USER_NAME AS VARCHAR2(128)) AS USERNAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_NAME, CAST('' AS VARCHAR2(128)) AS CREDENTIAL_OWNER, CAST(CASE DRIVER_PROTO WHEN 1 THEN A.CONN_STRING ELSE (A.HOST_IP || ':' || TO_CHAR(A.HOST_PORT)) END AS VARCHAR2(2000))AS HOST, CAST(A.GMT_CREATE AS DATE) AS CREATED, CAST('' AS VARCHAR2(3)) AS HIDDEN, CAST('' AS VARCHAR2(3)) AS SHARD_INTERNAL, CAST('YES' AS VARCHAR2(3)) AS VALID, CAST('' AS VARCHAR2(3)) AS INTRA_CDB, A.TENANT_NAME AS TENANT_NAME, A.REVERSE_TENANT_NAME AS REVERSE_TENANT_NAME, A.CLUSTER_NAME AS CLUSTER_NAME, A.REVERSE_CLUSTER_NAME AS REVERSE_CLUSTER_NAME, A.REVERSE_HOST_IP AS REVERSE_HOST, A.REVERSE_HOST_PORT AS REVERSE_PORT, A.REVERSE_USER_NAME AS REVERSE_USERNAME FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID(); )__"))) {
LOG_ERROR("fail to set view_definition", K(ret));
}
}

View File

@ -27185,7 +27185,7 @@ def_table_schema(
rowkey_columns = [],
view_definition = """
SELECT
convert(B.USER_NAME, char(128)) AS OWNER,
convert('PUBLIC', char(128)) AS OWNER,
convert(A.DBLINK_NAME, char(128)) AS DB_LINK,
convert(A.USER_NAME, char(128)) AS USERNAME,
convert('', char(128)) AS CREDENTIAL_NAME,
@ -27203,9 +27203,7 @@ def_table_schema(
convert(A.REVERSE_CLUSTER_NAME, char(128)) AS REVERSE_CLUSTER_NAME,
convert(A.REVERSE_HOST_IP, char(2000)) AS REVERSE_HOST,
A.REVERSE_HOST_PORT AS REVERSE_PORT
FROM OCEANBASE.__ALL_DBLINK A,
OCEANBASE.__ALL_USER B
WHERE A.OWNER_ID = B.USER_ID
FROM OCEANBASE.__ALL_DBLINK A;
""".replace("\n", " "),
normal_columns = [
],
@ -44505,9 +44503,9 @@ def_table_schema(
in_tenant_space = True,
view_definition = """
SELECT
B.USER_NAME AS OWNER,
A.DBLINK_NAME AS DB_LINK,
A.USER_NAME AS USERNAME,
CAST('PUBLIC' AS VARCHAR2(128)) AS OWNER,
CAST(A.DBLINK_NAME AS VARCHAR2(128)) AS DB_LINK,
CAST(A.USER_NAME AS VARCHAR2(128)) AS USERNAME,
CAST('' AS VARCHAR2(128)) AS CREDENTIAL_NAME,
CAST('' AS VARCHAR2(128)) AS CREDENTIAL_OWNER,
CAST(CASE DRIVER_PROTO WHEN 1 THEN A.CONN_STRING ELSE (A.HOST_IP || ':' || TO_CHAR(A.HOST_PORT)) END AS VARCHAR2(2000))AS HOST,
@ -44523,12 +44521,11 @@ def_table_schema(
A.REVERSE_HOST_IP AS REVERSE_HOST,
A.REVERSE_HOST_PORT AS REVERSE_PORT,
A.REVERSE_USER_NAME AS REVERSE_USERNAME
FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A,
SYS.ALL_VIRTUAL_USER_REAL_AGENT B,
SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT DB
WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID() AND
A.OWNER_ID = B.USER_ID AND B.USER_NAME = DB.DATABASE_NAME AND
(DB.DATABASE_ID = USERENV('SCHEMAID') OR USER_CAN_ACCESS_OBJ(1, A.DBLINK_ID, DB.DATABASE_ID) = 1)
FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A
WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID() AND EXISTS (SELECT 1 from
SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT DB
WHERE DB.DATABASE_ID = USERENV('SCHEMAID')
OR USER_CAN_ACCESS_OBJ(1, A.DBLINK_ID, DB.DATABASE_ID) = 1)
""".replace("\n", " ")
)
@ -44545,9 +44542,9 @@ def_table_schema(
in_tenant_space = True,
view_definition = """
SELECT
B.USER_NAME AS OWNER,
A.DBLINK_NAME AS DB_LINK,
A.USER_NAME AS USERNAME,
CAST('PUBLIC' AS VARCHAR2(128)) AS OWNER,
CAST(A.DBLINK_NAME AS VARCHAR2(128)) AS DB_LINK,
CAST(A.USER_NAME AS VARCHAR2(128)) AS USERNAME,
CAST('' AS VARCHAR2(128)) AS CREDENTIAL_NAME,
CAST('' AS VARCHAR2(128)) AS CREDENTIAL_OWNER,
CAST(CASE DRIVER_PROTO WHEN 1 THEN A.CONN_STRING ELSE (A.HOST_IP || ':' || TO_CHAR(A.HOST_PORT)) END AS VARCHAR2(2000))AS HOST,
@ -44563,9 +44560,8 @@ def_table_schema(
A.REVERSE_HOST_IP AS REVERSE_HOST,
A.REVERSE_HOST_PORT AS REVERSE_PORT,
A.REVERSE_USER_NAME AS REVERSE_USERNAME
FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A,
SYS.ALL_VIRTUAL_USER_REAL_AGENT B
WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID() AND A.OWNER_ID = B.USER_ID;
FROM SYS.ALL_VIRTUAL_DBLINK_REAL_AGENT A
WHERE A.TENANT_ID = EFFECTIVE_TENANT_ID();
""".replace("\n", " ")
)