mirror of
https://github.com/postgres/postgres.git
synced 2025-10-25 13:17:41 +03:00
Refactor the internal GIN B-tree interface for forming a downlink.
This creates a new gin-btree callback function for creating a downlink for a page. Previously, ginxlog.c duplicated the logic used during normal operation.
This commit is contained in:
@@ -487,6 +487,7 @@ typedef struct GinBtreeData
|
||||
OffsetNumber (*findChildPtr) (GinBtree, Page, BlockNumber, OffsetNumber);
|
||||
bool (*placeToPage) (GinBtree, Buffer, OffsetNumber, XLogRecData **);
|
||||
Page (*splitPage) (GinBtree, Buffer, Buffer, OffsetNumber, XLogRecData **);
|
||||
void (*prepareDownlink) (GinBtree, Buffer);
|
||||
void (*fillRoot) (GinBtree, Buffer, Buffer, Buffer);
|
||||
|
||||
bool isData;
|
||||
@@ -529,7 +530,6 @@ extern void ginPrepareEntryScan(GinBtree btree, OffsetNumber attnum,
|
||||
Datum key, GinNullCategory category,
|
||||
GinState *ginstate);
|
||||
extern void ginEntryFillRoot(GinBtree btree, Buffer root, Buffer lbuf, Buffer rbuf);
|
||||
extern IndexTuple ginPageGetLinkItup(Buffer buf);
|
||||
|
||||
/* gindatapage.c */
|
||||
extern BlockNumber createPostingTree(Relation index,
|
||||
|
||||
Reference in New Issue
Block a user