1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
# Tests for PERFORMANCE_SCHEMA
--disable_warnings
drop table if exists test.t1;
--enable_warnings
## The result of show grants is not consistent across platforms ...
## show grants;
## Not enforced yet: deny CREATE_ACL and DROP_ACL
## Waiting to remove .FRM files first
##
## --error ER_DBACCESS_DENIED_ERROR
## create table performance_schema.t1(a int);
##
## --error ER_DBACCESS_DENIED_ERROR
## drop table performance_schema.t1;
##
## --error ER_DBACCESS_DENIED_ERROR
## create table performance_schema.setup_instruments(a int);
##
## --error ER_DBACCESS_DENIED_ERROR
## create table performance_schema.events_waits_current(a int);
##
## --error ER_DBACCESS_DENIED_ERROR
## create table performance_schema.file_instances(a int);
##
## --error ER_DBACCESS_DENIED_ERROR
## drop table performance_schema.setup_instruments;
##
## --error ER_DBACCESS_DENIED_ERROR
## drop table performance_schema.events_waits_current;
##
## --error ER_DBACCESS_DENIED_ERROR
## drop table performance_schema.file_instances;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.setup_instruments to test.t1;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.events_waits_current to test.t1;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.file_instances to test.t1;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.setup_instruments to performance_schema.t1;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.events_waits_current to performance_schema.t1;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.file_instances to performance_schema.t1;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.setup_instruments
to performance_schema.events_waits_current;
--error ER_DBACCESS_DENIED_ERROR
rename table performance_schema.events_waits_current
to performance_schema.setup_instruments;
--error ER_DBACCESS_DENIED_ERROR
create procedure performance_schema.my_proc() begin end;
--error ER_DBACCESS_DENIED_ERROR
create function performance_schema.my_func() returns int return 0;
--error ER_DBACCESS_DENIED_ERROR
create event performance_schema.my_event on schedule every 15 minute
do begin end;
--error ER_DBACCESS_DENIED_ERROR
create trigger performance_schema.bi_setup_instruments
before insert on performance_schema.setup_instruments
for each row begin end;
--error ER_DBACCESS_DENIED_ERROR
create trigger performance_schema.bi_events_waits_current
before insert on performance_schema.events_waits_current
for each row begin end;
--error ER_DBACCESS_DENIED_ERROR
create trigger performance_schema.bi_file_instances
before insert on performance_schema.file_instances
for each row begin end;
--error ER_CANT_CREATE_TABLE
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
--error ER_CANT_CREATE_TABLE
create table test.t1 like performance_schema.setup_instruments;
--error ER_CANT_CREATE_TABLE
create table test.t1 like performance_schema.events_waits_current;
--error ER_CANT_CREATE_TABLE
create table test.t1 like performance_schema.file_instances;
--error ER_TABLEACCESS_DENIED_ERROR
insert into performance_schema.setup_instruments
set name="foo";
--error ER_TABLEACCESS_DENIED_ERROR
insert into performance_schema.events_waits_current
set name="foo";
--error ER_TABLEACCESS_DENIED_ERROR
insert into performance_schema.file_instances
set name="foo";
--error ER_TABLEACCESS_DENIED_ERROR
delete from performance_schema.setup_instruments;
--error ER_TABLEACCESS_DENIED_ERROR
delete from performance_schema.events_waits_current;
--error ER_TABLEACCESS_DENIED_ERROR
delete from performance_schema.file_instances;
lock table performance_schema.setup_instruments read;
unlock tables;
lock table performance_schema.setup_instruments write;
unlock tables;
--error ER_TABLEACCESS_DENIED_ERROR
lock table performance_schema.events_waits_current read;
unlock tables;
--error ER_TABLEACCESS_DENIED_ERROR
lock table performance_schema.events_waits_current write;
unlock tables;
--error ER_TABLEACCESS_DENIED_ERROR
lock table performance_schema.file_instances read;
unlock tables;
--error ER_TABLEACCESS_DENIED_ERROR
lock table performance_schema.file_instances write;
unlock tables;
--echo #
--echo # WL#4818, NFS2: Can use grants to give normal user access
--echo # to view data from _current and _history tables
--echo #
--echo # Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
--echo # (Except for events_waits_current, which is granted.)
# Errors here will be caught by the diff afterwards
--disable_abort_on_error
SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1;
SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1;
SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1;
SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1;
SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1;
--enable_abort_on_error
|