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
	 cqliang1995
					cqliang1995