Re: Partition Check not updated when insert into a partition
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-08-27T09:20:11Z
Lists: pgsql-hackers
Attachments
- v3-0001-Invalidate-partitions-of-table-being-attached-det.patch (application/octet-stream) patch v3-0001
On Thu, Aug 5, 2021 at 11:32 AM Amit Langote <amitlangote09@gmail.com> wrote: > On Wed, Jul 14, 2021 at 11:16 AM houzj.fnst@fujitsu.com > > On Tuesday, July 13, 2021 2:52 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > > > Did you have a misbehaving test for the ATTACH case? > > > > Thanks for the response. > > Thank you both. > > > Yes, I think the following example of ATTACH doesn't work as expected. > > Yeah, need the fix for the ATTACH case too. > > Couple more things: > > * We must invalidate not just the "direct" partitions of the table > being attached/detached, but also any indirect ones, because all of > their partition constraints would need to contain (or no longer > contain) the root parent's partition constraint. > > * I think we should lock the partitions before sending the > invalidation. The ATTACH code already locks the descendents for a > different purpose, but DETACH doesn't, so the latter needs to be fixed > to match. > > I've updated Alvaro's patch to address these points. Maybe, we should > also add these cases to the regression and isolation suites? Apparently, I had posted a version of the patch that didn't even compile. I have fixed that in the attached and also added regression tests. Adding this to the next CF. -- Amit Langote EDB: http://www.enterprisedb.com
Commits
-
Invalidate partitions of table being attached/detached
- fe35528a5ed6 13.5 landed
- d6f1e16c8fe2 15.0 landed
- d36bdc4e9d3e 10.19 landed
- b703b7d312a7 11.14 landed
- 8b26be8a32c3 12.9 landed
- 72d064217257 14.1 landed