Re: [BUG] failed assertion in EnsurePortalSnapshotExists()

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Drouvot, Bertrand" <bdrouvot@amazon.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Ranier Vilela <ranier.vf@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-09-29T20:11:58Z
Lists: pgsql-hackers
"Drouvot, Bertrand" <bdrouvot@amazon.com> writes:
> But make check is now failing on join_hash.sql, I have been able to 
> repro with:

Oh, duh, should have thought a bit harder.  createSubid is a sequential
subtransaction number; it's not the same as the as_level nesting level.

Probably the most effective way to handle this is to add a subtransaction
nesting-level field to struct Portal, so we can pass that.  I don't recall
that xact.c provides any easy way to extract the nesting level of a
subtransaction that's not the most closely nested one.

			regards, tom lane



Commits

  1. Fix Portal snapshot tracking to handle subtransactions properly.