/**************************************************************************************/
/* File:        demo07                                                                */
/* Project:     ATSQL2 : ALTER TABLE                                                  */
/* Author:      Andreas Steiner                                                       */
/* Date:        15-08-1995                                                            */
/* Results:                                                                           */
/**************************************************************************************/


set clock to timestamp '1995/08/22';

create table test(i integer);

insert into test values (9999);

select * from test;

/*
    i
 ----
 9999
*/


alter table test add valid;

valid select * from test;

/*
                VALID    i
 -------------------- ----
 [1995/08/22-forever) 9999
*/

set clock to timestamp '1995/08/25';

alter table test add transaction;

valid and transaction select * from test;

/*
          TRANSACTION                VALID    i
 -------------------- -------------------- ----
 [1995/08/25-forever) [1995/08/22-forever) 9999
*/


set clock to timestamp '1995/08/30';

delete from test where i = 9999;

valid and transaction select * from test;

/*
             TRANSACTION                   VALID    i
 ----------------------- ----------------------- ----
 [1995/08/25-1995/08/30)    [1995/08/22-forever) 9999
    [1995/08/30-forever) [1995/08/22-1995/08/30) 9999
*/


transaction select * from test where valid(test) overlaps timestamp 'now';

/*
             TRANSACTION    i
 ----------------------- ----
 [1995/08/25-1995/08/30) 9999
*/


valid select * from test;

/*
                   VALID    i
 ----------------------- ----
 [1995/08/22-1995/08/30) 9999
*/


alter table test drop valid;

transaction select * from test;

/*
No tupels selected
*/


select * from test;

/*
No tupels selected
*/


drop table test;

remove clock;
