Re: RfD: more powerful "any" types - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: RfD: more powerful "any" types
Date
Msg-id 162867790909100346v2ee3845ic364420bc72cf8c8@mail.gmail.com
Whole thread Raw
In response to Re: RfD: more powerful "any" types  (Hannu Krosing <hannu@krosing.net>)
List pgsql-hackers
2009/9/10 Hannu Krosing <hannu@krosing.net>:
> On Thu, 2009-09-10 at 08:44 +0300, Hannu Krosing wrote:
>
>> maybe just let users say what they mean, so first time we have "any" and
>> if we need more then we say "same_as(...)"
>
> Acutually we could be even more SQL-y and have a more verbose syntax for
> pseudotypes by extending the grammar
>
> CREATE FUNCTION foo(
>   a ANY TYPE,
>   b SAME TYPE AS a,
>   c ANY TYPE
> OUT d ARRAY OF SAME TYPE AS c
> ) ....
>
> TYPE could probably be optional
>

We could define anything, but we have to implement function searching
algorithm, that understand this new feature, and that is compatible
with current behave. Syntax is some simple, but the core is in
namespace.c.

regards
Pavel


>
>> so your example becomes
>>
>>
>> CREATE FUNCTION foo(a any, b same_type_as(a), c any)
>>   RETURNS same_type_as(c)[]
>>  AS $$
>>  ...
>>  $$;
>>
>> or the same using positional arguments
>>
>> CREATE FUNCTION foo(a any, b same_type_as(1), c any)
>>   RETURNS same_type_as(3)[]
>>  AS $$
>>  ...
>>  $$;
>>
>> this then gets transformed at parse time to whatever internal
>> representation of type sameness we use.
>>
>> --
>> Hannu Krosing   http://www.2ndQuadrant.com
>> PostgreSQL Scalability and Availability
>>    Services, Consulting and Training
>>
>>
>>
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: RfD: more powerful "any" types
Next
From: Christopher Browne
Date:
Subject: Re: Disable and enable of table and column constraints