# 10000番台のjoinテストではしていない物

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


Command "create table T1(N int, X ntext array [no limit])";
Command "create table T2(N int, X ntext array [no limit])";
Command "create table T3(N int, X ntext array [no limit])";

Command "insert into T1 values (1, ?)" [["hoge"]];
Command "insert into T1 values (2, ?)" [["piyo"]];
Command "insert into T1 values (10, ?)" [["HOGE"]];
Command "insert into T1 values (20, ?)" [["PIYO"]];

Command "insert into T2 values (100, ?)" [["HOGE"]];
Command "insert into T2 values (200, ?)" [["PIYO"]];

Command "insert into T3 values (1000, ?)" [["PIYO"]];
Command "insert into T3 values (2000, ?)" [["PIYO"]];

# join構文を使わないjoin
Command  "select T1.N, T2.N, T1.X, T2.X from T1, T2";

#joinテストでしていない構文をテスト
Command "select * from T1 cross join T2";

Command "select * from T1 exists join T2 on (T1.X = T2.X)";

Command "select * from T1, (T2 join T3 on (T2.X = T3.X)) where T1.X = T2.X";

Command  "select * from T1";
Command  "select * from T2";
Command  "select * from T3";

#Command "drop table T1";
#Command "drop table T2";
#Command "drop table T3";


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