]> granicus.if.org Git - postgresql/commit
Here's a patch for Versions 1 and 2 that fixes the following bug:
authorMarc G. Fournier <scrappy@hub.org>
Wed, 21 Aug 1996 04:25:49 +0000 (04:25 +0000)
committerMarc G. Fournier <scrappy@hub.org>
Wed, 21 Aug 1996 04:25:49 +0000 (04:25 +0000)
commit5e773a4f70dd07d57e07cfbc856e7822dc6defdc
treec3f48a6caf8e9130a107c84589f9f6c675c2224e
parent93ad36fdc2b7ebe3147cb0003e14d9832ef4543e
Here's a patch for Versions 1 and 2 that fixes the following bug:

When you try to do any UPDATE of the catalog class pg_class, such as
to change ownership of a class, the backend crashes.

This is really two serial bugs: 1) there is a hardcoded copy of the
schema of pg_class in the postgres program, and it doesn't match the
actual class that initdb creates in the database; 2) Parts of postgres
determine whether to pass an attribute value by value or by reference
based on the attbyval attribute of the attribute in class
pg_attribute.  Other parts of postgres have it hardcoded.  For the
relacl[] attribute in class pg_class, attbyval does not match the
hardcoded expectation.

The fix is to correct the hardcoded schema for pg_attribute and to
change the fetchatt macro so it ignores attbyval for all variable
length attributes.  The fix also adds a bunch of logic documentation and
extends genbki.sh so it allows source files to contain such documentation.

--
Bryan Henderson                                    Phone 408-227-6803
San Jose, California
src/backend/access/tupmacs.h
src/backend/catalog/genbki.sh
src/backend/catalog/pg_attribute.h
src/backend/catalog/pg_class.h