mirror of
https://github.com/postgres/postgres.git
synced 2025-10-25 13:17:41 +03:00
1. Vacuum is updated for MVCC.
2. Much faster btree tuples deletion in the case when first on page index tuple is deleted (no movement to the left page(s)). 3. Remember blkno of new root page in BTPageOpaque of left/right siblings when root page is splitted.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: vacuum.h,v 1.17 1999/02/13 23:21:20 momjian Exp $
|
||||
* $Id: vacuum.h,v 1.18 1999/03/28 20:32:38 vadim Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -95,16 +95,35 @@ typedef struct VRelListData
|
||||
|
||||
typedef VRelListData *VRelList;
|
||||
|
||||
typedef struct VTupleLinkData
|
||||
{
|
||||
ItemPointerData new_tid;
|
||||
ItemPointerData this_tid;
|
||||
} VTupleLinkData;
|
||||
|
||||
typedef VTupleLinkData *VTupleLink;
|
||||
|
||||
typedef struct VTupleMoveData
|
||||
{
|
||||
ItemPointerData tid; /* tuple ID */
|
||||
VPageDescr vpd; /* where to move */
|
||||
bool cleanVpd; /* clean vpd before using */
|
||||
} VTupleMoveData;
|
||||
|
||||
typedef VTupleMoveData *VTupleMove;
|
||||
|
||||
typedef struct VRelStats
|
||||
{
|
||||
Oid relid;
|
||||
int num_tuples;
|
||||
int num_pages;
|
||||
Size min_tlen;
|
||||
Size max_tlen;
|
||||
bool hasindex;
|
||||
int va_natts; /* number of attrs being analyzed */
|
||||
VacAttrStats *vacattrstats;
|
||||
Oid relid;
|
||||
int num_tuples;
|
||||
int num_pages;
|
||||
Size min_tlen;
|
||||
Size max_tlen;
|
||||
bool hasindex;
|
||||
int va_natts; /* number of attrs being analyzed */
|
||||
VacAttrStats *vacattrstats;
|
||||
int num_vtlinks;
|
||||
VTupleLink vtlinks;
|
||||
} VRelStats;
|
||||
|
||||
extern bool VacuumRunning;
|
||||
|
||||
Reference in New Issue
Block a user