|From:||Michael Paquier <michael(at)paquier(dot)xyz>|
|To:||Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>|
|Cc:||Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>|
|Subject:||Re: prokind column (was Re: [HACKERS] SQL procedures)|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
On Wed, Feb 28, 2018 at 05:37:11PM -0500, Peter Eisentraut wrote:
> On 2/28/18 15:45, Tom Lane wrote:
>> I have reviewed this patch and attach an updated version below.
>> I've rebased it up to today, fixed a few minor errors, and adopted
>> most of Michael's suggestions. Also, since I remain desperately
>> unhappy with putting zeroes into prorettype, I changed it to not
>> do that ;-) ... now procedures have VOIDOID as their prorettype,
>> and it will be substantially less painful to allow them to return
>> some other scalar result in future, should we wish to. I believe
>> I've found all the places that were relying on prorettype == 0 as
>> a substitute for prokind == 'p'.
> I have just posted "INOUT parameters in procedures", which contains some
> of those same changes. So I think we're on the same page. I will work
> on consolidating this.
I have read the patch set that Tom has posted here and hunted for other
inconsistencies. It seems to me that you have spotted everything.
The changes in ProcedureCreate() are nice.
I was wondering as well if it would be worth checking the contents of
pg_proc with prorettype = 0 in the regression tests to always make sure
that this never happens... Until I saw that opr_sanity.sql was actually
doing already that so procedures actually are breaking that check on
|Next Message||David Fetter||2018-03-01 00:47:52||Re: row filtering for logical replication|
|Previous Message||Tom Lane||2018-03-01 00:26:48||Re: IndexTupleDSize macro seems redundant|