提交 3b9ef4d0 编写于 作者: B Bruce Momjian

Change mdtruncate to truncate and not unlink.

Hiroshi Inoue
上级 d852d31e
......@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.44 1999/05/25 16:11:30 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.45 1999/06/11 02:39:43 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -711,27 +711,14 @@ mdtruncate(Relation reln, int nblocks)
MdfdVec *v;
#ifndef LET_OS_MANAGE_FILESIZE
int curnblk,
i,
oldsegno,
newsegno;
char fname[NAMEDATALEN];
char tname[NAMEDATALEN + 10];
int curnblk;
curnblk = mdnblocks(reln);
oldsegno = curnblk / RELSEG_SIZE;
newsegno = nblocks / RELSEG_SIZE;
StrNCpy(fname, RelationGetRelationName(reln)->data, NAMEDATALEN);
if (newsegno < oldsegno)
if (curnblk / RELSEG_SIZE > 0)
{
for (i = (newsegno + 1);; i++)
{
sprintf(tname, "%s.%d", fname, i);
if (FileNameUnlink(tname) < 0)
break;
}
elog(NOTICE, "Can't truncate multi-segments relation %s",
reln->rd_rel->relname.data);
return curnblk;
}
#endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册