*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.63 2000/01/26 05:57:05 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.64 2000/02/07 02:38:18 inoue Exp $
*
*-------------------------------------------------------------------------
*/
*/
if (reln->rd_unlinked && reln->rd_fd < 0)
return SM_SUCCESS;
- /*
- * This call isn't good for independency of md stuff,but
- * mdunlink() unlinks the base file immediately and couldn't
- * be rollbacked in case of abort. We must guarantee all
- * backends' relation cache invalidation here.
- * This would be unnecessary if unlinking is postponed
- * till end of transaction.
- */
- ImmediateSharedRelationCacheInvalidate(reln);
/*
* Force all segments of the relation to be opened, so that we
* won't miss deleting any of them.
#ifndef LET_OS_MANAGE_FILESIZE
MemoryContext oldcxt;
int priorblocks;
- bool invalregistered = false;
#endif
/* NOTE: mdnblocks makes sure we have opened all existing segments,
* a big file...
*/
FileTruncate(v->mdfd_vfd, 0);
- /*
- * To call ImmediateSharedRelationCacheInvalidate() here
- * isn't good for independency of md stuff,but smgrunlink()
- * removes the base file immediately and couldn't be
- * rollbacked in case of abort. We must guarantee
- * all backends' relation cache invalidation here.
- * This would be unnecessary if the truncation is postponed
- * till end of transaction.
- */
- if (!invalregistered)
- {
- ImmediateSharedRelationCacheInvalidate(reln);
- invalregistered = true;
- }
FileUnlink(v->mdfd_vfd);
v = v->mdfd_chain;
Assert(ov != &Md_fdvec[fd]); /* we never drop the 1st segment */