adsrc and consrc incompatible with rename operations

Started by Peter Eisentrautover 22 years ago2 messages
#1Peter Eisentraut
peter_e@gmx.net

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

#2Rod Taylor
rbt@rbt.ca
In reply to: Peter Eisentraut (#1)
Re: 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