Begin;

System "mkdir d:\\dm\\data2";
System "mkdir d:\\dm\\system2";

Initialize;
InitializeSession "";

Command "create database TESTDB";

TerminateSession;

InitializeSession "TESTDB";

Command "create table T (C ntext array[no limit])";
Command "create fulltext index I on T(C) hint 'inverted=(nolocation=true, notf=true)'";
Command "insert into T values (?)" [["XXXX 1 XXXX"]];

Command "start transaction read write, isolation level serializable";
Command "start backup full discard snapshot";

System "..\\..\\switchcopy.bat d:\\dm\\data\\TESTDB d:\\dm\\data2\\TESTDB1";
System "..\\..\\switchcopy.bat d:\\dm\\system\\TESTDB d:\\dm\\system2\\TESTDB1";

Command "end backup";
Command "commit";
TerminateSession;
Terminate;

# システムを初期化し、タイムスタンプファイルを元に戻す

System "..\\..\\restore.bat";

Initialize;
InitializeSession "";

# 異常系 - read only でマウントできない
Command "mount TESTDB1 path 'd:\\dm\\data2\\TESTDB1' logicallog 'd:\\dm\\data2\\TESTDB1' system 'd:\\dm\\system2\\TESTDB1' read only";
# 正常系 - バックアップ時と異なる格納場所でマウント
Command "mount TESTDB1 path 'd:\\dm\\data2\\TESTDB1' logicallog 'd:\\dm\\data2\\TESTDB1' system 'd:\\dm\\system2\\TESTDB1'";

TerminateSession;

InitializeSession "TESTDB1";

Command "verify database TESTDB1 cascade continue";
Command "select * from T";
Command "select * from T where C like '%XXXX%'";

TerminateSession;
Terminate;

System "rm -rf d:\\dm\\data2";
System "rm -rf d:\\dm\\system2";

End;
