Begin;
Initialize;
InitializeSession "TESTDB";
Command "create database TESTDB";
TerminateSession;
InitializeSession "TESTDB";
#
# トランザクション識別子に関するテスト
#

# グローバルトランザクション識別子のみ
Command "xa start X'0'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff00'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff'";

Command "xa start 0";

Command "xa start 'あいウエ尾'";

# トランザクションブランチ限定子まで指定
Command "xa start X'00', X'0'";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff00'";

Command "xa start X'00', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff'";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', 1";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', 'あいウエ尾'";

Command "xa start X'00',";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'0'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0'";

Command "xa start X'00', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff00'";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', 1";

Command "xa start X'00', 'あいウエ尾'";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff',";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'0'";

Command "xa start X'00', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0'";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff00'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff'";

Command "xa start X'00', 1";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', 'あいウエ尾'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff',";

# フォーマット識別子まで指定
Command "xa start X'00', X'00', -1";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', -1";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', -1";

Command "xa start X'00', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', -2147483648";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00', -2147483648";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'00', -2147483648";

Command "xa start X'00', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', -2147483649";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00', -2147483649";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', -2147483649";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', -100000000000000";

Command "xa start X'00', X'00', -100000000000000";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', -100000000000000";

Command "xa start X'00', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', 2147483648";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', 2147483648";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'00', 2147483648";

Command "xa start X'00', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', 100000000000000";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', 100000000000000";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'00', 100000000000000";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', 'あいウエ尾'";

Command "xa start X'00', X'00', 'あいウエ尾'";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', 'あいウエ尾'";

Command "xa start X'00', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00'";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00', X'00'";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'00'";

Command "xa start X'00', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff',";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'00',";

Command "xa start X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff',";

Command "xa start X'00112233445566778899AABBCCDDEEFF00112233445566778899aabbccddeeff', X'0000111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff', -2147483648";

TerminateSession;
InitializeSession "TESTDB";
Command "drop database TESTDB";
TerminateSession;
Terminate;
End;
