Commit 4131f755 authored by Alvaro Herrera's avatar Alvaro Herrera

Repair find_inheritance_children with no active snapshot

When working on a scan with only a catalog snapshot, we may not have an
ActiveSnapshot set.  If we were to come across a detached partition,
that would cause a crash.  Fix by only ignoring detached partitions when
there's an active snapshot.
parent a3027e1e
......@@ -106,10 +106,13 @@ find_inheritance_children(Oid parentrelId, bool include_detached,
*
* The reason for this check is that we want to avoid seeing the
* partition as alive in RI queries during REPEATABLE READ or
* SERIALIZABLE transactions.
* SERIALIZABLE transactions. (If there's no active snapshot set,
* that means we're not running a user query, so it's OK to always
* include detached partitions in that case.)
*/
if (((Form_pg_inherits) GETSTRUCT(inheritsTuple))->inhdetachpending &&
!include_detached)
!include_detached &&
ActiveSnapshotSet())
{
TransactionId xmin;
Snapshot snap;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment