On 1/2/18 17:47, Peter Eisentraut wrote:
> On 1/2/18 11:47, Tom Lane wrote:
>> +1 --- seems like a new bool column is the thing. Or may we should merge
>> "proisprocedure" with proisagg and proiswindow into an enum prokind?
>> Although that would break some existing client-side code.
>
> prokind sounds good. I'll look into that.
Here is a patch set for that. (I just kept the pg_proc.h changes
separate for easier viewing.) It's not quite complete; some frontend
code still needs adjusting; but the idea is clear.
I think this would be a pretty good change. It doesn't appear to save a
ton amount of code, although a couple of cases where inconsistent
settings of proisagg and proiswindow had to be handed could be removed.
Because window functions are a separate kind in pg_proc but not in the
object address system, inconsistencies will remain in the system, but I
guess that's just the way it is.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services