33 lines
820 B
SQL
33 lines
820 B
SQL
create table operation
|
|
(
|
|
id bigserial primary key
|
|
, redo text not null
|
|
, undo text not null
|
|
, parent integer references operation(id) on delete cascade
|
|
, redo_child integer references operation(id) -- must update before delete
|
|
, redo_cs text not null
|
|
, undo_cs text not null
|
|
);
|
|
|
|
insert into operation (id, redo, undo, redo_cs, undo_cs) values (0, '', '', '', '');
|
|
|
|
create table current_operation
|
|
(
|
|
id bigint primary key references operation(id) -- must update before delete
|
|
);
|
|
|
|
insert into current_operation (id) values (0);
|
|
|
|
create table snapshot_operation
|
|
(
|
|
id bigint primary key references operation(id) on delete cascade
|
|
, tag text not null unique
|
|
);
|
|
|
|
create table restore_operation
|
|
(
|
|
id bigint primary key references operation(id) -- set after reading inp
|
|
);
|
|
|
|
insert into restore_operation (id) values (0);
|