Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: error-free disabling of individual child partition


  • From: Simon Riggs <simon(at)2ndquadrant(dot)com>
  • To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • Cc: Csaba Nagy <nagy(at)ecircle-ag(dot)com>, Hannu Krosing <hannu(at)skype(dot)net>, Zeugswetter Andreas DCP SD <ZeugswetterA(at)spardat(dot)at>, Andrew Dunstan <andrew(at)dunslane(dot)net>, April Lorenzen <outboundindex(at)gmail(dot)com>, postgres hackers <pgsql-hackers(at)postgresql(dot)org>
  • Subject: Re: error-free disabling of individual child partition
  • Date: Tue, 23 May 2006 18:48:59 +0100
  • Message-id: <1148406539(dot)2646(dot)896(dot)camel(at)localhost(dot)localdomain>

On Tue, 2006-05-23 at 13:17 -0400, Tom Lane wrote:
> Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
> > - ADD/DROP are opposites; you can use the other one to undo an action
> > taken in haste, error etc
> 
> It's not going to be that easy.  What exactly will happen to the child
> table's attislocal/attinhcount settings, and why, during ADD or DROP?

Never is round here ;-)

attislocal: If you set this to False, you wouldn't be able to set it
back again. If you leave it as it is, you'd never be able to recursively
drop a column. If you change it, you'll never be able to stop someone
from dropping a previously defined local column.
Proposal:  
1. attislocal is not touched. 
That means if you want to create a new partition you do this:

CREATE TABLE newChild () INHERITS (template);

... do some processing ...

ALTER TABLE newChild ADD INHERITS parent;

or this:

CREATE TABLE newChild () INHERITS (parent);
ALTER TABLE newChild DROP INHERITS parent;

... do some processing ...

ALTER TABLE newChild ADD INHERITS parent;

Neither of which I like.

2. attislocal is always set False when an appropriate ADD INHERITS is
actioned. Not ever set back again.

attinhcount changes as appropriate - up for ADDs and down for DROPs.

-- 
  Simon Riggs             
  EnterpriseDB   http://www.enterprisedb.com




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group