37 |
calc_part integer; |
calc_part integer; |
38 |
begin |
begin |
39 |
if (TG_OP = ''INSERT'') then |
if (TG_OP = ''INSERT'') then |
40 |
raise notice ''trigger: % backup_id %'', TG_OP, new.backup_id; |
-- raise notice ''trigger: % backup_id %'', TG_OP, new.backup_id; |
41 |
b_id = new.backup_id; |
b_id = new.backup_id; |
42 |
my_part_nr = new.part_nr; |
my_part_nr = new.part_nr; |
43 |
execute ''update backups set parts = parts + 1 where id = '' || b_id; |
execute ''update backups set parts = parts + 1 where id = '' || b_id; |
44 |
elsif (TG_OP = ''DELETE'') then |
elsif (TG_OP = ''DELETE'') then |
45 |
raise notice ''trigger: % backup_id %, old.part_nr %'', TG_OP, old.backup_id, old.part_nr; |
-- raise notice ''trigger: % backup_id %, old.part_nr %'', TG_OP, old.backup_id, old.part_nr; |
46 |
b_id = old.backup_id; |
b_id = old.backup_id; |
47 |
my_part_nr = old.part_nr - 1; |
my_part_nr = old.part_nr - 1; |
48 |
execute ''update backups set parts = parts - 1 where id = '' || b_id; |
execute ''update backups set parts = parts - 1 where id = '' || b_id; |
49 |
end if; |
end if; |
50 |
calc_part := (select count(part_nr) from backup_parts where backup_id = b_id); |
calc_part := (select count(part_nr) from backup_parts where backup_id = b_id); |
51 |
if ( my_part_nr != calc_part ) then |
if ( my_part_nr != calc_part ) then |
52 |
raise exception ''Update of backup_parts with backup_id % aborted, requested part_nr is % and calulated next is %'', b_id, my_part_nr, calc_part; |
raise exception ''Update of backup_parts with backup_id % aborted, requested part_nr is % and calulated next is %'', b_id, my_part_nr, calc_part; |
|
|
|
53 |
end if; |
end if; |
54 |
return null; |
return null; |
55 |
end; |
end; |