#コマンドの中断のテスト(single版、正常系)

Begin;

SetSystemParameter "Exception_FakeError" 
"Execution::Executor::execute_IsInterrupted count=(1 5 8)";

BeginTimeSpan;
Initialize;
EndTimeSpan;
InitializeSession "";
Command "create database TESTDB";
TerminateSession;
InitializeSession "TESTDB";

#まず表を作る
Command "create table T(C int)";

AsyncCommand "ins" "insert into T values (1), (2), (3), (4), (5)";
#CancelAsync "ins";
#usage: GetAsyncResultも必要
GetAsyncResult "ins";
#何も返ってこなければ成功
Command "select * from T";

#保険
Command "delete from T";

AsyncCommand "ins1" "insert into T values (1), (2), (3), (4), (5)";
#CancelAsync "ins1";
GetAsyncResult "ins1";

AsyncCommand "ins2" "insert into T values (6), (7), (8), (9), (10)";
#CancelAsync "ins2";
GetAsyncResult "ins2";
#何も返ってこなければ成功
Command "select * from T";

#表の後始末
#Command "drop table T";

TerminateSession;
#InitializeSession "";
#Command "drop database TESTDB";
#TerminateSession;
# (障害回復を試すためTerminateしない)
End;
