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 


> 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

Reply via email to