From: Marc Alff Date: May 20 2010 3:44pm Subject: bzr push into mysql-next-mr branch (marc.alff:3145 to 3146) WL#4674 List-Archive: http://lists.mysql.com/commits/108818 Message-Id: <201005201544.o4KFipDX004548@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1471550451239885305==" --===============1471550451239885305== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3146 Marc Alff 2010-05-20 WL#4674 PERFORMANCE SCHEMA SETUP_ACTORS Added test cases added: mysql-test/suite/perfschema/r/setup_actors.result mysql-test/suite/perfschema/r/start_server_no_setup_actors.result mysql-test/suite/perfschema/t/setup_actors.test mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt mysql-test/suite/perfschema/t/start_server_no_setup_actors.test modified: mysql-test/suite/perfschema/t/disabled.def 3145 Marc Alff 2010-05-14 test cleanup added: mysql-test/suite/sys_vars/r/pfs_setup_actors_size_basic.result mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic-master.opt mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic.test modified: mysql-test/suite/perfschema/r/schema_lc1.result === added file 'mysql-test/suite/perfschema/r/setup_actors.result' --- a/mysql-test/suite/perfschema/r/setup_actors.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/perfschema/r/setup_actors.result 2010-05-20 15:43:53 +0000 @@ -0,0 +1,71 @@ +truncate table performance_schema.SETUP_ACTORS; +insert into performance_schema.SETUP_ACTORS +values ('hosta', 'user1', '%'); +insert into performance_schema.SETUP_ACTORS +values ('%', 'user2', '%'); +insert into performance_schema.SETUP_ACTORS +values ('localhost', 'user3', '%'); +insert into performance_schema.SETUP_ACTORS +values ('hostb', '%', '%'); +select * from performance_schema.SETUP_ACTORS +order by USER, HOST, ROLE; +HOST USER ROLE +hostb % % +hosta user1 % +% user2 % +localhost user3 % +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +grant ALL on *.* to user3@localhost; +grant ALL on *.* to user4@localhost; +flush privileges; +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.THREADS +where PROCESSLIST_ID=connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user1 localhost +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.THREADS +where PROCESSLIST_ID=connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES user2 localhost +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.THREADS +where PROCESSLIST_ID=connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES user3 localhost +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.THREADS +where PROCESSLIST_ID=connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user4 localhost +insert into performance_schema.SETUP_ACTORS +values ('%', 'localhost', '%'); +select * from performance_schema.SETUP_ACTORS +order by USER, HOST, ROLE; +HOST USER ROLE +hostb % % +% localhost % +hosta user1 % +% user2 % +localhost user3 % +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.THREADS +where PROCESSLIST_ID=connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user4 localhost +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +revoke all privileges, grant option from user3@localhost; +revoke all privileges, grant option from user4@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop user user3@localhost; +drop user user4@localhost; +flush privileges; +truncate table performance_schema.SETUP_ACTORS; +insert into performance_schema.SETUP_ACTORS +values ('%', '%', '%'); +select * from performance_schema.SETUP_ACTORS; +HOST USER ROLE +% % % === added file 'mysql-test/suite/perfschema/r/start_server_no_setup_actors.result' --- a/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result 2010-05-20 15:43:53 +0000 @@ -0,0 +1,65 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +test +select count(*) from performance_schema.PERFORMANCE_TIMERS; +count(*) +5 +select count(*) from performance_schema.SETUP_CONSUMERS; +count(*) +8 +select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS; +count(*) > 0 +1 +select count(*) from performance_schema.SETUP_TIMERS; +count(*) +1 +select * from performance_schema.COND_INSTANCES; +select * from performance_schema.EVENTS_WAITS_CURRENT; +select * from performance_schema.EVENTS_WAITS_HISTORY; +select * from performance_schema.EVENTS_WAITS_HISTORY_LONG; +select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME; +select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE; +select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME; +select * from performance_schema.FILE_INSTANCES; +select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME; +select * from performance_schema.FILE_SUMMARY_BY_INSTANCE; +select * from performance_schema.MUTEX_INSTANCES; +select * from performance_schema.PERFORMANCE_TIMERS; +select * from performance_schema.RWLOCK_INSTANCES; +select * from performance_schema.SETUP_ACTORS; +select * from performance_schema.SETUP_CONSUMERS; +select * from performance_schema.SETUP_INSTRUMENTS; +select * from performance_schema.SETUP_OBJECTS; +select * from performance_schema.SETUP_TIMERS; +select * from performance_schema.THREADS; +show variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_file_classes 50 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 1000 +performance_schema_max_rwlock_classes 20 +performance_schema_max_rwlock_instances 1000 +performance_schema_max_table_handles 100000 +performance_schema_max_table_instances 50000 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 1000 +performance_schema_setup_actors_size 0 +show engine PERFORMANCE_SCHEMA status; +show status like "performance_schema%"; +show variables like "performance_schema_setup_actors_size"; +Variable_name Value +performance_schema_setup_actors_size 0 +select count(*) from performance_schema.SETUP_ACTORS; +count(*) +0 === modified file 'mysql-test/suite/perfschema/t/disabled.def' --- a/mysql-test/suite/perfschema/t/disabled.def 2010-05-04 06:53:22 +0000 +++ b/mysql-test/suite/perfschema/t/disabled.def 2010-05-20 15:43:53 +0000 @@ -25,3 +25,5 @@ # ############################################################################## +pfs_upgrade : Waiting to merge WL#5291 + === added file 'mysql-test/suite/perfschema/t/setup_actors.test' --- a/mysql-test/suite/perfschema/t/setup_actors.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/perfschema/t/setup_actors.test 2010-05-20 15:43:53 +0000 @@ -0,0 +1,109 @@ +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# +# 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 + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +truncate table performance_schema.SETUP_ACTORS; + +insert into performance_schema.SETUP_ACTORS + values ('hosta', 'user1', '%'); + +insert into performance_schema.SETUP_ACTORS + values ('%', 'user2', '%'); + +insert into performance_schema.SETUP_ACTORS + values ('localhost', 'user3', '%'); + +insert into performance_schema.SETUP_ACTORS + values ('hostb', '%', '%'); + +select * from performance_schema.SETUP_ACTORS + order by USER, HOST, ROLE; + +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +grant ALL on *.* to user3@localhost; +grant ALL on *.* to user4@localhost; + +flush privileges; + +connect (con1, localhost, user1, , ); + +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST + from performance_schema.THREADS + where PROCESSLIST_ID=connection_id(); + +--disconnect con1 + +connect (con2, localhost, user2, , ); + +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST + from performance_schema.THREADS + where PROCESSLIST_ID=connection_id(); + +--disconnect con2 + +connect (con3, localhost, user3, , ); + +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST + from performance_schema.THREADS + where PROCESSLIST_ID=connection_id(); + +--disconnect con3 + +connect (con4, localhost, user4, , ); + +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST + from performance_schema.THREADS + where PROCESSLIST_ID=connection_id(); + +--disconnect con4 + +--connection default + +insert into performance_schema.SETUP_ACTORS + values ('%', 'localhost', '%'); + +select * from performance_schema.SETUP_ACTORS + order by USER, HOST, ROLE; + +connect (con4b, localhost, user4, , ); + +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST + from performance_schema.THREADS + where PROCESSLIST_ID=connection_id(); + +--disconnect con4b + +--connection default + +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +revoke all privileges, grant option from user3@localhost; +revoke all privileges, grant option from user4@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop user user3@localhost; +drop user user4@localhost; +flush privileges; + +truncate table performance_schema.SETUP_ACTORS; + +insert into performance_schema.SETUP_ACTORS + values ('%', '%', '%'); + +select * from performance_schema.SETUP_ACTORS; + === added file 'mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt' --- a/mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt 2010-05-20 15:43:53 +0000 @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_setup_actors_size=0 === added file 'mysql-test/suite/perfschema/t/start_server_no_setup_actors.test' --- a/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test 2010-05-20 15:43:53 +0000 @@ -0,0 +1,28 @@ +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# +# 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 + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +# Expect no setup_actors +show variables like "performance_schema_setup_actors_size"; + +# Expect no setup_actors +select count(*) from performance_schema.SETUP_ACTORS; + --===============1471550451239885305== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marc.alff@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marc.alff@stripped # target_branch: file:///Users/malff/BZR_TREE/mysql-next-mr-wl4674/ # testament_sha1: 3ee98b9c6eb78368626f6826034d959311b7b1b5 # timestamp: 2010-05-20 09:44:30 -0600 # source_branch: file:///Users/malff/BZR_TREE/mysql-next-mr/ # base_revision_id: marc.alff@stripped\ # 6amfjlg1ooheaqap # # Begin bundle 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 --===============1471550451239885305==--