summaryrefslogtreecommitdiff
path: root/mysql-test/suite/perfschema/r/privilege.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/perfschema/r/privilege.result')
-rw-r--r--mysql-test/suite/perfschema/r/privilege.result577
1 files changed, 577 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/r/privilege.result b/mysql-test/suite/perfschema/r/privilege.result
new file mode 100644
index 00000000000..ddbc150a72a
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/privilege.result
@@ -0,0 +1,577 @@
+show grants;
+Grants for root@localhost
+GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION;
+grant ALL on performance_schema.* to 'pfs_user_2'@localhost
+with GRANT OPTION;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE on performance_schema.* to 'pfs_user_2'@localhost;
+grant DROP on performance_schema.* to 'pfs_user_2'@localhost;
+grant REFERENCES on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant INDEX on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant ALTER on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE TEMPORARY TABLES on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant EXECUTE on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE VIEW on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant SHOW VIEW on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE ROUTINE on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant ALTER ROUTINE on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant EVENT on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant TRIGGER on performance_schema.* to 'pfs_user_2'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant SELECT on performance_schema.* to 'pfs_user_2'@localhost;
+grant INSERT on performance_schema.* to 'pfs_user_2'@localhost;
+grant UPDATE on performance_schema.* to 'pfs_user_2'@localhost;
+grant DELETE on performance_schema.* to 'pfs_user_2'@localhost;
+grant LOCK TABLES on performance_schema.* to 'pfs_user_2'@localhost;
+grant ALL on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+with GRANT OPTION;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant INDEX on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant ALTER on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE VIEW on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant SHOW VIEW on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant TRIGGER on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant INSERT on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
+grant DELETE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
+grant SELECT on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+with GRANT OPTION;
+grant UPDATE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+with GRANT OPTION;
+grant ALL on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost
+with GRANT OPTION;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant INDEX on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant ALTER on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE VIEW on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant SHOW VIEW on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant TRIGGER on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant INSERT on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+grant UPDATE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+grant DELETE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+grant SELECT on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost
+with GRANT OPTION;
+grant ALL on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost
+with GRANT OPTION;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant INDEX on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant ALTER on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant CREATE VIEW on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant SHOW VIEW on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant TRIGGER on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+grant INSERT on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+grant UPDATE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+grant DELETE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+grant SELECT on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost
+with GRANT OPTION;
+grant LOCK TABLES on performance_schema.* to 'pfs_user_3'@localhost
+with GRANT OPTION;
+flush privileges;
+drop table if exists test.t1;
+rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to test.t1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS
+to performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT
+to performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+create procedure performance_schema.my_proc() begin end;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+create function performance_schema.my_func() returns int return 0;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+create event performance_schema.my_event on schedule every 15 minute
+do begin end;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_setup_instruments
+before insert on performance_schema.SETUP_INSTRUMENTS
+for each row begin end;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_events_waits_current
+before insert on performance_schema.EVENTS_WAITS_CURRENT
+for each row begin end;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_file_instances
+before insert on performance_schema.FILE_INSTANCES
+for each row begin end;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
+create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.FILE_INSTANCES;
+ERROR HY000: Invalid performance_schema usage.
+insert into performance_schema.SETUP_INSTRUMENTS
+set name="foo";
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
+insert into performance_schema.EVENTS_WAITS_CURRENT
+set name="foo";
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+insert into performance_schema.FILE_INSTANCES
+set name="foo";
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+delete from performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
+delete from performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+delete from performance_schema.FILE_INSTANCES;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.SETUP_INSTRUMENTS read;
+unlock tables;
+lock table performance_schema.SETUP_INSTRUMENTS write;
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+#
+# WL#4818, NFS2: Can use grants to give normal user access
+# to view data from _CURRENT and _HISTORY tables
+#
+# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
+# (Except for EVENTS_WAITS_CURRENT, which is granted.)
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+can select
+can select
+drop table if exists test.t1;
+rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS
+to performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT
+to performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+create procedure performance_schema.my_proc() begin end;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+create function performance_schema.my_func() returns int return 0;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+create event performance_schema.my_event on schedule every 15 minute
+do begin end;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_setup_instruments
+before insert on performance_schema.SETUP_INSTRUMENTS
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_events_waits_current
+before insert on performance_schema.EVENTS_WAITS_CURRENT
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_file_instances
+before insert on performance_schema.FILE_INSTANCES
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
+create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.FILE_INSTANCES;
+ERROR HY000: Invalid performance_schema usage.
+insert into performance_schema.SETUP_INSTRUMENTS
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'SETUP_INSTRUMENTS'
+insert into performance_schema.EVENTS_WAITS_CURRENT
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+insert into performance_schema.FILE_INSTANCES
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
+delete from performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'SETUP_INSTRUMENTS'
+delete from performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+delete from performance_schema.FILE_INSTANCES;
+ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.SETUP_INSTRUMENTS read;
+unlock tables;
+lock table performance_schema.SETUP_INSTRUMENTS write;
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+#
+# WL#4818, NFS2: Can use grants to give normal user access
+# to view data from _CURRENT and _HISTORY tables
+#
+# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
+# (Except for EVENTS_WAITS_CURRENT, which is granted.)
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+can select
+can select
+drop table if exists test.t1;
+rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS
+to performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT
+to performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+create procedure performance_schema.my_proc() begin end;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+create function performance_schema.my_func() returns int return 0;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+create event performance_schema.my_event on schedule every 15 minute
+do begin end;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_setup_instruments
+before insert on performance_schema.SETUP_INSTRUMENTS
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_events_waits_current
+before insert on performance_schema.EVENTS_WAITS_CURRENT
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_file_instances
+before insert on performance_schema.FILE_INSTANCES
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
+create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.FILE_INSTANCES;
+ERROR HY000: Invalid performance_schema usage.
+insert into performance_schema.SETUP_INSTRUMENTS
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'SETUP_INSTRUMENTS'
+insert into performance_schema.EVENTS_WAITS_CURRENT
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+insert into performance_schema.FILE_INSTANCES
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
+delete from performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'SETUP_INSTRUMENTS'
+delete from performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+delete from performance_schema.FILE_INSTANCES;
+ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.SETUP_INSTRUMENTS read;
+unlock tables;
+lock table performance_schema.SETUP_INSTRUMENTS write;
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+#
+# WL#4818, NFS2: Can use grants to give normal user access
+# to view data from _CURRENT and _HISTORY tables
+#
+# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
+# (Except for EVENTS_WAITS_CURRENT, which is granted.)
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+can select
+can select
+drop table if exists test.t1;
+rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to test.t1;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+rename table performance_schema.SETUP_INSTRUMENTS
+to performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+rename table performance_schema.EVENTS_WAITS_CURRENT
+to performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+create procedure performance_schema.my_proc() begin end;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+create function performance_schema.my_func() returns int return 0;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+create event performance_schema.my_event on schedule every 15 minute
+do begin end;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_setup_instruments
+before insert on performance_schema.SETUP_INSTRUMENTS
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_events_waits_current
+before insert on performance_schema.EVENTS_WAITS_CURRENT
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+create trigger performance_schema.bi_file_instances
+before insert on performance_schema.FILE_INSTANCES
+for each row begin end;
+ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
+create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
+ERROR HY000: Invalid performance_schema usage.
+create table test.t1 like performance_schema.FILE_INSTANCES;
+ERROR HY000: Invalid performance_schema usage.
+insert into performance_schema.SETUP_INSTRUMENTS
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'SETUP_INSTRUMENTS'
+insert into performance_schema.EVENTS_WAITS_CURRENT
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+insert into performance_schema.FILE_INSTANCES
+set name="foo";
+ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
+delete from performance_schema.SETUP_INSTRUMENTS;
+ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'SETUP_INSTRUMENTS'
+delete from performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+delete from performance_schema.FILE_INSTANCES;
+ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.SETUP_INSTRUMENTS read;
+unlock tables;
+lock table performance_schema.SETUP_INSTRUMENTS write;
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.EVENTS_WAITS_CURRENT write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+lock table performance_schema.FILE_INSTANCES write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
+unlock tables;
+#
+# WL#4818, NFS2: Can use grants to give normal user access
+# to view data from _CURRENT and _HISTORY tables
+#
+# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
+# (Except for EVENTS_WAITS_CURRENT, which is granted.)
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_HISTORY'
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
+SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
+revoke all privileges, grant option from 'pfs_user_1'@localhost;
+revoke all privileges, grant option from 'pfs_user_2'@localhost;
+revoke all privileges, grant option from 'pfs_user_3'@localhost;
+drop user 'pfs_user_1'@localhost;
+drop user 'pfs_user_2'@localhost;
+drop user 'pfs_user_3'@localhost;
+flush privileges;
+# Test cases from WL#4818
+# Setup user
+CREATE user pfs_user_4;
+#
+# WL#4818, NFS4: Normal user does not have access to view data
+# without grants
+#
+# Select as pfs_user_4 should fail without grant
+SELECT event_id FROM performance_schema.EVENTS_WAITS_HISTORY;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY'
+SELECT event_id FROM performance_schema.EVENTS_WAITS_HISTORY_LONG;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
+SELECT event_id FROM performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+SELECT event_name FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
+SELECT event_name FROM performance_schema.FILE_SUMMARY_BY_INSTANCE;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
+#
+# WL#4818, NFS3: Normal user does not have access to change what is
+# instrumented without grants
+#
+# User pfs_user_4 should not be allowed to tweak instrumentation without
+# explicit grant
+UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_INSTRUMENTS'
+UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+WHERE name LIKE 'wait/synch/mutex/%'
+ OR name LIKE 'wait/synch/rwlock/%';
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_INSTRUMENTS'
+UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_CONSUMERS'
+UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'TICK';
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_TIMERS'
+TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
+ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
+TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
+ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY'
+TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+#
+# WL#4814, NFS1: Can use grants to give normal user access
+# to turn on and off instrumentation
+#
+# Grant access to change tables with the root account
+GRANT UPDATE ON performance_schema.SETUP_CONSUMERS TO pfs_user_4;
+GRANT UPDATE ON performance_schema.SETUP_TIMERS TO pfs_user_4;
+GRANT UPDATE, SELECT ON performance_schema.SETUP_INSTRUMENTS TO pfs_user_4;
+GRANT DROP ON performance_schema.EVENTS_WAITS_CURRENT TO pfs_user_4;
+GRANT DROP ON performance_schema.EVENTS_WAITS_HISTORY TO pfs_user_4;
+GRANT DROP ON performance_schema.EVENTS_WAITS_HISTORY_LONG TO pfs_user_4;
+# User pfs_user_4 should now be allowed to tweak instrumentation
+UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+WHERE name LIKE 'wait/synch/mutex/%'
+ OR name LIKE 'wait/synch/rwlock/%';
+UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
+UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'TICK';
+TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
+TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
+TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+# Clean up
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM pfs_user_4;
+DROP USER pfs_user_4;
+flush privileges;
+UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
+UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'CYCLE';