# 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 --source include/not_embedded.inc --source include/have_perfschema.inc # Setup --source ../include/setup_helper.inc # We use a myisam table here because CREATE TABLE has a known, # stable behavior (it will lock THR_LOCK_myisam once). # The point is not to test myisam, but to test that each # connection is properly instrumented, with one-thread-per-connection update performance_schema.setup_instruments set enabled='YES' where name like "wait/synch/mutex/mysys/THR_LOCK_myisam"; --disable_warnings drop table if exists test.t1; drop table if exists test.t2; drop table if exists test.t3; --enable_warnings truncate table performance_schema.events_waits_history_long; show variables like "thread_handling"; # Code to test connection con1; -- echo "----------------- Connection 1" create table test.t1(a int) engine=MYISAM; connection con2; -- echo "----------------- Connection 2" create table test.t2(a int) engine=MYISAM; connection con3; -- echo "----------------- Connection 3" create table test.t3(a int) engine=MYISAM; # Verification connection default; -- echo "----------------- Connection default" --disable_query_log eval set @tid= $con1_THREAD_ID; --enable_query_log execute stmt_dump_events using @tid; execute stmt_dump_thread using @tid; --disable_query_log eval set @tid= $con2_THREAD_ID; --enable_query_log execute stmt_dump_events using @tid; execute stmt_dump_thread using @tid; --disable_query_log eval set @tid= $con3_THREAD_ID; --enable_query_log execute stmt_dump_events using @tid; execute stmt_dump_thread using @tid; # Cleanup drop table test.t1; drop table test.t2; drop table test.t3; --source ../include/cleanup_helper.inc