diff --git a/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp b/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp index 4e7685ca2..110ec3c06 100644 --- a/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp +++ b/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp @@ -2049,7 +2049,7 @@ int ObInnerTableSchema::cdb_ob_server_space_usage_schema(ObTableSchema &table_sc 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 CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, asu.svr_ip as SERVER_IP, asu.svr_port as SERVER_PORT, CASE WHEN asu.file_type IN ('tenant tmp data') THEN 'Tmp Data' WHEN asu.file_type IN ('tenant clog data') THEN 'Clog Data' WHEN asu.file_type IN ('tenant meta data') THEN 'Meta Data' WHEN asu.file_type IN ('tenant slog data') THEN 'Slog Data' END AS SPACE_TYPE, sum(asu.data_size) as DATA_BYTES, sum(asu.used_size) as USAGE_BYTES from oceanbase.__all_space_usage asu INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = asu.tenant_id AND asu.file_type in ('tenant tmp data', 'tenant clog data', 'tenant meta data', 'tenant slog data') group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE UNION select CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, avtps.svr_ip as SERVER_IP, avtps.svr_port as SERVER_PORT, 'Index Data' as SPACE_TYPE, sum(avtps.occupy_size) as DATA_BYTES, sum(avtps.required_size) as USAGE_BYTES from oceanbase.__all_virtual_tablet_pointer_status avtps INNER JOIN oceanbase.__all_virtual_tablet_to_ls avttl ON avttl.tenant_id = avtps.tenant_id AND avttl.tablet_id = avtps.tablet_id INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt ON avt.table_type = 5 AND avt.table_id = avttl.table_id group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE UNION select CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, avtps.svr_ip as SERVER_IP, avtps.svr_port as SERVER_PORT, 'Table Data' as SPACE_TYPE, sum(avtps.occupy_size) as DATA_BYTES, sum(avtps.required_size) as USAGE_BYTES from oceanbase.__all_virtual_tablet_pointer_status avtps INNER JOIN oceanbase.__all_virtual_tablet_to_ls avttl ON avttl.tenant_id = avtps.tenant_id AND avttl.tablet_id = avtps.tablet_id INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt ON avt.table_id = avttl.table_id AND avt.table_type in (3, 12, 13) group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE order by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE )__"))) { + if (OB_FAIL(table_schema.set_view_definition(R"__( select CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, asu.svr_ip as SERVER_IP, asu.svr_port as SERVER_PORT, CASE WHEN asu.file_type IN ('tenant tmp data') THEN 'Tmp Data' WHEN asu.file_type IN ('tenant clog data') THEN 'Clog Data' WHEN asu.file_type IN ('tenant meta data') THEN 'Meta Data' WHEN asu.file_type IN ('tenant slog data') THEN 'Slog Data' END AS SPACE_TYPE, sum(asu.data_size) as DATA_BYTES, sum(asu.used_size) as USAGE_BYTES from oceanbase.__all_space_usage asu INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = asu.tenant_id AND asu.file_type in ('tenant tmp data', 'tenant clog data', 'tenant meta data', 'tenant slog data') group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE UNION select CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, avtps.svr_ip as SERVER_IP, avtps.svr_port as SERVER_PORT, 'Index Data' as SPACE_TYPE, sum(avtps.occupy_size) as DATA_BYTES, sum(avtps.required_size) as USAGE_BYTES from oceanbase.__all_virtual_tablet_pointer_status avtps INNER JOIN oceanbase.__all_virtual_tablet_to_ls avttl ON avttl.tenant_id = avtps.tenant_id AND avttl.tablet_id = avtps.tablet_id INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt ON avt.tenant_id = atnt.tenant_id AND avt.table_type = 5 AND avt.table_id = avttl.table_id group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE UNION select CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, avtps.svr_ip as SERVER_IP, avtps.svr_port as SERVER_PORT, 'Table Data' as SPACE_TYPE, sum(avtps.occupy_size) as DATA_BYTES, sum(avtps.required_size) as USAGE_BYTES from oceanbase.__all_virtual_tablet_pointer_status avtps INNER JOIN oceanbase.__all_virtual_tablet_to_ls avttl ON avttl.tenant_id = avtps.tenant_id AND avttl.tablet_id = avtps.tablet_id INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt ON avt.tenant_id = atnt.tenant_id AND avt.table_id = avttl.table_id AND avt.table_type in (3, 12, 13) group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE order by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE )__"))) { LOG_ERROR("fail to set view_definition", K(ret)); } } @@ -2151,7 +2151,7 @@ int ObInnerTableSchema::cdb_ob_table_space_usage_schema(ObTableSchema &table_sch 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 CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, avttl.table_id as TABLE_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, ad.database_name as DATABASE_NAME, avt.table_name as TABLE_NAME, sum(avtps.occupy_size) as OCCUPY_SIZE, sum(avtps.required_size) as REQUIRED_SIZE from oceanbase.__all_virtual_tablet_pointer_status avtps INNER JOIN oceanbase.__all_virtual_tablet_to_ls avttl ON avttl.tenant_id = avtps.tenant_id AND avttl.tablet_id = avtps.tablet_id INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt ON avt.table_id = avttl.table_id INNER JOIN oceanbase.__all_virtual_database ad ON ad.database_id = avt.database_id INNER JOIN oceanbase.__all_virtual_ls_meta_table avlmt ON avtps.tenant_id = avlmt.tenant_id AND avtps.ls_id = avlmt.ls_id AND avtps.svr_ip = avlmt.svr_ip AND avtps.svr_port = avlmt.svr_port AND avlmt.role = 1 group by tenant_id, table_id order by tenant_id, table_id )__"))) { + if (OB_FAIL(table_schema.set_view_definition(R"__( select CASE WHEN atnt.tenant_name LIKE 'META$%' THEN REPLACE(atnt.tenant_name, 'META$', '') ELSE atnt.tenant_id END AS TENANT_ID, avttl.table_id as TABLE_ID, CASE WHEN atnt.tenant_name LIKE 'META$%' THEN (SELECT t.tenant_name FROM oceanbase.__all_tenant t WHERE t.tenant_id = REPLACE(atnt.tenant_name, 'META$', '')) ELSE atnt.tenant_name END AS TENANT_NAME, ad.database_name as DATABASE_NAME, avt.table_name as TABLE_NAME, sum(avtps.occupy_size) as OCCUPY_SIZE, sum(avtps.required_size) as REQUIRED_SIZE from oceanbase.__all_virtual_tablet_pointer_status avtps INNER JOIN oceanbase.__all_virtual_tablet_to_ls avttl ON avttl.tenant_id = avtps.tenant_id AND avttl.tablet_id = avtps.tablet_id INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt ON avt.tenant_id = avttl.tenant_id AND avt.table_id = avttl.table_id INNER JOIN oceanbase.__all_virtual_database ad ON ad.tenant_id = atnt.tenant_id AND ad.database_id = avt.database_id INNER JOIN oceanbase.__all_virtual_ls_meta_table avlmt ON avtps.tenant_id = avlmt.tenant_id AND avtps.ls_id = avlmt.ls_id AND avtps.svr_ip = avlmt.svr_ip AND avtps.svr_port = avlmt.svr_port AND avlmt.role = 1 group by tenant_id, table_id order by tenant_id, table_id )__"))) { LOG_ERROR("fail to set view_definition", K(ret)); } } diff --git a/src/share/inner_table/ob_inner_table_schema_def.py b/src/share/inner_table/ob_inner_table_schema_def.py index db3bde611..4c40b99c3 100755 --- a/src/share/inner_table/ob_inner_table_schema_def.py +++ b/src/share/inner_table/ob_inner_table_schema_def.py @@ -37514,7 +37514,8 @@ def_table_schema( INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt - ON avt.table_type = 5 + ON avt.tenant_id = atnt.tenant_id + AND avt.table_type = 5 AND avt.table_id = avttl.table_id group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE UNION @@ -37543,8 +37544,9 @@ def_table_schema( INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt - ON avt.table_id = avttl.table_id - AND avt.table_type in (3, 12, 13) + ON avt.tenant_id = atnt.tenant_id + AND avt.table_id = avttl.table_id + AND avt.table_type in (3, 12, 13) group by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE order by TENANT_ID, SERVER_IP, SERVER_PORT, SPACE_TYPE """.replace("\n", " ") @@ -37638,15 +37640,17 @@ def_table_schema( INNER JOIN oceanbase.__all_tenant atnt ON atnt.tenant_id = avttl.tenant_id INNER JOIN oceanbase.__all_virtual_table avt - ON avt.table_id = avttl.table_id + ON avt.tenant_id = avttl.tenant_id + AND avt.table_id = avttl.table_id INNER JOIN oceanbase.__all_virtual_database ad - ON ad.database_id = avt.database_id + ON ad.tenant_id = atnt.tenant_id + AND ad.database_id = avt.database_id INNER JOIN oceanbase.__all_virtual_ls_meta_table avlmt ON avtps.tenant_id = avlmt.tenant_id - AND avtps.ls_id = avlmt.ls_id - AND avtps.svr_ip = avlmt.svr_ip - AND avtps.svr_port = avlmt.svr_port - AND avlmt.role = 1 + AND avtps.ls_id = avlmt.ls_id + AND avtps.svr_ip = avlmt.svr_ip + AND avtps.svr_port = avlmt.svr_port + AND avlmt.role = 1 group by tenant_id, table_id order by tenant_id, table_id """.replace("\n", " ")