Re: ON COMMIT actions and inheritance
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>, Michael Paquier <michael.paquier@gmail.com>
Date: 2018-11-07T00:53:26Z
Lists: pgsql-hackers
Attachments
- on-commit-inh-v3.patch (text/x-diff) patch v3
On Tue, Nov 06, 2018 at 07:04:17PM +0900, Amit Langote wrote: > Agree with keeping it simple. Maybe, we could (should?) document that the > only ON COMMIT action that works when specified with partitioned parent > table is DROP (other actions are essentially ignored)? I have been thinking about this one, and here are some ideas: - for ON COMMIT DROP: When used on a partitioned table or a table with inheritance children, this drops the depending partitions and children. - for ON DELETE ROWS: When used on a partitioned table, this is not cascaded to its partitions. > Seems fine to me. Thanks for looking at the patch. > + > + /* > + * Truncate relations before dropping so as all dependencies between > > so as -> so that Fixed. > + * relations are removed after they are worked on. This is a waste as it > + * could be possible that a relation truncated needs also to be removed > + * per dependency games but this makes the whole logic more robust and > + * there is no need to re-check that a relation exists afterwards. > + */ > > "afterwords" seems redundant, but may I suggest rewriting the 2nd sentence as: > > Doing it like this might be a waste as it's possible that a relation being > truncated will be dropped anyway due to it's parent being dropped, but > this makes the code more robust because of not having to re-check that the > relation exists. Your comment sounds better, so added. -- Michael
Commits
-
Fix dependency handling of partitions and inheritance for ON COMMIT
- 52ea6a8209d6 10.7 landed
- 84b4a0cf6619 11.2 landed
- 319a8101804f 12.0 landed