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.
This commit is contained in:
parent
a3027e1e7f
commit
4131f755d5
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user