This patch for Versions 1 and 2 corrects the following bug:
authorMarc G. Fournier
Sat, 24 Aug 1996 20:56:16 +0000 (20:56 +0000)
committerMarc G. Fournier
Sat, 24 Aug 1996 20:56:16 +0000 (20:56 +0000)
commit61eaefe9a63defc26fdb673d38b4990568ce9f8e
tree69f60bb03d0710c98d3ff227a3039ec423f7d518
parent208a30f23db0926604a338eda4ed69b5c278d2e2
This patch for Versions 1 and 2 corrects the following bug:

In a catalog class that has a "name" type attribute, UPDATEing of an
instance of that class may destroy all of the attributes of that
instance that are stored as or after the "name" attribute.

This is caused by the alignment value of the "name" type being set to
"double" in Class pg_type, but "integer" in Class pg_attribute.
Postgres constructs a tuple using double alignment, but interprets it
using integer alignment.

The fix is to change the alignment to integer in pg_type.

Note that this corrects the problem for new Postgres systems.  Existing
databases already contain the error and it can't easily be repaired because
this very bug prevents updating the class that contains it.

--
Bryan Henderson                                    Phone 408-227-6803
San Jose, California
src/backend/catalog/pg_attribute.h
src/backend/catalog/pg_type.h