mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Close the file descriptor in ApplyLogicalMappingFile
The function was forgetting to close the file descriptor, resulting in failures like this: ERROR: 53000: exceeded maxAllocatedDescs (492) while trying to open file "pg_logical/mappings/map-4000-4eb-1_60DE1E08-5376b5-537c6b" LOCATION: OpenTransientFile, fd.c:2161 Simply close the file at the end, and backpatch to 9.4 (where logical decoding was introduced). While at it, fix a nearby typo. Discussion: https://www.postgresql.org/message-id/flat/738a590a-2ce5-9394-2bef-7b1caad89b37%402ndquadrant.com
This commit is contained in:
		@@ -3278,11 +3278,13 @@ ApplyLogicalMappingFile(HTAB *tuplecid_data, Oid relid, const char *fname)
 | 
			
		||||
			new_ent->combocid = ent->combocid;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	CloseTransientFile(fd);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Check whether the TransactionOId 'xid' is in the pre-sorted array 'xip'.
 | 
			
		||||
 * Check whether the TransactionOid 'xid' is in the pre-sorted array 'xip'.
 | 
			
		||||
 */
 | 
			
		||||
static bool
 | 
			
		||||
TransactionIdInArray(TransactionId xid, TransactionId *xip, Size num)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user