fix DBA_DB_LINKS and ALL_DB_LINKS error, and fix mysqltest.
This commit is contained in:
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@ -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", " ")
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user