Use triggers for all notifications on Builds table changes

This commit is contained in:
Eelco Dolstra
2015-07-08 12:05:32 +02:00
parent 89fb723ace
commit bbee81efae
4 changed files with 24 additions and 23 deletions

View File

@ -204,16 +204,19 @@ create table Builds (
#ifdef POSTGRESQL
create function notifyBuildDeleted() returns trigger as $$
begin
execute 'notify builds_deleted';
return null;
end;
$$ language plpgsql;
create function notifyBuildsAdded() returns trigger as 'begin notify builds_added; return null; end;' language plpgsql;
create trigger BuildsAdded after insert on Builds execute procedure notifyBuildsAdded();
create trigger BuildDeleted after delete on Builds
for each row
execute procedure notifyBuildDeleted();
create function notifyBuildsDeleted() returns trigger as 'begin notify builds_deleted; return null; end;' language plpgsql;
create trigger BuildsDeleted after delete on Builds execute procedure notifyBuildsDeleted();
create function notifyBuildRestarted() returns trigger as 'begin notify builds_restarted; return null; end;' language plpgsql;
create trigger BuildRestarted after update on Builds for each row
when (old.finished = 1 and new.finished = 0) execute procedure notifyBuildRestarted();
create function notifyBuildCancelled() returns trigger as 'begin notify builds_cancelled; return null; end;' language plpgsql;
create trigger BuildCancelled after update on Builds for each row
when (old.finished = 0 and new.finished = 1 and new.buildStatus = 4) execute procedure notifyBuildCancelled();
#endif