Re: Errors creating partitioned tables from existing using (LIKE <table>) after renaming table constraints

From: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Stuart <sfbarbee(at)gmail(dot)com>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: Errors creating partitioned tables from existing using (LIKE <table>) after renaming table constraints
Date: 2018-12-17 01:41:07
Message-ID: 3dcf4d65-313c-b629-86f5-8e06ec42d92f@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi,

Thanks for reviewing.

On 2018/12/16 16:27, Michael Paquier wrote:
> On Fri, Dec 14, 2018 at 11:19:16AM +0900, Amit Langote wrote:
>> Thank you for looking. I noticed that the previously posted patch doesn't
>> apply as is to branches before 11, so here are the patches that apply to
>> 9.4 to 10 branches.
>
> When renaming an attribute, renameatt_internal is in charge of
> invalidating the cache by using CacheInvalidateHeapTuple when running
> the catalog update in CatalogTupleUpdate.
>
> For constraint renames, we may finish by using RenameConstraintById or
> RenameRelationInternal. And here the constraint is removed by OID where
> a invalidation happens for the constraint, but not its parent relation.
> In short I agree with your fix and its position, still I think that we
> should add a comment why the invalidation needs to happen, with
> something simple, like "Invalidate relcache so as others can see the new
> constraint name".

Yeah, a comment is indeed needed.

> I'll try to get that committed tomorrow and back-patched appropriately.

Thank you for adding the comment and committing. :)

Regards,
Amit

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2018-12-17 01:51:10 Re: Errors creating partitioned tables from existing using (LIKE <table>) after renaming table constraints
Previous Message Michael Paquier 2018-12-16 07:27:03 Re: Errors creating partitioned tables from existing using (LIKE <table>) after renaming table constraints