#
#障害番号0636に対応
# EXISTSが複数あるときに出力されるべきデータが出力されない場合がある
Begin;

# DBの複製。
Begin;
Initialize;

InitializeSession "";
Command "create database testdb";
TerminateSession;

InitializeSession "testdb";

Command "create table T0 (x int,z int)";
Command "create table T1 (y int,v int)";
Command "create table T2 (u int,w int)";
Command "create index T1_I on T1(y)";
Command "create index T2_I on T2(u)";

Command "insert into T0 values( 1,3)";
Command "insert into T0 values( 1,4)";
Command "insert into T0 values( 3,5)";
Command "insert into T0 values( 4,13)";
Command "insert into T0 values( 5,14)";

Command "insert into T1 values( 1,3)";
Command "insert into T1 values( 1,4)";
Command "insert into T1 values( 3,5)";
Command "insert into T1 values( 4,13)";
Command "insert into T1 values( 5,14)";

Command "insert into T2 values( 1,3)";
Command "insert into T2 values( 1,4)";
Command "insert into T2 values( 3,5)";
Command "insert into T2 values( 4,4)";
Command "insert into T2 values( 5,3)";
Command "insert into T2 values( 5,5)";
Command "insert into T2 values( 3,3)";

#確認
Command "select * from T0,T1,T2 where T0.x = T1.y and T2.w=T0.z and T1.v = T2.u";

#3件出力される。障害は２件しか出力されない
Command "select * from T0 where exists (select * from T1 where T0.x = T1.y
and exists (select * from T2 where T0.z = T2.w and T1.v = T2.u))";


TerminateSession;

InitializeSession "";
Command "drop database testdb";
TerminateSession;

Terminate;
End;
End;