Thread

  1. [PATCH] Turn protective Assert() into elog(ERROR)

    Álvaro Herrera <alvherre@kurilemu.de> — 2026-05-01T07:23:09Z

    ---
     src/backend/access/index/genam.c | 10 ++++++----
     1 file changed, 6 insertions(+), 4 deletions(-)
    
    diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
    index 97d44b84622..7d401e3f137 100644
    --- a/src/backend/access/index/genam.c
    +++ b/src/backend/access/index/genam.c
    @@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
     
     	/*
     	 * If this backend promised that it won't access shared catalogs during
    -	 * logical decoding, this it the right place to verify.
    +	 * logical decoding, this is the right place to verify.
     	 */
    -	Assert(!HistoricSnapshotActive() ||
    -		   accessSharedCatalogsInDecoding ||
    -		   !heapRelation->rd_rel->relisshared);
    +	if (HistoricSnapshotActive() &&
    +		!accessSharedCatalogsInDecoding &&
    +		heapRelation->rd_rel->relisshared)
    +		elog(ERROR,
    +			 "cannot access shared catalog with database-specific historic snapshot");
     
     	if (indexOK &&
     		!IgnoreSystemIndexes &&
    -- 
    2.47.3
    
    
    --k6vxbflu22czkb7a--