On Thu, Dec 14, 2017 at 8:08 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> writes: >> We allow a function to be invoked as part of PERFORM statement in plpgsql >> ... >> But we do not allow a procedure to be invoked this way > >> Procedures fit that category and like functions, I think, we should >> allow them be invoked directly without any quoting and CALL >> decoration. > > How is that going to work? What if the procedure tries to commit the > current transaction?
That can happen even today if somebody uses PERFORM 'call procedure()' and procedure tries to commit the transaction. I don't think we have any mechanism to prevent that. If we device one, it will be equally applicable to PERFORM procedure(). -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company