adjust sys view definition to avoid system view modification columns not being able to affect dependent views
This commit is contained in:
@ -5824,3 +5824,52 @@ EXECUTION_PLAN longtext YES NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.DBA_MVREF_STMT_STATS limit 1);
|
||||
cnt
|
||||
1
|
||||
select case cnt when 0 then NULL else 'UNEXPECTED ERROR: It is expected to be an empty set, which means that all GV$ and V$ view column names are defined consistently' end ERROR_INFO from (select /*+no_rewrite*/ count(*) cnt from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list) T;
|
||||
ERROR_INFO
|
||||
NULL
|
||||
select /*+no_rewrite*/ t1.table_name,t2.table_name from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list;
|
||||
table_name table_name
|
||||
|
||||
@ -8508,3 +8508,52 @@ EXECUTION_PLAN longtext YES NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.DBA_MVREF_STMT_STATS limit 1);
|
||||
cnt
|
||||
1
|
||||
select case cnt when 0 then NULL else 'UNEXPECTED ERROR: It is expected to be an empty set, which means that all GV$ and V$ view column names are defined consistently' end ERROR_INFO from (select /*+no_rewrite*/ count(*) cnt from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list) T;
|
||||
ERROR_INFO
|
||||
NULL
|
||||
select /*+no_rewrite*/ t1.table_name,t2.table_name from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list;
|
||||
table_name table_name
|
||||
|
||||
@ -41,3 +41,53 @@ eval select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from $database_
|
||||
|
||||
inc $idx;
|
||||
}
|
||||
|
||||
--disable_warnings
|
||||
select case cnt when 0 then NULL else 'UNEXPECTED ERROR: It is expected to be an empty set, which means that all GV$ and V$ view column names are defined consistently' end ERROR_INFO from (select /*+no_rewrite*/ count(*) cnt from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list) T;
|
||||
|
||||
|
||||
select /*+no_rewrite*/ t1.table_name,t2.table_name from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list;
|
||||
@ -65,3 +65,54 @@ eval select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from $database_
|
||||
inc $idx;
|
||||
}
|
||||
|
||||
connection sys;
|
||||
#It is expected to be an empty set, which means that all GV$ and V$ view column names are defined consistently.
|
||||
--disable_warnings
|
||||
select case cnt when 0 then NULL else 'UNEXPECTED ERROR: It is expected to be an empty set, which means that all GV$ and V$ view column names are defined consistently' end ERROR_INFO from (select /*+no_rewrite*/ count(*) cnt from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list) T;
|
||||
|
||||
select /*+no_rewrite*/ t1.table_name,t2.table_name from
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_id != 21342
|
||||
AND t.object_status = 1
|
||||
AND t.table_name LIKE 'V$%'
|
||||
GROUP BY t.table_name) t1
|
||||
join
|
||||
(SELECT t.table_name,
|
||||
group_concat(c.column_name) as column_name_list
|
||||
FROM oceanbase.__all_table t,
|
||||
oceanbase.__all_column c
|
||||
WHERE c.table_id = t.table_id
|
||||
AND t.table_id > 20000
|
||||
AND t.table_id < 25000
|
||||
AND t.table_name LIKE 'GV$%'
|
||||
GROUP BY t.table_name) t2
|
||||
on t1.table_name = substr(t2.table_name,2) and t1.column_name_list != t2.column_name_list;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user