The system catalog columns pg_attrdef.adsrc and pg_constraint.consrc store
"human-readable" versions of pg_attrdef.adbin and pg_constraint.conbin.
During a rename operation, they are not and cannot be updated.  We need to
remove them and make interested applications get the information about of
the *bin columns.  I noticed that various functions were recently updated
to do that, but I think the columns should be removed altogether because
they cannot be trusted.

-- 
Peter Eisentraut   peter_e@gmx.net


Fri, 27 Jun 2003 14:36:19 +0200 (CEST)
Peter Eisentraut <peter_e@gmx.net>
adsrc and consrc incompatible with rename operations
On Fri, 2003-06-27 at 08:36, Peter Eisentraut wrote:
> The system catalog columns pg_attrdef.adsrc and pg_constraint.consrc store
> "human-readable" versions of pg_attrdef.adbin and pg_constraint.conbin.
> During a rename operation, they are not and cannot be updated.  We need to
> remove them and make interested applications get the information about of
> the *bin columns.  I noticed that various functions were recently updated
> to do that, but I think the columns should be removed altogether because
> they cannot be trusted.

Agreed (even brought it up at the time), but there are some
circumstances that may cause the binary column to be irretrievable due
to a corrupt system catalogue -- which is still possible despite
dependencies (concurrency issues -- lack of object locking).


-- 
Rod Taylor <rbt@rbt.ca>

PGP Key: http://www.rbt.ca/rbtpub.asc
27 Jun 2003 09:27:37 -0400
Rod Taylor <rbt@rbt.ca>
Re: adsrc and consrc incompatible with rename operations