EVOLUTION-MANAGER
Edit File: tokudb_support_xa.test
--source include/have_tokudb.inc --source include/load_sysvars.inc let $engine=TokuDB; --echo '#--------------------begin------------------------#' SET @session_start_value = @@session.tokudb_support_xa; SELECT @session_start_value; SET @global_start_value = @@global.tokudb_support_xa; SELECT @global_start_value; SET @@session.tokudb_support_xa = 0; SET @@session.tokudb_support_xa = DEFAULT; SELECT @@session.tokudb_support_xa; SET @@global.tokudb_support_xa = 0; SET @@global.tokudb_support_xa = DEFAULT; SELECT @@global.tokudb_support_xa; --echo '#--------------------case#1 valid set support_xa------------------------#' # for session SET @@session.tokudb_support_xa = 0; SELECT @@session.tokudb_support_xa; SET @@session.tokudb_support_xa = 1; SELECT @@session.tokudb_support_xa; # for global SET @@global.tokudb_support_xa = 0; SELECT @@global.tokudb_support_xa; SET @@global.tokudb_support_xa = 1; SELECT @@global.tokudb_support_xa; --echo '#--------------------case#2 invalid set support_xa------------------------#' # for session --Error ER_WRONG_TYPE_FOR_VAR SET @@session.tokudb_support_xa = -0.6; --Error ER_WRONG_TYPE_FOR_VAR SET @@session.tokudb_support_xa = 1.6; --Error ER_WRONG_VALUE_FOR_VAR SET @@session.tokudb_support_xa = "T"; --Error ER_WRONG_VALUE_FOR_VAR SET @@session.tokudb_support_xa = "Y"; SET @@session.tokudb_support_xa = OFF; SELECT @@session.tokudb_support_xa; # for global --Error ER_WRONG_VALUE_FOR_VAR SET @@global.tokudb_support_xa = 2; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.tokudb_support_xa = "T"; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.tokudb_support_xa = "Y"; --echo '#--------------------case#3 xa.test port from tokudb_mariadb/xa.test ------------------------#' --echo '#--------------------xa.test with tokudb_support_xa OFF ------------------------#' SET @@global.tokudb_support_xa = OFF; SELECT @@global.tokudb_support_xa; create table t1 (a int) engine=tokudb; xa start 'test1'; insert t1 values (10); xa end 'test1'; xa prepare 'test1'; xa rollback 'test1'; select * from t1; xa start 'test2'; --error ER_XAER_RMFAIL xa start 'test-bad'; insert t1 values (20); --error ER_XAER_RMFAIL xa prepare 'test2'; xa end 'test2'; xa prepare 'test2'; xa commit 'test2'; select * from t1; xa start 'testa','testb'; insert t1 values (30); --error ER_XAER_RMFAIL commit; xa end 'testa','testb'; --error ER_XAER_RMFAIL begin; --error ER_XAER_RMFAIL create table t2 (a int); connect (con1,localhost,root,,); connection con1; --error ER_XAER_DUPID xa start 'testa','testb'; --error ER_XAER_DUPID xa start 'testa','testb', 123; # gtrid [ , bqual [ , formatID ] ] xa start 0x7465737462, 0x2030405060, 0xb; insert t1 values (40); xa end 'testb',' 0@P`',11; xa prepare 'testb',0x2030405060,11; --error ER_XAER_RMFAIL start transaction; xa recover; connection default; xa prepare 'testa','testb'; xa recover; --error ER_XAER_NOTA xa commit 'testb',0x2030405060,11; xa rollback 'testa','testb'; --replace_regex /MariaDB/XYZ/ /MySQL/XYZ/ --error ER_PARSE_ERROR xa start 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'; select * from t1; disconnect con1; connection default; drop table t1; --echo '#--------------------end------------------------#' SET @@session.tokudb_support_xa = @session_start_value; SELECT @@session.tokudb_support_xa; SET @@global.tokudb_support_xa = @global_start_value; SELECT @@global.tokudb_support_xa;