Re: BETWEEN Node & DROP COLUMN - Mailing list pgsql-hackers

From Tom Lane
Subject Re: BETWEEN Node & DROP COLUMN
Date
Msg-id 7302.1025834839@sss.pgh.pa.us
Whole thread Raw
In response to Re: BETWEEN Node & DROP COLUMN  ("Christopher Kings-Lynne" <chriskl@familyhealth.com.au>)
Responses Re: BETWEEN Node & DROP COLUMN  ("Christopher Kings-Lynne" <chriskl@familyhealth.com.au>)
List pgsql-hackers
"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes:
> Thanks Bruce, but I think I've got it sorted now.  One weird thing is that
> although I added it as being false in pg_attribute.h, I get these tuples
> having attisdropped set to true by initdb.

It sounds to me like you've failed to make sure that the field is
initialized properly when a pg_attribute row is dynamically created.
Let's see... did you fix the static FormData_pg_attribute rows near
the top of heap.c?  Does TupleDescInitEntry() know about initializing
the field?  (I wonder why it doesn't memset() the whole row to zero
anyway...)

pg_attribute is very possibly the most ticklish system catalog
to add a column to.  I'd suggest looking through every single use of
some other pg_attribute column, perhaps attstattarget or attnotnull,
to make sure you're initializing attisdropped everywhere it should be.
        regards, tom lane




pgsql-hackers by date:

Previous
From: "Christopher Kings-Lynne"
Date:
Subject: Re: BETWEEN Node & DROP COLUMN
Next
From: "Christopher Kings-Lynne"
Date:
Subject: Re: BETWEEN Node & DROP COLUMN