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 0f92b230f88b, 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:
parent
23c200940e
commit
e498d22e21
@ -1663,7 +1663,9 @@ dropdb(const char *dbname, bool missing_ok, bool force)
|
|||||||
pgstat_drop_database(db_id);
|
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,
|
ScanKeyInit(&scankey,
|
||||||
Anum_pg_database_datname,
|
Anum_pg_database_datname,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user