"Marc Mamin" <[email protected]> writes:
> following query is wrong in my understanding, as it doesn't specify
> which oid to use (pg_proc or pg_roles ?)
> but it is accepted by the parser
> select pg_get_functiondef(oid) -- should be
> pg_get_functiondef(pg_proc.oid)
> from pg_proc join pg_roles
> on ( pg_proc.proowner=pg_roles.oid )
> LIMIT 1
The reason that happens is that pg_roles has an explicit oid column (ie,
oid is a regular not system column in the view) so that name takes
precedence over the system column available from pg_proc. Having to
have an explicit oid column in pg_roles isn't very nice, because of
precisely this type of inconsistency, but since it's a view not a table
there's not a lot of alternatives.
regards, tom lane
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general