aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/clog.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2011-09-28 11:32:38 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2011-10-04 14:03:23 -0300
commit09e196e4539a70c51e828abcfe48dee3efd312d8 (patch)
treea229e227e0e4db185606acafbbd3e8c3c12171aa /src/backend/access/transam/clog.c
parent1a00c0ef5368bb7b8ddcb3cf279df36577918ac4 (diff)
downloadpostgresql-09e196e4539a70c51e828abcfe48dee3efd312d8.tar.gz
postgresql-09e196e4539a70c51e828abcfe48dee3efd312d8.zip
Use callbacks in SlruScanDirectory for the actual action
Previously, the code assumed that the only possible action to take was to delete files behind a certain cutoff point. The async notify code was already a crock: it used a different "pagePrecedes" function for truncation than for regular operation. By allowing it to pass a callback to SlruScanDirectory it can do cleanly exactly what it needs to do. The clog.c code also had its own use for SlruScanDirectory, which is made a bit simpler with this.
Diffstat (limited to 'src/backend/access/transam/clog.c')
-rw-r--r--src/backend/access/transam/clog.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c
index 3a6c39164ce..ee645f7bd47 100644
--- a/src/backend/access/transam/clog.c
+++ b/src/backend/access/transam/clog.c
@@ -606,7 +606,7 @@ TruncateCLOG(TransactionId oldestXact)
cutoffPage = TransactionIdToPage(oldestXact);
/* Check to see if there's any files that could be removed */
- if (!SlruScanDirectory(ClogCtl, cutoffPage, false))
+ if (!SlruScanDirectory(ClogCtl, SlruScanDirCbReportPresence, &cutoffPage))
return; /* nothing to remove */
/* Write XLOG record and flush XLOG to disk */