mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 03:51:50 +01:00
8f52b41d4c
The reason for the bug above is unclear but - Modify pfs_upgrade so that it's result is easier to analyze in case something fails - Fix several minor weaknesses which could cause that a successing test (either an already existing or a to be developed one) fails because of imperfect cleanup, too slow disconnected sessions etc. should either fix the bug or reduce it's probability or at least make the analysis of failures easier. mysql-test/suite/perfschema/include/upgrade_check.inc: New include file which contains redundant stuff taken from pfs_upgrade.test. Remove any file which might harm analysis of suspicious results. mysql-test/suite/perfschema/r/query_cache.result: Updated results mysql-test/suite/perfschema/r/selects.result: Updated results mysql-test/suite/perfschema/t/bad_option_1.test: Add the missing remove_file at beginning and end of test. mysql-test/suite/perfschema/t/bad_option_2.test: Add the missing remove_file at beginning and end of test. mysql-test/suite/perfschema/t/global_read_lock.test: Add a wait routine which ensures that the disconnect is really completed when the test ends. mysql-test/suite/perfschema/t/pfs_upgrade.test: - Move redundant actions to include/upgrade_check.inc - Add preemptive removal of files mysql-test/suite/perfschema/t/privilege.test: Add a wait routine which ensures that the disconnect is really completed when the test ends. mysql-test/suite/perfschema/t/query_cache.test: Add "flush status" so that counters are reset. (./mtr --repeat=2 perfschema.query_cache failed) mysql-test/suite/perfschema/t/read_only.test: Add a wait routine which ensures that the disconnect is really completed when the test ends. mysql-test/suite/perfschema/t/selects-master.opt: Needed for running with enabled event-scheduler mysql-test/suite/perfschema/t/selects.test: - Correct the sub test for the EVENT scheduler - Replace "sleep" by wait_routine - Add premptive cleanups like "DROP ... IF EXISTS ..."
97 lines
2.6 KiB
Text
97 lines
2.6 KiB
Text
# Copyright (C) 2009 Sun Microsystems, Inc
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
# Tests for PERFORMANCE_SCHEMA
|
|
#
|
|
# Check that
|
|
# - a regular user can not update SETUP_ tables under --read-only
|
|
# - a user with SUPER privileges cam
|
|
|
|
--source include/not_embedded.inc
|
|
--source include/have_perfschema.inc
|
|
|
|
use performance_schema;
|
|
|
|
set @start_read_only= @@global.read_only;
|
|
|
|
grant SELECT, UPDATE on performance_schema.* to pfsuser@localhost;
|
|
flush privileges;
|
|
|
|
--echo connect (con1, localhost, pfsuser, , test);
|
|
connect (con1, localhost, pfsuser, , test);
|
|
|
|
--echo connection default;
|
|
connection default;
|
|
|
|
set global read_only=0;
|
|
|
|
--echo connection con1;
|
|
connection con1;
|
|
|
|
select @@global.read_only;
|
|
show grants;
|
|
--disable_result_log
|
|
select * from performance_schema.SETUP_INSTRUMENTS;
|
|
update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
|
|
update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
|
|
--enable_result_log
|
|
|
|
--echo connection default;
|
|
connection default;
|
|
|
|
set global read_only=1;
|
|
|
|
--echo connection con1;
|
|
connection con1;
|
|
|
|
select @@global.read_only;
|
|
show grants;
|
|
--disable_result_log
|
|
select * from performance_schema.SETUP_INSTRUMENTS;
|
|
--error ER_OPTION_PREVENTS_STATEMENT
|
|
update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
|
|
--error ER_OPTION_PREVENTS_STATEMENT
|
|
update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
|
|
--enable_result_log
|
|
|
|
--echo connection default;
|
|
connection default;
|
|
|
|
grant super on *.* to pfsuser@localhost;
|
|
flush privileges;
|
|
|
|
disconnect con1;
|
|
--echo connect (con1, localhost, pfsuser, , test);
|
|
connect (con1, localhost, pfsuser, , test);
|
|
|
|
select @@global.read_only;
|
|
show grants;
|
|
--disable_result_log
|
|
select * from performance_schema.SETUP_INSTRUMENTS;
|
|
update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
|
|
update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
|
|
--enable_result_log
|
|
|
|
disconnect con1;
|
|
--source include/wait_until_disconnected.inc
|
|
|
|
--echo connection default;
|
|
connection default;
|
|
|
|
set global read_only= @start_read_only;
|
|
|
|
drop user pfsuser@localhost;
|
|
flush privileges;
|
|
|