Content-Length: 267614 | pFad | http://github.com/postgrespro/postgres/commit/4131f755d548f74eba56285dc674f1f26e4ed6b4

18 Repair find_inheritance_children with no active snapshot · postgrespro/postgres@4131f75 · GitHub
Skip to content

Commit 4131f75

Browse files
committed
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.
1 parent a3027e1 commit 4131f75

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/backend/catalog/pg_inherits.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,13 @@ find_inheritance_children(Oid parentrelId, bool include_detached,
106106
*
107107
* The reason for this check is that we want to avoid seeing the
108108
* partition as alive in RI queries during REPEATABLE READ or
109-
* SERIALIZABLE transactions.
109+
* SERIALIZABLE transactions. (If there's no active snapshot set,
110+
* that means we're not running a user query, so it's OK to always
111+
* include detached partitions in that case.)
110112
*/
111113
if (((Form_pg_inherits) GETSTRUCT(inheritsTuple))->inhdetachpending &&
112-
!include_detached)
114+
!include_detached &&
115+
ActiveSnapshotSet())
113116
{
114117
TransactionId xmin;
115118
Snapshot snap;

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/postgrespro/postgres/commit/4131f755d548f74eba56285dc674f1f26e4ed6b4

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy