/**************************************************************************************/
/* File:        demo31                                                                */
/* Project:     ATSQL2 : Additional Updates                                           */
/* Author:      Andreas Steiner                                                       */
/* Date:        08-17-1995                                                            */
/* Results:                                                                           */
/**************************************************************************************/

SET CLOCK TO TIMESTAMP '1995/01/01';

create table test (i integer) as valid;

nonsequenced valid period '1990-1995' insert into test values(9999);
nonsequenced valid period '1979-2001' insert into test values(9999);

valid select * from test;

/*
                    VALID         i
 ------------------------ ---------
              [1990-1995)      9999
              [1979-2001)      9999
*/

nonsequenced valid period '1980-2000'
update test
set i = 7777
where i = 9999;

valid select * from test;

/*
                    VALID         i
 ------------------------ ---------
              [1979-1980)      9999
              [2000-2001)      9999
              [1990-1995)      7777
              [1980-2000)      7777
*/

nonsequenced valid period '1980-2000'
delete from test
where i = 7777;

valid select * from test;

/*
                    VALID         i
 ------------------------ ---------
              [1979-1980)      9999
              [2000-2001)      9999
*/

drop table test;


create table test (i integer) as valid and transaction;

nonsequenced valid period '1990-1995' insert into test values(9999);
nonsequenced valid period '1979-2001' insert into test values(9999);

valid and transaction select * from test;

/*
              TRANSACTION                    VALID         i
 ------------------------ ------------------------ ---------
           [1995-forever)              [1990-1995)      9999
           [1995-forever)              [1979-2001)      9999
*/

nonsequenced valid period '1980-2000'
update test
set i = 7777
where i = 9999;

valid and transaction select * from test;

/*
              TRANSACTION                    VALID         i
 ------------------------ ------------------------ ---------
              [1995-1995)              [1990-1995)      9999
              [1995-1995)              [1979-2001)      9999
           [1995-forever)              [1979-1980)      9999
           [1995-forever)              [2000-2001)      9999
           [1995-forever)              [1990-1995)      7777
           [1995-forever)              [1980-2000)      7777
*/

nonsequenced valid period '1980-2000'
delete from test
where i = 7777;

valid and transaction select * from test;

/*
              TRANSACTION                    VALID         i
 ------------------------ ------------------------ ---------
              [1995-1995)              [1990-1995)      9999
              [1995-1995)              [1979-2001)      9999
           [1995-forever)              [1979-1980)      9999
           [1995-forever)              [2000-2001)      9999
              [1995-1995)              [1990-1995)      7777
              [1995-1995)              [1980-2000)      7777
*/

drop table test;
