mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Fix StatisticsObjIsVisibleExt() for pg_temp.
Neighbor get_statistics_object_oid() ignores objects in pg_temp, as has
been the standard for non-relation, non-type namespace searches since
CVE-2007-2138.  Hence, most operations that name a statistics object
correctly decline to map an unqualified name to a statistics object in
pg_temp.  StatisticsObjIsVisibleExt() did not.  Consequently,
pg_statistics_obj_is_visible() wrongly returned true for such objects,
psql \dX wrongly listed them, and getObjectDescription()-based ereport()
and pg_describe_object() wrongly omitted namespace qualification.  Any
malfunction beyond that would depend on how a human or application acts
on those wrong indications.  Commit
d99d58cdc8 introduced this.  Back-patch to
v13 (all supported versions).
Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
Discussion: https://postgr.es/m/20250920162116.2e.nmisch@google.com
Backpatch-through: 13
			
			
This commit is contained in:
		@@ -2316,6 +2316,9 @@ StatisticsObjIsVisible(Oid relid)
 | 
			
		||||
		{
 | 
			
		||||
			Oid			namespaceId = lfirst_oid(l);
 | 
			
		||||
 | 
			
		||||
			if (namespaceId == myTempNamespace)
 | 
			
		||||
				continue;		/* do not look in temp namespace */
 | 
			
		||||
 | 
			
		||||
			if (namespaceId == stxnamespace)
 | 
			
		||||
			{
 | 
			
		||||
				/* Found it first in path */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user