Re: BUG #15437: Segfault during insert into declarative partitioned table with a trigger creating partition
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, skaurus@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2018-10-29T06:57:14Z
Lists: pgsql-bugs
On Mon, Oct 29, 2018 at 02:28:53PM +0900, Amit Langote wrote: > On 2018/10/29 12:31, Michael Paquier wrote: >> In the case of a partition, the execution state relies on the data >> inserted, so the restriction sounds fine to me. If one tries to attach >> a partition after creating a table you actually get an error: >> ERROR: 55006: cannot ALTER TABLE "check_not_in_use" because it is being >> used by active queries in this session >> CONTEXT: SQL statement "alter table check_not_in_use attach partition >> check_not_in_use1 for values IN (1);" > > Yeah, I forgot to include this example in my previous emails. We may want to add a new test for this one in the same spirit as what has been sent in the previous patch. >> Other callers of CheckTableNotInUse() use command tags, which is >> inconsistent here, still I cannot think of anything better than >> CREATE TABLE "%s" PARTITION OF >> or: >> CREATE TABLE .. PARTITION OF > > Maybe the latter is fine, because we want to highlight the parent table's > name, not partition's. Fine by me. -- Michael
Commits
-
Block creation of partitions with open references to its parent
- 8aad248f7c67 10.6 landed
- 7c222d5e56cc 11.1 landed
- dc3e436b191a 12.0 landed