Re: BUG #15437: Segfault during insert into declarative partitioned table with a trigger creating partition
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: skaurus@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2018-10-19T02:52:51Z
Lists: pgsql-bugs
Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> writes: > On 2018/10/18 20:57, PG Bug reporting form wrote: >> I tried to use declarative partitioning and, to avoid creating partitions by >> hand, to make them in ON BEFORE STATEMENT trigger. Trigger executes >> successfully (proved that with RAISE NOTICE), but server crashes. > The problem here is with the server allowing to create a partition of the > table being inserted into, inside the table's BEFORE INSERT trigger. > Generally speaking, the command that's run inside the trigger shouldn't > have been allowed to proceed if it might change the table's properties > that the execution of the ongoing command is depending upon. Check. > I propose the attached to fix that. Hmm ... I wonder if we shouldn't do CheckTableNotInUse for *both* cases, is_partition or no? regards, tom lane
Commits
-
Block creation of partitions with open references to its parent
- 8aad248f7c67 10.6 landed
- 7c222d5e56cc 11.1 landed
- dc3e436b191a 12.0 landed