@@ -137,8 +137,7 @@ static void mdunlinkfork(RelFileLocatorBackend rlocator, ForkNumber forknum,
137
137
static MdfdVec * mdopenfork (SMgrRelation reln , ForkNumber forknum , int behavior );
138
138
static void register_dirty_segment (SMgrRelation reln , ForkNumber forknum ,
139
139
MdfdVec * seg );
140
- static void register_unlink_segment (RelFileLocatorBackend rlocator , ForkNumber forknum ,
141
- BlockNumber segno );
140
+ static void register_unlink_tombstone (RelFileLocatorBackend rlocator );
142
141
static void register_forget_request (RelFileLocatorBackend rlocator , ForkNumber forknum ,
143
142
BlockNumber segno );
144
143
static void _fdvec_resize (SMgrRelation reln ,
@@ -410,7 +409,7 @@ mdunlinkfork(RelFileLocatorBackend rlocator, ForkNumber forknum, bool isRedo)
410
409
411
410
/* Register request to unlink first segment later */
412
411
save_errno = errno ;
413
- register_unlink_segment (rlocator , forknum , 0 /* first seg */ );
412
+ register_unlink_tombstone (rlocator );
414
413
errno = save_errno ;
415
414
}
416
415
@@ -1532,15 +1531,16 @@ register_dirty_segment(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg)
1532
1531
}
1533
1532
1534
1533
/*
1535
- * register_unlink_segment() -- Schedule a file to be deleted after next checkpoint
1534
+ * register_unlink_tombstone()
1535
+ *
1536
+ * Schedule a file to be deleted after next checkpoint
1536
1537
*/
1537
1538
static void
1538
- register_unlink_segment (RelFileLocatorBackend rlocator , ForkNumber forknum ,
1539
- BlockNumber segno )
1539
+ register_unlink_tombstone (RelFileLocatorBackend rlocator )
1540
1540
{
1541
1541
FileTag tag ;
1542
1542
1543
- INIT_MD_FILETAG (tag , rlocator .locator , forknum , segno );
1543
+ INIT_MD_FILETAG (tag , rlocator .locator , MAIN_FORKNUM , 0 );
1544
1544
1545
1545
/* Should never be used with temp relations */
1546
1546
Assert (!RelFileLocatorBackendIsTemp (rlocator ));
@@ -1933,6 +1933,9 @@ mdunlinkfiletag(const FileTag *ftag, char *path)
1933
1933
{
1934
1934
RelPathStr p ;
1935
1935
1936
+ /* We only unlink tombstone files through this mechanism */
1937
+ Assert (ftag -> forknum == MAIN_FORKNUM && ftag -> segno == 0 );
1938
+
1936
1939
/* Compute the path. */
1937
1940
p = relpathperm (ftag -> rlocator , MAIN_FORKNUM );
1938
1941
strlcpy (path , p .str , MAXPGPATH );
0 commit comments