Re: BUG #15565: truncate bug with tables which have temp table inherited

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: David Rowley <david.rowley@2ndquadrant.com>
Cc: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, digoal@126.com, pgsql-bugs@lists.postgresql.org, PG Bug reporting form <noreply@postgresql.org>
Date: 2018-12-25T08:03:14Z
Lists: pgsql-bugs
On Tue, Dec 25, 2018 at 08:27:19PM +1300, David Rowley wrote:
> I glanced at this and was confused at where "newrelation" comes from
> and also the single parameter heap_close(). It does not look like it
> would compile.

Nope, it doesn't.  heap_close ought to not normally release the lock
either until the transaction has committed.  The patch clobbers
something that truncate_check_activity() already checks, which is not
elegant.  I am wondering as well if we could take this occasion for
having better isolation testing when it comes to inheritance trees
mixing relation persistency.  At least for the TRUNCATE case it would
be nice to have something.
--
Michael

Commits

  1. Ignore inherited temp relations from other sessions when truncating