Server IP : 49.212.180.16 / Your IP : 3.133.87.185 Web Server : Apache System : FreeBSD www2606.sakura.ne.jp 13.0-RELEASE-p14 FreeBSD 13.0-RELEASE-p14 #2: Mon Dec 9 13:54:55 JST 2024 root@www5301.sakura.ne.jp:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 User : utannto ( 1076) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/rs/mysql/5.1/mysql-test/include/ |
Upload File : |
# # SUMMARY # Check if statement reading table '$table' takes shared locks # on some of its rows. # # PARAMETERS # $table Table for which presence of row locks should be checked. # $con_aux Name of auxiliary connection to be used by this script. # $statement Statement to be checked. # $wait_statement Sub-statement which is supposed to acquire locks (should # be the same as $statement for ordinary statements). # # EXAMPLE # innodb_mysql_lock2.test # --disable_result_log --disable_query_log connection default; begin; --eval select * from $table for update; connection $con_aux; begin; --send_eval $statement; --enable_result_log --enable_query_log connection default; # Wait until statement is successfully blocked because # all rows in table are X-locked. This means that at # least it acquires S-locks on some of rows. let $wait_condition= select count(*) = 1 from information_schema.processlist where state in ("Sending data","statistics", "preparing") and info = "$wait_statement"; --source include/wait_condition.inc --disable_result_log --disable_query_log rollback; connection $con_aux; --reap rollback; connection default; --enable_result_log --enable_query_log if ($success) { --echo Success: '$statement' takes shared row locks on '$table'. } if (!$success) { --echo Error: '$statement' hasn't taken shared row locks on '$table'! }