"Nigel J. Andrews" <nandrews@investsystems.co.uk> writes:
> + if (estate->eval_processed != 0)
> + exec_set_found(estate, true);
To be actually useful the command would have to set FOUND to either
true or false depending on whether it computed a row or not. So the
correct patch would be more like
+ exec_set_found(estate, (estate->eval_processed != 0));
Also, changing the parameter to exec_run_select as you did is wrong.
A multi-row query should be allowed to run to completion, I'd think.
As for whether to apply it or not --- the change seems reasonable if we
were working in a vacuum. But I don't believe we invented PERFORM out
of whole cloth; surely there are other systems that we need to consider
compatibility with.
regards, tom lane