mirror of
https://github.com/postgres/postgres.git
synced 2025-08-21 10:42:50 +03:00
Convert gist to compute page level xid horizon on primary.
Due to parallel development, gist added the missing conflict information inc952eae52a
, while558a9165e0
moved that computation to the primary for the index types that already had it. Thus adapt gist to also compute on the primary, using index_compute_xid_horizon_for_tuples() instead of its own copy of the logic. This also adds pg_waldump support for XLOG_GIST_DELETE records, which previously was not properly present. Bumps WAL version. Author: Andres Freund Discussion: https://postgr.es/m/20190406050243.bszosdg4buvabfrt@alap3.anarazel.de
This commit is contained in:
@@ -431,7 +431,7 @@ extern XLogRecPtr gistXLogUpdate(Buffer buffer,
|
||||
Buffer leftchild);
|
||||
|
||||
extern XLogRecPtr gistXLogDelete(Buffer buffer, OffsetNumber *todelete,
|
||||
int ntodelete, RelFileNode hnode);
|
||||
int ntodelete, TransactionId latestRemovedXid);
|
||||
|
||||
extern XLogRecPtr gistXLogSplit(bool page_is_leaf,
|
||||
SplitedPageLayout *dist,
|
||||
|
@@ -47,8 +47,7 @@ typedef struct gistxlogPageUpdate
|
||||
*/
|
||||
typedef struct gistxlogDelete
|
||||
{
|
||||
RelFileNode hnode; /* RelFileNode of the heap the index currently
|
||||
* points at */
|
||||
TransactionId latestRemovedXid;
|
||||
uint16 ntodelete; /* number of deleted offsets */
|
||||
|
||||
/*
|
||||
|
@@ -31,7 +31,7 @@
|
||||
/*
|
||||
* Each page of XLOG file has a header like this:
|
||||
*/
|
||||
#define XLOG_PAGE_MAGIC 0xD100 /* can be used as WAL version indicator */
|
||||
#define XLOG_PAGE_MAGIC 0xD101 /* can be used as WAL version indicator */
|
||||
|
||||
typedef struct XLogPageHeaderData
|
||||
{
|
||||
|
Reference in New Issue
Block a user