[Pljava-dev] Cancelling trigger operation

Filip Hrbek filip.hrbek at plz.comstar.cz
Mon Oct 23 08:02:42 UTC 2006


Hi Thomas,

when a trigger function is written in pl/pgsql, you can decide to cancel the 
operation in a trigger(defined as "before event") by returning null instead 
of "new", e.g.

create function cancelling_trigger() returns trigger as
'
begin
  if new.num < 0 then
    -- cancel operation for negative numbers
    return null;
  else
    -- continue
    -- do something...
    return new;
  end if;
end
' language 'plpgsql';

Is there any way to do the same in pljava? I can't see it now, since the 
trigger functions are mapped to static java methods with no return values 
(void):

public static void cancellingTrigger(TriggerData td) throws SQLException {
  if (td.getNew().getInt("num") < 0) {
    //Cancel operation - HOW???
  }
  else {
    //Continue
    //do something...
  }
}

Filip




More information about the Pljava-dev mailing list