> PL/pgSQL parses the entire function body at first call (per
> backend). But the SPI querystrings for all the statements
> aren't parsed at that time. It uses SPI_prepare() only for
> expressions and queries that actually get executed, so that a
> huge function that is called only once in a backend, erroring
> out at the first IF, will not parse most of it's queries.
> This is surely a win for performance, but it makes it
> difficult to develop.
Thanks for the explanation. Although, I can't see how this improves
performance, I'll keep this in my mind when designing PL/PGSQL SPs.
--
Sniper's rifle is an extension of his eye. He kills with his injurious vision.
JM