Excerpts from Tom Lane's message of mié nov 17 12:20:06 -0300 2010:
> Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> > A customer of ours (Enova Financial) requested the ability to describe
> > objects in pg_depend. The wiki contains a simplistic SQL snippet that
> > does the task, but only for some of the object types, and it's rather
> > ugly. It struck me that we could fulfill this very easily by exposing
> > the getObjectDescription() function at the SQL level, as in the attached
> > module.
>
> What's the point of the InvalidOid check? It seems like you're mostly
> just introducing a corner case: sometimes, but not always, the function
> will return NULL instead of failing for bad input. I think it should
> just fail always.
If the check is not there, the calling query will have to prevent the
function from being called on rows having OID=0 in pg_depend. (These
rows show up in the catalog for pinned objects). The query becomes
either incomplete (because you don't report pinned objects) or awkward
(because you have to insert a CASE expression to avoid calling the
function in that case).
I don't think it's all that necessary anyway. If the function goes in
without that check, it will still be a huge improvement over the statu
quo.
--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support