diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-01-17 16:25:01 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-01-17 16:25:01 +0000 |
commit | eddbf39756fb7d58f1bdc7582af7d6462410a3e1 (patch) | |
tree | 1b343c3881e76becd153355d2d8f37c3eb277825 /src/backend/commands/dbcommands.c | |
parent | 530b10c719eca63ca212a73aedd6beccda8b46b7 (diff) | |
download | postgresql-eddbf39756fb7d58f1bdc7582af7d6462410a3e1.tar.gz postgresql-eddbf39756fb7d58f1bdc7582af7d6462410a3e1.zip |
Extend yesterday's patch so that the bgwriter is also told to forget
pending fsyncs during DROP DATABASE. Obviously necessary in hindsight :-(
Diffstat (limited to 'src/backend/commands/dbcommands.c')
-rw-r--r-- | src/backend/commands/dbcommands.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 18340481d23..38db4ae3b92 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -13,7 +13,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.189 2007/01/16 13:28:56 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.190 2007/01/17 16:25:01 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -40,6 +40,7 @@ #include "postmaster/bgwriter.h" #include "storage/freespace.h" #include "storage/procarray.h" +#include "storage/smgr.h" #include "utils/acl.h" #include "utils/builtins.h" #include "utils/flatfiles.h" @@ -644,6 +645,12 @@ dropdb(const char *dbname, bool missing_ok) FreeSpaceMapForgetDatabase(db_id); /* + * Tell bgwriter to forget any pending fsync requests for files in the + * database; else it'll fail at next checkpoint. + */ + ForgetDatabaseFsyncRequests(db_id); + + /* * On Windows, force a checkpoint so that the bgwriter doesn't hold any * open files, which would cause rmdir() to fail. */ |