1 alter table backups alter column parts set default 0;
3 create or replace function backup_parts_check() returns trigger as '
9 if (TG_OP=''UPDATE'') then
12 elsif (TG_OP = ''INSERT'') then
16 b_counted := (select count(*) from backup_parts where backup_id = b_id);
17 -- raise notice ''backup % parts %'', b_id, b_parts;
18 if ( b_parts != b_counted ) then
19 raise exception ''Update of backup % aborted, requested % parts and there are really % parts'', b_id, b_parts, b_counted;
25 drop trigger do_backup_parts_check on backups;
27 create trigger do_backup_parts_check
28 after insert or update or delete on backups
29 for each row execute procedure backup_parts_check();