Remove ugly call ImmediateSharedRelationCacheInvalidate()
from md.c.
This commit is contained in:
parent
4acf890948
commit
7d738f9586
|
@ -8,7 +8,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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 $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -205,15 +205,6 @@ mdunlink(Relation reln)
|
||||||
*/
|
*/
|
||||||
if (reln->rd_unlinked && reln->rd_fd < 0)
|
if (reln->rd_unlinked && reln->rd_fd < 0)
|
||||||
return SM_SUCCESS;
|
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
|
* Force all segments of the relation to be opened, so that we
|
||||||
* won't miss deleting any of them.
|
* won't miss deleting any of them.
|
||||||
|
@ -786,7 +777,6 @@ mdtruncate(Relation reln, int nblocks)
|
||||||
#ifndef LET_OS_MANAGE_FILESIZE
|
#ifndef LET_OS_MANAGE_FILESIZE
|
||||||
MemoryContext oldcxt;
|
MemoryContext oldcxt;
|
||||||
int priorblocks;
|
int priorblocks;
|
||||||
bool invalregistered = false;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* NOTE: mdnblocks makes sure we have opened all existing segments,
|
/* NOTE: mdnblocks makes sure we have opened all existing segments,
|
||||||
|
@ -818,20 +808,6 @@ mdtruncate(Relation reln, int nblocks)
|
||||||
* a big file...
|
* a big file...
|
||||||
*/
|
*/
|
||||||
FileTruncate(v->mdfd_vfd, 0);
|
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);
|
FileUnlink(v->mdfd_vfd);
|
||||||
v = v->mdfd_chain;
|
v = v->mdfd_chain;
|
||||||
Assert(ov != &Md_fdvec[fd]); /* we never drop the 1st segment */
|
Assert(ov != &Md_fdvec[fd]); /* we never drop the 1st segment */
|
||||||
|
|
Loading…
Reference in New Issue