diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-28 17:45:02 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-04-28 17:45:02 -0400 |
commit | 9cb7db3f0c1f554cdcbbd97f78a119a19756e6ef (patch) | |
tree | 0e8c68a72d14e3218264284990de9c3bf768e36f /src/backend/access/transam/xact.c | |
parent | cfffe83ba82021a1819a656e7ec5c28fb3a99152 (diff) | |
download | postgresql-9cb7db3f0c1f554cdcbbd97f78a119a19756e6ef.tar.gz postgresql-9cb7db3f0c1f554cdcbbd97f78a119a19756e6ef.zip |
In AtEOXact_Files, complain if any files remain unclosed at commit.
This change makes this module act more like most of our other low-level
resource management modules. It's a caller error if something is not
explicitly closed by the end of a successful transaction, so issue
a WARNING about it. This would not actually have caught the file leak
bug fixed in commit 231bcd080, because that was in a transaction-abort
path; but it still seems like a good, and pretty cheap, cross-check.
Discussion: https://postgr.es/m/152056616579.4966.583293218357089052@wrigleys.postgresql.org
Diffstat (limited to 'src/backend/access/transam/xact.c')
-rw-r--r-- | src/backend/access/transam/xact.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index c38de0c5fe9..f4e5ea84b99 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -2123,7 +2123,7 @@ CommitTransaction(void) AtEOXact_on_commit_actions(true); AtEOXact_Namespace(true, is_parallel_worker); AtEOXact_SMgr(); - AtEOXact_Files(); + AtEOXact_Files(true); AtEOXact_ComboCid(); AtEOXact_HashTables(true); AtEOXact_PgStat(true); @@ -2401,7 +2401,7 @@ PrepareTransaction(void) AtEOXact_on_commit_actions(true); AtEOXact_Namespace(true, false); AtEOXact_SMgr(); - AtEOXact_Files(); + AtEOXact_Files(true); AtEOXact_ComboCid(); AtEOXact_HashTables(true); /* don't call AtEOXact_PgStat here; we fixed pgstat state above */ @@ -2603,7 +2603,7 @@ AbortTransaction(void) AtEOXact_on_commit_actions(false); AtEOXact_Namespace(false, is_parallel_worker); AtEOXact_SMgr(); - AtEOXact_Files(); + AtEOXact_Files(false); AtEOXact_ComboCid(); AtEOXact_HashTables(false); AtEOXact_PgStat(false); |