Louis-David Mitterrand <vindex(at)apartia(dot)org> writes:
> I just noticed plpgsql evaluates all AND'ed conditions even if the first
> one fails. Example:
> elsif TG_OP = ''UPDATE'' and old.type_reponse = ''abandon''
> This will break stuff if the trigger is used on INSERT as
> "old.type_reponse" will be substituted and return an error.
I think you are confusing "evaluation" with "syntax checking".
Try putting the reference to OLD inside a nested IF command.
regards, tom lane