mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
WAL
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.88 2000/10/20 11:01:07 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.89 2000/10/21 15:43:27 vadim Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -609,7 +609,7 @@ BufferAlloc(Relation reln,
|
||||
}
|
||||
|
||||
/* record the database name and relation name for this buffer */
|
||||
strcpy(buf->blind.dbname, DatabaseName);
|
||||
strcpy(buf->blind.dbname, (DatabaseName) ? DatabaseName : "Recovery");
|
||||
strcpy(buf->blind.relname, RelationGetPhysicalRelationName(reln));
|
||||
buf->relId = reln->rd_lockInfo.lockRelId;
|
||||
|
||||
@@ -1168,8 +1168,9 @@ BufferSync()
|
||||
|
||||
SpinRelease(BufMgrLock);
|
||||
}
|
||||
|
||||
#ifndef XLOG
|
||||
LocalBufferSync();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/page/bufpage.c,v 1.32 2000/10/20 11:28:39 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/page/bufpage.c,v 1.33 2000/10/21 15:43:29 vadim Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -245,7 +245,11 @@ itemidcompare(const void *itemidp1, const void *itemidp2)
|
||||
|
||||
/*
|
||||
* PageRepairFragmentation
|
||||
* Frees fragmented space on a page.
|
||||
*
|
||||
* Frees fragmented space on a page.
|
||||
* It doesn't remove unused line pointers! Please don't change this.
|
||||
* This routine is usable for heap pages only.
|
||||
*
|
||||
*/
|
||||
void
|
||||
PageRepairFragmentation(Page page)
|
||||
@@ -264,6 +268,8 @@ PageRepairFragmentation(Page page)
|
||||
for (i = 0; i < nline; i++)
|
||||
{
|
||||
lp = ((PageHeader) page)->pd_linp + i;
|
||||
if ((*lp).lp_flags & LP_DELETE) /* marked for deletion */
|
||||
(*lp).lp_flags &= ~(LP_USED | LP_DELETE);
|
||||
if ((*lp).lp_flags & LP_USED)
|
||||
nused++;
|
||||
}
|
||||
@@ -343,6 +349,31 @@ PageGetFreeSpace(Page page)
|
||||
return space;
|
||||
}
|
||||
|
||||
/*
|
||||
* PageRepairFragmentation un-useful for index page cleanup because
|
||||
* of it doesn't remove line pointers. This routine could be more
|
||||
* effective but ... no time -:)
|
||||
*/
|
||||
void
|
||||
IndexPageCleanup(Buffer buffer)
|
||||
{
|
||||
Page page = (Page) BufferGetPage(buffer);
|
||||
ItemId lp;
|
||||
OffsetNumber maxoff;
|
||||
OffsetNumber i;
|
||||
|
||||
maxoff = PageGetMaxOffsetNumber(page);
|
||||
for (i = 0; i < maxoff; i++)
|
||||
{
|
||||
lp = ((PageHeader) page)->pd_linp + i;
|
||||
if ((*lp).lp_flags & LP_DELETE) /* marked for deletion */
|
||||
{
|
||||
PageIndexTupleDelete(page, i + 1);
|
||||
maxoff--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------
|
||||
* PageIndexTupleDelete
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/smgr.c,v 1.40 2000/10/16 14:52:12 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/smgr.c,v 1.41 2000/10/21 15:43:31 vadim Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -539,3 +539,26 @@ smgriswo(int16 smgrno)
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef XLOG
|
||||
#include "access/xlog.h"
|
||||
|
||||
void smgr_redo(XLogRecPtr lsn, XLogRecord *record);
|
||||
void smgr_undo(XLogRecPtr lsn, XLogRecord *record);
|
||||
void smgr_desc(char *buf, uint8 xl_info, char* rec);
|
||||
|
||||
void
|
||||
smgr_redo(XLogRecPtr lsn, XLogRecord *record)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
smgr_undo(XLogRecPtr lsn, XLogRecord *record)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
smgr_desc(char *buf, uint8 xl_info, char* rec)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user