# Skip Purify BoundsChecker

Begin;
Initialize;
InitializeSession "TESTDB";
Command "create database TESTDB";
TerminateSession;
InitializeSession "TESTDB";
#
# B+木の大量データテスト -- 複合索引・2列 NULLを大量挿入
#

Command "create table T(c1 varchar(14) hint nontruncate, c2 float)";
Command "insert into T values ((null), (null))";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "select count(*) from T";
Command "create index I on T(c1, c2)";
BeginTimeSpan;
Command "verify index I cascade continue";
EndTimeSpan;
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "insert into T values ('Zaandam', 3.141591)";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "update T set c1 = (null), c2 = (null) where c1 is not null and c2 is not null";
Command "insert into T values ('Zabaean', 3.665877)";
Command "update T set c1 = 'zabaglione', c2 = 4.190167 where c1 is not null and c2 is not null";
Command "delete from T where c1 is not null and c2 is not null";
BeginTimeSpan;
Command "verify index I cascade continue";
EndTimeSpan;
Command "delete from T where c1 is null and c2 is null";
BeginTimeSpan;
Command "verify index I cascade continue";
EndTimeSpan;
Command "drop index I";
Command "drop table T";

Command "create table T(c1 datetime, c2 datetime)";
Command "insert into T values ((null), (null))";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "select count(*) from T";
Command "create index I on T(c1, c2)";
Command "verify index I cascade continue";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "insert into T values ('2007-12-31 00:00:00.000', '2007-12-31 00:00:00.000')";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "update T set c1 = (null), c2 = (null) where c1 is not null and c2 is not null";
Command "insert into T values ('2037-11-25 15:00:00.000', '2037-11-25 15:00:00.000')";
Command "update T set c1 = '2067-10-24 07:00:00.000', c2 = '2067-10-24 07:00:00.000' where c1 is not null and c2 is not null";
Command "delete from T where c1 is not null and c2 is not null";
Command "verify index I cascade continue";
Command "delete from T where c1 is null and c2 is null";
Command "verify index I cascade continue";
Command "drop index I";
Command "drop table T";

Command "create table T(c1 decimal(10,4), c2 char(14))";
Command "insert into T values ((null), (null))";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "select count(*) from T";
Command "create all rows index I on T(c1, c2)";
Command "verify index I cascade continue";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "insert into T values (0.01, 'Zaandam')";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "update T set c1 = (null), c2 = (null) where c1 is not null and c2 is not null";
Command "insert into T values (5242.87, 'Zabaean')";
Command "update T set c1 = 10485.77, c2 = 'zabaglione' where c1 is not null and c2 is not null";
Command "delete from T where c1 is not null and c2 is not null";
Command "verify index I cascade continue";
Command "delete from T where c1 is null and c2 is null";
Command "verify index I cascade continue";
Command "drop index I";
Command "drop table T";

Command "create table T(c1 char(14), c2 nchar(14))";
Command "insert into T values ((null), (null))";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "select count(*) from T";
Command "create all rows index I on T(c1, c2)";
Command "verify index I cascade continue";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "insert into T values ('Zaandam', 'Zaandam')";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "update T set c1 = (null), c2 = (null) where c1 is not null and c2 is not null";
Command "insert into T values ('Zabaean', 'Zabaean')";
Command "update T set c1 = 'zabaglione', c2 = 'zabaglione' where c1 is not null and c2 is not null";
Command "delete from T where c1 is not null and c2 is not null";
Command "verify index I cascade continue";
Command "delete from T where c1 is null and c2 is null";
Command "verify index I cascade continue";
Command "drop index I";
Command "drop table T";

Command "create table T(c1 decimal(10,4), c2 nvarchar(14) hint nontruncate)";
Command "insert into T values ((null), (null))";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "select count(*) from T";
Command "create index I on T(c1, c2)";
Command "verify index I cascade continue";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "insert into T values (0.01, 'Zaandam')";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "update T set c1 = (null), c2 = (null) where c1 is not null and c2 is not null";
Command "insert into T values (5242.87, 'Zabaean')";
Command "update T set c1 = 10485.77, c2 = 'zabaglione' where c1 is not null and c2 is not null";
Command "delete from T where c1 is not null and c2 is not null";
Command "verify index I cascade continue";
Command "delete from T where c1 is null and c2 is null";
Command "verify index I cascade continue";
Command "drop index I";
Command "drop table T";

Command "create table T(c1 float, c2 datetime)";
Command "insert into T values ((null), (null))";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "select count(*) from T";
Command "create index I on T(c1, c2)";
Command "verify index I cascade continue";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "insert into T values (3.141591, '2007-12-31 00:00:00.000')";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "update T set c1 = (null), c2 = (null) where c1 is not null and c2 is not null";
Command "insert into T values (3.665877, '2037-11-25 15:00:00.000')";
Command "update T set c1 = 4.190167, c2 = '2067-10-24 07:00:00.000' where c1 is not null and c2 is not null";
Command "delete from T where c1 is not null and c2 is not null";
Command "verify index I cascade continue";
Command "delete from T where c1 is null and c2 is null";
Command "verify index I cascade continue";
Command "drop index I";
Command "drop table T";

Command "create table T(c1 decimal(10,4), c2 varchar(14))";
Command "insert into T values ((null), (null))";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "insert into T select * from T";
Command "select count(*) from T";
Command "create all rows index I on T(c1, c2)";
Command "verify index I cascade continue";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "insert into T values (0.01, 'Zaandam')";
Command "select min(c1) from T";
Command "select max(c1) from T";
Command "select min(c1), max(c1) from T";
Command "update T set c1 = (null), c2 = (null) where c1 is not null and c2 is not null";
Command "insert into T values (5242.87, 'Zabaean')";
Command "update T set c1 = 10485.77, c2 = 'zabaglione' where c1 is not null and c2 is not null";
Command "delete from T where c1 is not null and c2 is not null";
Command "verify index I cascade continue";
Command "delete from T where c1 is null and c2 is null";
Command "verify index I cascade continue";
Command "drop index I";
Command "drop table T";

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