Re: [GENERAL] adding a nullable col could rewrite the whole table?

2009-08-14 Thread Sam Mason
On Fri, Aug 14, 2009 at 12:37:14PM +, Scara Maccai wrote:
 I'm asking because since the page layout includes a null bitmap that
 If it is present it begins just after the fixed header and occupies
 enough bytes to have one bit per data column, I guess that when all
 the bits in the bitmap are used when I add a column (even a nullable
 one) the table gets rewritten (to add a new byte to the nullable
 bitmap); is this true?

Sort of; there is indeed a null bitmap saying which columns are null.
But there's also a number saying how many columns there are and hence
each row knows if a new column is going to be off the end and means it
doesn't need to rewrite the table when adding a new NULLable column.

I made a suggestion about how to generalize this to non-NULLable columns
with a default value, but haven't written any code to make it do this
yet.

-- 
  Sam  http://samason.me.uk/

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] adding a nullable col could rewrite the whole table?

2009-08-14 Thread Scara Maccai
 are null.
 But there's also a number saying how many columns there are

Uh, thank you.

Looking for t_natts I think I've found the discussion:

http://archives.free.net.ph/message/20090521.144512.3ffe4801.en.html


Thank you again.




-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general