Re: Dropping partitioned table drops a previously detached partition
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
From: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
To: Rahila Syed <rahilasyed90@gmail.com>
Cc: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-06-14T05:02:57Z
Lists: pgsql-hackers
On Wed, Jun 14, 2017 at 10:21 AM, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> wrote: > On Tue, Jun 13, 2017 at 7:14 PM, Rahila Syed <rahilasyed90@gmail.com> wrote: >> I reviewed and tested >> 0001-Dependency-between-partitioned-table-and-partition_v1.patch >> It applies cleanly on master and make check passes. >> >> Following are few comments: >> >>>/* >>> * Drop the dependency created by StoreCatalogInheritance1 (CREATE TABLE >>> * INHERITS/ALTER TABLE INHERIT -- refclassid will be RelationRelationId) >>> or >>> * heap_create_with_catalog (CREATE TABLE OF/ALTER TABLE OF -- refclassid >>> will >>> * be TypeRelationId). There's no convenient way to do this, so go >>> trawling >>> * through pg_depend. >>> */ >>>static void >>>drop_parent_dependency(Oid relid, Oid refclassid, Oid refobjid, >> DependencyType deptype) >> >> This is not directly related to this patch but still would like to mention. >> drop_parent_dependency() is being used to drop the dependency created >> by CREATE TABLE PARTITION OF command also, so probably the comment >> needs to be modified to reflect that. >> > > The comment is fine for dependency created by CREATE TABLE PARTITION > OF since that too goes through StoreCatalogInheritance1(). But it's > not correct for CREATE TABLE ... OF <composite type> since that does > not go through StoreCatalogInheritance1(). > I missed "or" part of the prologue while writing this. Now that I have read it carefully, the prologue looks good to me. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company
Commits
-
Fix failure to remove dependencies when a partition is detached.
- ee252f074b88 10.0 landed