Skip to content

Commit 5cb902e

Browse files
committed
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 0f92b23, 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
1 parent 4fdb655 commit 5cb902e

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/backend/commands/dbcommands.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1790,7 +1790,9 @@ dropdb(const char *dbname, bool missing_ok, bool force)
17901790
pgstat_drop_database(db_id);
17911791

17921792
/*
1793-
* Update the database's pg_database tuple
1793+
* Get the pg_database tuple to scribble on. Note that this does not
1794+
* directly rely on the syscache to avoid issues with flattened toast
1795+
* values for the in-place update.
17941796
*/
17951797
ScanKeyInit(&scankey,
17961798
Anum_pg_database_datname,

0 commit comments

Comments
 (0)