Remove smgrdounlink() in smgr.c from the code tree
The last caller of this routine was removed in b416691, and as a wise man said one day, dead code tends to silently break. Per discussion between Fujii Masao, Peter Geoghegan, Vignesh C and me. Reported-by: Peter Geoghegan Discussion: https://postgr.es/m/CAH2-Wz=sg5H8-vG4d5UmAofdcRMpeTDt2K-NUWp4GSfhenRGAQ@mail.gmail.com
This commit is contained in:
parent
9356e43544
commit
e111c9f90a
@ -335,59 +335,6 @@ smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo)
|
|||||||
smgrsw[reln->smgr_which].smgr_create(reln, forknum, isRedo);
|
smgrsw[reln->smgr_which].smgr_create(reln, forknum, isRedo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* smgrdounlink() -- Immediately unlink all forks of a relation.
|
|
||||||
*
|
|
||||||
* All forks of the relation are 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(s) to be gone
|
|
||||||
* already.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
smgrdounlink(SMgrRelation reln, bool isRedo)
|
|
||||||
{
|
|
||||||
RelFileNodeBackend rnode = reln->smgr_rnode;
|
|
||||||
int which = reln->smgr_which;
|
|
||||||
ForkNumber forknum;
|
|
||||||
|
|
||||||
/* Close the forks at smgr level */
|
|
||||||
for (forknum = 0; forknum <= MAX_FORKNUM; forknum++)
|
|
||||||
smgrsw[which].smgr_close(reln, forknum);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Get rid of any remaining buffers for the relation. bufmgr will just
|
|
||||||
* drop them without bothering to write the contents.
|
|
||||||
*/
|
|
||||||
DropRelFileNodesAllBuffers(&rnode, 1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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, InvalidForkNumber, isRedo);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* smgrdosyncall() -- Immediately sync all forks of all given relations
|
* smgrdosyncall() -- Immediately sync all forks of all given relations
|
||||||
*
|
*
|
||||||
@ -432,9 +379,6 @@ smgrdosyncall(SMgrRelation *rels, int nrels)
|
|||||||
*
|
*
|
||||||
* If isRedo is true, it is okay for the underlying file(s) to be gone
|
* If isRedo is true, it is okay for the underlying file(s) to be gone
|
||||||
* already.
|
* already.
|
||||||
*
|
|
||||||
* This is equivalent to calling smgrdounlink for each relation, but it's
|
|
||||||
* significantly quicker so should be preferred when possible.
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo)
|
smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo)
|
||||||
|
@ -88,7 +88,6 @@ extern void smgrclose(SMgrRelation reln);
|
|||||||
extern void smgrcloseall(void);
|
extern void smgrcloseall(void);
|
||||||
extern void smgrclosenode(RelFileNodeBackend rnode);
|
extern void smgrclosenode(RelFileNodeBackend rnode);
|
||||||
extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
|
extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo);
|
||||||
extern void smgrdounlink(SMgrRelation reln, bool isRedo);
|
|
||||||
extern void smgrdosyncall(SMgrRelation *rels, int nrels);
|
extern void smgrdosyncall(SMgrRelation *rels, int nrels);
|
||||||
extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo);
|
extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo);
|
||||||
extern void smgrextend(SMgrRelation reln, ForkNumber forknum,
|
extern void smgrextend(SMgrRelation reln, ForkNumber forknum,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user