mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Explain dropdb can't use syscache because of TOAST
Add a comment explaining dropdb() can't rely on syscache. The issue with
flattened rows was fixed by commit 0f92b230f8, but better to have
a clear explanation why the systable scan is necessary. The other places
doing in-place updates on pg_database have the same comment.
Suggestion and patch by Yugo Nagata. Backpatch to 12, same as the fix.
Author: Yugo Nagata
Backpatch-through: 12
Discussion: https://postgr.es/m/CAJTYsWWNkCt+-UnMhg=BiCD3Mh8c2JdHLofPxsW3m2dkDFw8RA@mail.gmail.com
			
			
This commit is contained in:
		@@ -1790,7 +1790,9 @@ dropdb(const char *dbname, bool missing_ok, bool force)
 | 
			
		||||
	pgstat_drop_database(db_id);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Update the database's pg_database tuple
 | 
			
		||||
	 * Get the pg_database tuple to scribble on.  Note that this does not
 | 
			
		||||
	 * directly rely on the syscache to avoid issues with flattened toast
 | 
			
		||||
	 * values for the in-place update.
 | 
			
		||||
	 */
 | 
			
		||||
	ScanKeyInit(&scankey,
 | 
			
		||||
				Anum_pg_database_datname,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user