Re: BUG #16276: Server crash on an invalid attempt to attach a partition to an index

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Amit Langote <amitlangote09(at)gmail(dot)com>
Cc: exclusion(at)gmail(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Subject: Re: BUG #16276: Server crash on an invalid attempt to attach a partition to an index
Date: 2020-03-03 05:01:22
Message-ID: 20200303050122.GG32059@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Mar 02, 2020 at 07:39:44PM +0900, Amit Langote wrote:
> Done, please see attached.

Thanks. There are actually some safeguards in ATPrepCmd()@tablecmds.c
when calling ATSimplePermissions(). However, as this is checked for
both (ATT_TABLE | ATT_PARTITIONED_INDEX) then it would not blow up as
ALTER INDEX and ALTER TABLE use the same code path. Using DETACH
partition triggers this code path's error though, making the hint
added in your patch actually correct.

So, applied this stuff down to 11, with test cases on all branches. I
have added a test case with ALTER TABLE DETACH PARTITION for an index
while on it. As the error is triggered at transformation time which
is a tad more generic than the work done in tablecmds.c for each
command, I have also removed the error hint and kept the code
simpler.
--
Michael

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Amit Kapila 2020-03-03 10:26:15 Re: ERROR: subtransaction logged without previous top-level txn record
Previous Message Alvaro Herrera 2020-03-03 01:39:36 Re: BUG #16285: bt_metap fails with value is out of range for type integer