Re: Function argument names - Mailing list pgsql-patches

From Tom Lane
Subject Re: Function argument names
Date
Msg-id 16560.1073457222@sss.pgh.pa.us
Whole thread Raw
In response to Function argument names  (Dennis Bjorklund <db@zigo.dhs.org>)
List pgsql-patches
Dennis Bjorklund <db@zigo.dhs.org> writes:
> I've implemented function argument names,

I have reviewed and applied this patch, with some editorialization.

> Other languages then pl/pgsql should also work to extend, but I've not
> looked at that. The langage sql I've planned to look at, but since that
> language is not as separate as the others I did not want to do it yet.

I am not real sure what support for this should look like in SQL
functions.  From the point of view of a SQL command inside a function,
it seems very close to a global SQL variable, which is a notion that
we've always shied away from.  The PL languages are more comfortable
with such things, and should probably get fixed first.

Also, wouldn't it be a good idea for psql's \df or \df+ commands to
show the argument names?

> What's missing are changes to the documentation.

Yup.  Please supply.  Note that I fixed the grammar to allow param names
to appear in *any* function parameter list, not only CREATE FUNCTION.
For instance "DROP FUNCTION x(p int)".  (I believe that the pg_dump
patch requires this, in fact.)

> For the changes in pl_comp.c it feels like I'm breaking the abstraction
> when I pull out the argument names from the array.

So you were.  I didn't do it that way.

> The changes to the system tables was harder then I thought it was going to
> be. The code in pg contains a lot of hard coded assumptions of what these
> looks like. For example, prosrc has to be the first vararg element in
> pg_proc, which I learned the hard way..

That's a bug; fixed.  It is true that changing the bootstrapped tables
like pg_class and pg_proc requires changes in more than one place,
mostly undocumented places.  But you did it, and lived to tell the tale ;-).
Be glad.  Do you feel like contributing some documentation about what's
involved?

            regards, tom lane

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: fork/exec patch: pre-CreateProcess finalization
Next
From: Euler Taveira de Oliveira
Date:
Subject: update for brazilian portuguese translation