aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/dbcommands.c
diff options
context:
space:
mode:
authorTomas Vondra <tomas.vondra@postgresql.org>2024-08-19 13:31:51 +0200
committerTomas Vondra <tomas.vondra@postgresql.org>2024-08-19 13:47:07 +0200
commit3acbe198e2ad0f7d790d04f87c662ee26738536a (patch)
treefa2173fddc646d7ecb32cf87c8cc405f2ff4ce29 /src/backend/commands/dbcommands.c
parent8cea8c023edfc8ab8eadd4e68a9686727f494aaf (diff)
downloadpostgresql-3acbe198e2ad0f7d790d04f87c662ee26738536a.tar.gz
postgresql-3acbe198e2ad0f7d790d04f87c662ee26738536a.zip
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
Diffstat (limited to 'src/backend/commands/dbcommands.c')
-rw-r--r--src/backend/commands/dbcommands.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index 7302e872939..064e166b1b4 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -962,7 +962,9 @@ dropdb(const char *dbname, bool missing_ok, bool force)
dropDatabaseDependencies(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,