############################################################################### # This file plays as a function/module for ddl_high_priority test # # Usage: set the following variables before including # # $use_sys_var: whether using sys_var or syntax to trigger high_priority # value: 0/1 # # $con_block: a blocking connection # value: con1/con2/default # # $con_kill: a connection that will attempt to kill $con_blocking # value: con1/con2/default # # $cmd: a regular command to evaluate (to use with sys var) # value: sql command # # $high_priority_cmd: a high_priority command to evaluate # value: sql command # # $should_kill: Expect the con_block to be killed or not # value: 0/1 # # $recreate_table: Should recreate the test table or not # value: 0/1 # # $throw_error: whether a command will throw lock_wait_timeout error. # Note, optimize table catches all errors. # value: 0/1 ############################################################################### ## ## Print out the parameters of the test set ## (useful for debugging) ## --echo --echo ## Test parameters: --echo ## use_sys_var = $use_sys_var --echo ## con_block = $con_block --echo ## con_kill = $con_kill --echo ## cmd = $cmd --echo ## high_priority_cmd = $high_priority_cmd --echo ## should_kill = $should_kill --echo ## recreate_table = $recreate_table --echo ## throw_error = $throw_error --echo ## ## Setup ## connection default; # create con1 connect (con1,localhost,test_user1,,test,,); if ($recreate_table) { # create t1 --disable_warnings drop table if exists t1; --enable_warnings create table t1 (i int); show create table t1; insert into t1 values (1), (2), (3); } ## ## Testing ## --echo connection: $con_block --connection $con_block --eval $blocking_sql --echo connection: $con_kill --connection $con_kill set lock_wait_timeout = 0.02; set high_priority_lock_wait_timeout = 0.02; describe t1; --echo connection: default (for show processlist) connection default; --echo # both $con_block and $con_kill exist --replace_column 1 3 5 6