Current Path : /home/usr.opt/mysql57/mysql-test/suite/perfschema/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/suite/perfschema/t/show_coverage.test |
################### suite/perfschema/t/show_coverage.test ###################### # # # Testcases to increase DGCOV coverage of the status and system variable # # implementation in the Performance Schema. # # # ################################################################################ --source include/have_perfschema.inc --source include/not_embedded.inc --source include/no_protocol.inc --source include/count_sessions.inc select @@global.show_compatibility_56 into @show_compatibility_56_save; --echo --echo ================================================================================ --echo SHOW_COMPATIBILITY_56 = ON --echo ================================================================================ set global show_compatibility_56 = ON; --echo --echo # TEST 1 --echo # Handling of SHOW STATUS/VARIABLES ... WHERE --echo # SHOW STATUS WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW VARIABLES WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; --echo --echo # TEST 2 --echo # CREATE..SELECT -- Expect correct ER_WARN_DEPRECATED_SYNTAX --echo # USE test; CREATE TABLE t0 SELECT * FROM information_schema.global_status WHERE variable_name = 'COM_SELECT'; DROP TABLE t0; --echo --echo ================================================================================ --echo SHOW_COMPATIBILITY_56 = OFF --echo ================================================================================ set global show_compatibility_56 = OFF; --echo --echo # TEST 3 --echo # Select status and system variable tables using ORDER BY to exercise the --echo # rnd_pos() method --echo # use performance_schema; --disable_result_log select * from global_variables order by variable_name; select * from variables_by_thread order by variable_name; select * from session_variables order by variable_name; select * from global_status order by variable_name; select * from session_status order by variable_name; select * from status_by_thread order by variable_name; select * from status_by_user order by variable_name; select * from status_by_host order by variable_name; select * from status_by_account order by variable_name; --enable_result_log --echo --echo # TEST 4 --echo # Handling of SHOW STATUS/VARIABLES ... WHERE --echo # SHOW STATUS WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW VARIABLES WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; --echo SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; --echo --echo # TEST 5 --echo # Confirm FLUSH STATUS resets counters for all threads. --echo # --echo --echo # Create a new connection --connect(con1, localhost, root,,) --echo --echo # Record thread id let $thread_id= `SELECT THREAD_ID FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID()`; --echo --echo # Increase bytes_received for new connection USE test; SHOW TABLES; --connection default USE performance_schema; --disable_query_log eval SELECT $thread_id INTO @thread_id; --enable_query_log --echo --echo # Record bytes_received for other connection SELECT variable_value FROM status_by_thread WHERE variable_name = "bytes_received" and thread_id = @thread_id INTO @bytes_before; --echo --echo # Reset status counters FLUSH STATUS; --echo --echo # Record bytes_received after reset SELECT variable_value FROM status_by_thread WHERE variable_name = "bytes_received" and thread_id = @thread_id INTO @bytes_after; --echo --echo # Expect bytes_before > bytes_after SELECT @bytes_before > @bytes_after AS 'Expect 1'; --echo --echo # Expect bytes_after is zero SELECT @bytes_after AS 'Expect 0'; disconnect con1; --source include/wait_until_count_sessions.inc --echo --echo # TEST 6 --echo # --echo # Bug#28291258 FLUSH STATUS ADDS TWICE TO GLOBAL VALUES --echo # --echo --echo # Default connection --let $initial_global_value = query_get_value(SHOW GLOBAL STATUS LIKE 'Slow_queries', Value, 1) --source include/count_sessions.inc --echo --echo # First connection --connect (con1, localhost, root,,) ## Global value requested from the first session must not change --let $current_global_value = query_get_value(SHOW GLOBAL STATUS LIKE 'Slow_queries', Value, 1) --let $assert_cond = $current_global_value - $initial_global_value = 0 --let $assert_text = Global value requested from the first session must not change --source include/assert.inc --echo --echo # Generate a slow query --echo SET long_query_time = 2; SELECT SLEEP(4); SET long_query_time = @@global.long_query_time; --echo ## Global value requested from the first session after SLEEP() must increase by 1 --let $current_global_value = query_get_value(SHOW GLOBAL STATUS LIKE 'Slow_queries', Value, 1) --let $first_session_value = query_get_value(SHOW SESSION STATUS LIKE 'Slow_queries', Value, 1) --let $assert_cond = $current_global_value - $initial_global_value = 1 --let $assert_text = Global value requested from the first session after SLEEP() must increase by 1 --source include/assert.inc --let $assert_cond = $first_session_value = 1 --let $assert_text = First session value must increase by 1 --source include/assert.inc --connection default --disconnect con1 --source include/wait_until_count_sessions.inc --echo --echo # Default connection --connection default ## Global value requested from the default session after DISCONNECT must remain the same --let $current_global_value = query_get_value(SHOW GLOBAL STATUS LIKE 'Slow_queries', Value, 1) --let $default_session_value = query_get_value(SHOW SESSION STATUS LIKE 'Slow_queries', Value, 1) --let $assert_cond = $current_global_value - $initial_global_value = 1 --let $assert_text = Global value requested from the default session after DISCONNECT must remain the same --source include/assert.inc ## Default session value must remain zero --let $assert_cond = $default_session_value = 0 --let $assert_text = Default session value must remain zero --source include/assert.inc --echo FLUSH STATUS; --echo ## Global value requested from the default session after FLUSH must remain the same --let $current_global_value = query_get_value(SHOW GLOBAL STATUS LIKE 'Slow_queries', Value, 1) --let $default_session_value = query_get_value(SHOW SESSION STATUS LIKE 'Slow_queries', Value, 1) --let $assert_cond = $current_global_value - $initial_global_value = 1 --let $assert_text = Global value requested from the default session after FLUSH must remain the same --source include/assert.inc ## Default session value after FLUSH must remain zero --let $assert_cond = $default_session_value = 0 --let $assert_text = Default session value after FLUSH must remain zero --source include/assert.inc --echo # CLEANUP set @@global.show_compatibility_56 = @show_compatibility_56_save;