Re: BUG #15565: truncate bug with tables which have temp table inherited
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Michael Paquier <michael@paquier.xyz>, digoal@126.com,
pgsql-bugs@lists.postgresql.org
Date: 2018-12-25T00:52:55Z
Lists: pgsql-bugs
On 2018/12/25 9:45, Michael Paquier wrote: > On Mon, Dec 24, 2018 at 09:17:46AM +0000, PG Bug reporting form wrote: >> create table public.a (id int); >> create temp table a (like public.a) inherits(public.a); > > This issue is way older than 11. > > A couple of months ago there has been a discussion about mixing > temporary and permanent tables in a partition tree: > https://www.postgresql.org/message-id/CAKJS1f94Ojk0og9GMkRHGt8wHTW=ijq5KzJKuoBoqWLwSVwGmw@mail.gmail.com > > The conclusion of this time was that we don't want to allow mixing > relations with different persistencies in the same tree for > partitions because those rely on relation cache lookups for their > description (PartitionDesc), however inheritance trees have been able > to accidently work this way for a long time. This shares a little bit > of history with this report as partition trees and inheritance share > the same lookups at pg_inherits. > > So there could be an argument to restrict the definition of > inheritance trees with trees mixing relation persistencies. > > It is hard to say as well that truncate silently bypasses the > truncation of a temporary relation from another session if a given > session wants to truncate a whole tree. Hmm, why don't we just ignore them like queries do? Thanks, Amit
Commits
-
Ignore inherited temp relations from other sessions when truncating
- 1d7007671051 9.4.21 landed
- 0a323ae67699 9.5.16 landed
- 285abc8df4d7 9.6.12 landed
- d4486700b583 10.7 landed
- b30b9dce1f40 11.2 landed
- 1e504f01da11 12.0 landed