mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Ensure pg_filenode_relation(0, 0) returns NULL.
Previously, a zero value for the relfilenode resulted in a confusing error message about "unexpected duplicate". This function returns NULL for other invalid relfilenode values, so zero should be treated likewise. It's been like this all along, so back-patch to all supported branches. Justin Pryzby Discussion: https://postgr.es/m/20210612023324.GT16435@telsasoft.com
This commit is contained in:
		@@ -921,7 +921,11 @@ pg_filenode_relation(PG_FUNCTION_ARGS)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	Oid			reltablespace = PG_GETARG_OID(0);
 | 
						Oid			reltablespace = PG_GETARG_OID(0);
 | 
				
			||||||
	Oid			relfilenode = PG_GETARG_OID(1);
 | 
						Oid			relfilenode = PG_GETARG_OID(1);
 | 
				
			||||||
	Oid			heaprel = InvalidOid;
 | 
						Oid			heaprel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* test needed so RelidByRelfilenode doesn't misbehave */
 | 
				
			||||||
 | 
						if (!OidIsValid(relfilenode))
 | 
				
			||||||
 | 
							PG_RETURN_NULL();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	heaprel = RelidByRelfilenode(reltablespace, relfilenode);
 | 
						heaprel = RelidByRelfilenode(reltablespace, relfilenode);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user