Thread: adsrc and consrc incompatible with rename operations

adsrc and consrc incompatible with rename operations

From
Peter Eisentraut
Date:
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



Re: adsrc and consrc incompatible with rename operations

From
Rod Taylor
Date:
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