> True, although there's a certain inconsistency in allowing a whole row
> to be passed to a function by
> 
>       select foo(pg_class) from pg_class;
> 
> and not allowing the same row to be output by

Imho there is a big difference between the two. The foo(pg_class) calls a function 
with argument type opaque or type pg_class.
I would go so far as to say, that above foo function call would have a
different meaning if written with 'pg_class.*'.

        select foo(pg_class.*) from pg_class;
         
Could be interpreted as calling a function foo with pg_class ncolumns 
arguments of the corresponding types.

> 
>       select pg_class from pg_class; 

Probably a valid interpretation would be if type pg_class or opaque had an 
output function.

Andreas

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to