On Fri, Feb 02, 2018 at 04:07:28PM +0900, Michael Paquier wrote:
> You need to read that as "only a SubPlan can be executed after a SubLink
> has been processed by the planner", so please replace the last "latter"
> by "planner".
(I forgot to add Peter and Andrew in CC: previously, so done now.)
e4128ee7 is making is clear that SubLink are authorized when
transforming it in transformSubLink(), however I cannot think about a
use case so should we just forbid them, and this is actually untested.
So the patch attached does so.
The second problem involves a cache lookup failure for a type when
trying to use pg_get_functiondef on a procedure. Luckily, it is
possible to make the difference between a procedure and a function by
checking if prorettype is InvalidOid or not. There is room for a new
patch which supports pg_get_proceduredef() to generate the definition of
a procedure, with perhaps a dedicated psql shortcut, but that could
always be done later on.
--
Michael