Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/server/mysql/mysql-test/t/ |
Upload File : |
# --source include/have_debug_sync.inc --source include/not_embedded.inc # Save the initial number of concurrent sessions. --source include/count_sessions.inc --echo # --echo # Bug#18591145 - SOME MONOTONICALLY INCREASING STATUS VARIABLES DECREASES UNEXPECTEDLY --echo # --enable_connect_log show variables like "show_COMPATIBILITY_56"; let $compatibility_mode=`select @@global.show_compatibility_56`; # Information Schema will work only server is running in 5.6 compatiability # mode. Else information_schema will return empty set. set global SHOW_COMPATIBILITY_56 = 1; CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(64), val VARCHAR(1024)); --echo # Insert 1 tuple to increment com_insert status. INSERT INTO t1(name, val) VALUES ('dummy', 0); connect (con1, localhost, root,,); SET DEBUG_SYNC='before_preparing_global_status_array SIGNAL change_user WAIT_FOR continue'; SET DEBUG_SYNC='after_preparing_global_status_array SIGNAL continue_change_user'; --SEND INSERT INTO t1(name, val) SELECT * FROM INFORMATION_SCHEMA.global_status WHERE variable_name='com_insert'; CONNECTION default; SET DEBUG_SYNC='now WAIT_FOR change_user'; SET DEBUG_SYNC='thd_cleanup_start SIGNAL continue WAIT_FOR continue_change_user'; --change_user root,,test CONNECTION con1; --REAP SET DEBUG_SYNC='RESET'; CONNECTION default; INSERT INTO t1(name, val) SELECT * FROM INFORMATION_SCHEMA.global_status WHERE variable_name='com_insert'; --echo # With fix, difference of com_insert status should be "0" here. SELECT (SELECT val FROM t1 WHERE id = 2) - (SELECT val FROM t1 WHERE id = 3); --echo # Testing the same scenario with performance_schema. # Make sure we are not running in 5.6 compatiability mode. Else # performance_schema will return empty set. set global SHOW_COMPATIBILITY_56 = 0; truncate t1; --echo # Insert 1 tuple to increment com_insert status. INSERT INTO t1(name, val) VALUES ('dummy', 0); CONNECTION con1; SET DEBUG_SYNC='before_materialize_global_status_array SIGNAL change_user WAIT_FOR continue'; SET DEBUG_SYNC='after_materialize_global_status_array SIGNAL continue_change_user'; --SEND INSERT INTO t1(name, val) SELECT * FROM performance_schema.global_status WHERE variable_name='Handler_commit'; CONNECTION default; SET DEBUG_SYNC='now WAIT_FOR change_user'; SET DEBUG_SYNC='thd_cleanup_start SIGNAL continue WAIT_FOR continue_change_user'; --change_user root,,test CONNECTION con1; --REAP SET DEBUG_SYNC='RESET'; CONNECTION default; INSERT INTO t1(name, val) SELECT * FROM performance_schema.global_status WHERE variable_name='Handler_commit'; --echo # With fix, Handler_commit status should be 1 (select insert during switch user). SELECT (SELECT val FROM t1 WHERE id = 3) - (SELECT val FROM t1 WHERE id = 2); # Cleanup eval set global SHOW_COMPATIBILITY_56=$compatibility_mode; DISCONNECT con1; DROP TABLE t1; --disable_connect_log --echo # --echo # Bug#29836204: P_S TABLE ACCESS HANGS WHILE IN LOCK TABLES MODE --echo # SET @saved_show_compatibility_56= @@global.show_compatibility_56; --echo # Ensures that the P_S is used for the SHOW command. SET GLOBAL show_compatibility_56= OFF; CREATE TABLE t1(fld1 int) ENGINE=MYISAM; LOCK TABLE t1 WRITE; ALTER TABLE t1 DISABLE KEYS; --echo # Without patch, the SHOW command hangs. SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS'; --echo # Wihout patch, the SELECT from P_S hangs. SELECT * FROM performance_schema.global_variables WHERE variable_name="read_only"; --echo # Test added for coverage (Querying from I_S) SET GLOBAL show_compatibility_56= @saved_show_compatibility_56; SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS'; --echo # Clean up. UNLOCK TABLES; DROP TABLE t1; # Wait till we reached the initial number of concurrent sessions --source include/wait_until_count_sessions.inc