mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-33881 Userstat skips system tables inconsistently
Fixed that no tables from 'mysql' schema are included in userstat. A beneif of this is that the server is not reading statistics tables if mysql.proc or other tables in mysql is accessed.
This commit is contained in:
@ -39,18 +39,18 @@ ALTER TABLE mysql.roles_mapping ORDER BY Host, User, Role;
|
||||
# innodb and EITS tables statistics
|
||||
#
|
||||
set @save_innodb_stats_persistent= @@innodb_stats_persistent;
|
||||
create table mysql.tz like mysql.time_zone_transition;
|
||||
alter table mysql.tz engine=innodb;
|
||||
insert into mysql.tz select * from mysql.time_zone_transition;
|
||||
create table test.tz like mysql.time_zone_transition;
|
||||
alter table test.tz engine=innodb;
|
||||
insert into test.tz select * from mysql.time_zone_transition;
|
||||
set global innodb_stats_persistent=1;
|
||||
set time_zone="+03:00";
|
||||
SET TIMESTAMP= UNIX_TIMESTAMP('2022-01-07 07:07:00');
|
||||
ANALYZE TABLE mysql.tz PERSISTENT FOR ALL;
|
||||
ANALYZE TABLE test.tz PERSISTENT FOR ALL;
|
||||
# for predictable output in tests
|
||||
delete from mysql.index_stats where prefix_arity!=1;
|
||||
delete from mysql.column_stats where column_name!='Time_zone_id';
|
||||
update mysql.innodb_index_stats set last_update="2020-01-01" where database_name="mysql" and table_name="tz";
|
||||
update mysql.innodb_table_stats set last_update="2020-01-01" where database_name="mysql" and table_name="tz";
|
||||
update mysql.innodb_index_stats set last_update="2020-01-01" where database_name="test" and table_name="tz";
|
||||
update mysql.innodb_table_stats set last_update="2020-01-01" where database_name="test" and table_name="tz";
|
||||
update mysql.column_stats set histogram=json_replace(histogram, '$.collected_by', replace(json_value(histogram, '$.collected_by'), @@version, 'version'));
|
||||
set global innodb_stats_persistent= @save_innodb_stats_persistent;
|
||||
alter table mysql.time_zone_name ORDER BY Name;
|
||||
@ -144,12 +144,12 @@ DROP FUNCTION IF EXISTS metaphon;
|
||||
DROP SERVER s1;
|
||||
|
||||
# EITS && innodb stats
|
||||
DELETE FROM mysql.column_stats WHERE db_name='mysql' and table_name in ('tz', 'gtid_slave_pos');
|
||||
DELETE FROM mysql.index_stats WHERE db_name='mysql' and table_name in ('tz', 'gtid_slave_pos');
|
||||
DELETE FROM mysql.table_stats WHERE db_name='mysql' and table_name in ('tz', 'gtid_slave_pos');
|
||||
DELETE FROM mysql.innodb_index_stats WHERE database_name='mysql' and table_name in ('tz','gtid_slave_pos');
|
||||
DELETE FROM mysql.innodb_table_stats WHERE database_name='mysql' and table_name in ('tz','gtid_slave_pos');
|
||||
drop table mysql.tz;
|
||||
DELETE FROM mysql.column_stats WHERE db_name='mysql';
|
||||
DELETE FROM mysql.index_stats WHERE db_name='mysql';
|
||||
DELETE FROM mysql.table_stats WHERE db_name='mysql';
|
||||
DELETE FROM mysql.innodb_index_stats WHERE database_name='test';
|
||||
DELETE FROM mysql.innodb_table_stats WHERE database_name='mysql';
|
||||
drop table test.tz;
|
||||
|
||||
DROP ROLE role_2;
|
||||
DROP ROLE role_1;
|
||||
|
Reference in New Issue
Block a user