On Thu, Apr 14, 2011 at 10:56 PM, Pavel Stehule <pavel.steh...@gmail.com> wrote:
> 2011/4/15 Jim Nasby <j...@nasby.net>:
>> On Apr 14, 2011, at 4:20 PM, Kevin Grittner wrote:
>>> Tom Lane <t...@sss.pgh.pa.us> wrote:
>>>> Robert Haas <robertmh...@gmail.com> writes:
>>>
>>>>> So far the most promising proposal I've seen seems to be to let
>>>>> id mean the parameter called id only when it can't refer to
>>>>> anything in the query.
>>>
>>>> Yeah, I've come round to that position too.  I think allowing
>>>> parameter names to be checked only after query names is probably
>>>> the best answer.
>>>
>>> +1
>>>
>>> That seems the most useful and least surprising approach to me.
>>
>> As part of this, can we also allow specifying an alias for the function 
>> name? That would make it far less onerous to disambiguate parameters. 
>> Unfortunately we obviously couldn't use AS as the keyword for this alias; 
>> maybe we could use ALIAS instead? IE:
>>
>> CREATE FUNCTION function_with_really_really_descriptive_name (
>>  some_parameter int
>> ) RETURNS int LANGUAGE SQL ALIAS fwrrdn AS $$
>>        SELECT fwrrdn.some_parameter
>> $$;
>> --
>
> I see this can be problem for other languages - mainly for PLpgSQL.
> There should be aliases supported too. And this small feature can be
> terible when somebody will try to port your code to other platforms.
> Personally I am thinking, so it isn't necessary
>
> -1

I don't much like Jim's syntax suggestion (the alias really ought to
be declared within the function body, I think, not added to the CREATE
FUNCTION statement) but I don't necessarily think it's a bad idea.
What would be even better, in my view, is having a short alias that is
defined by default, but all previous proposals in this vein have been
shot down by Tom and Andrew.  As a practical matter, though, I think
what Jim is talking about speaks to a real need - people want to make
SQL function names long and descriptive, but they do NOT want to spell
out that long function name 16 times inside the function body.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to