aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/smgr/smgr.c55
-rw-r--r--src/include/storage/smgr.h1
2 files changed, 0 insertions, 56 deletions
diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c
index b0d9f21e688..5b5a80e8900 100644
--- a/src/backend/storage/smgr/smgr.c
+++ b/src/backend/storage/smgr/smgr.c
@@ -343,9 +343,6 @@ smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo)
*
* If isRedo is true, it is okay for the underlying file(s) to be gone
* already.
- *
- * This is equivalent to calling smgrdounlinkfork for each fork, but
- * it's significantly quicker so should be preferred when possible.
*/
void
smgrdounlink(SMgrRelation reln, bool isRedo)
@@ -473,58 +470,6 @@ smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo)
}
/*
- * smgrdounlinkfork() -- Immediately unlink one fork of a relation.
- *
- * The specified fork of the relation is removed from the store. This
- * should not be used during transactional operations, since it can't be
- * undone.
- *
- * If isRedo is true, it is okay for the underlying file to be gone
- * already.
- */
-void
-smgrdounlinkfork(SMgrRelation reln, ForkNumber forknum, bool isRedo)
-{
- RelFileNodeBackend rnode = reln->smgr_rnode;
- int which = reln->smgr_which;
-
- /* Close the fork at smgr level */
- smgrsw[which].smgr_close(reln, forknum);
-
- /*
- * Get rid of any remaining buffers for the fork. bufmgr will just drop
- * them without bothering to write the contents.
- */
- DropRelFileNodeBuffers(rnode, forknum, 0);
-
- /*
- * It'd be nice to tell the stats collector to forget it immediately, too.
- * But we can't because we don't know the OID (and in cases involving
- * relfilenode swaps, it's not always clear which table OID to forget,
- * anyway).
- */
-
- /*
- * Send a shared-inval message to force other backends to close any
- * dangling smgr references they may have for this rel. We should do this
- * before starting the actual unlinking, in case we fail partway through
- * that step. Note that the sinval message will eventually come back to
- * this backend, too, and thereby provide a backstop that we closed our
- * own smgr rel.
- */
- CacheInvalidateSmgr(rnode);
-
- /*
- * Delete the physical file(s).
- *
- * Note: smgr_unlink must treat deletion failure as a WARNING, not an
- * ERROR, because we've already decided to commit or abort the current
- * xact.
- */
- smgrsw[which].smgr_unlink(rnode, forknum, isRedo);
-}
-
-/*
* smgrextend() -- Add a new block to a file.
*
* The semantics are nearly the same as smgrwrite(): write at the
diff --git a/src/include/storage/smgr.h b/src/include/storage/smgr.h
index d286c8c7b11..7393727a4b2 100644
--- a/src/include/storage/smgr.h
+++ b/src/include/storage/smgr.h
@@ -90,7 +90,6 @@ extern void smgrclosenode(RelFileNodeBackend rnode);
extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
extern void smgrdounlink(SMgrRelation reln, bool isRedo);
extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo);
-extern void smgrdounlinkfork(SMgrRelation reln, ForkNumber forknum, bool isRedo);
extern void smgrextend(SMgrRelation reln, ForkNumber forknum,
BlockNumber blocknum, char *buffer, bool skipFsync);
extern void smgrprefetch(SMgrRelation reln, ForkNumber forknum,