Re: boolean short-circuiting in plpgsql - Mailing list pgsql-general

From Tom Lane
Subject Re: boolean short-circuiting in plpgsql
Date
Msg-id 757.1217486382@sss.pgh.pa.us
Whole thread Raw
In response to boolean short-circuiting in plpgsql  (Kev <kevinjamesfield@gmail.com>)
Responses Re: boolean short-circuiting in plpgsql
List pgsql-general
Kev <kevinjamesfield@gmail.com> writes:
> ...because the case should force it to only evaluate 'old' when TG_OP
> =  'UPDATE' and otherwise ('INSERT') skip through to 't'.  But this
> causes the same error on insert.  I suspect it's because the select
> query gets parameterized and at that point the 'old' is missing,
> before the case even gets to be parsed.

Got it in one.

> How do I get around this
> without having two 'perform' statements?

What you need is two nested IF statements.  The PERFORM in your example
is not relevant to the problem.

            regards, tom lane

pgsql-general by date:

Previous
From: "Garg, Manjit"
Date:
Subject: Re: Clone a database to other machine
Next
From: Greg Smith
Date:
Subject: Re: archive_timeout, checkpoint_timeout