/* Write the WAL record */
if (RelationNeedsWAL(rel))
- recptr = gistXLogSplit(rel->rd_node, blkno, is_leaf,
+ recptr = gistXLogSplit(is_leaf,
dist, oldrlink, oldnsn, leftchildbuf,
markfollowright);
else
ndeloffs = 1;
}
- recptr = gistXLogUpdate(rel->rd_node, buffer,
+ recptr = gistXLogUpdate(buffer,
deloffs, ndeloffs, itup, ntup,
leftchildbuf);
{
XLogRecPtr recptr;
- recptr = gistXLogUpdate(rel->rd_node, buffer,
+ recptr = gistXLogUpdate(buffer,
deletable, ndeletable,
NULL, 0, InvalidBuffer);
{
XLogRecPtr recptr;
- recptr = gistXLogUpdate(rel->rd_node, buffer,
+ recptr = gistXLogUpdate(buffer,
todelete, ntodelete,
NULL, 0, InvalidBuffer);
PageSetLSN(page, recptr);
* Write WAL record of a page split.
*/
XLogRecPtr
-gistXLogSplit(RelFileNode node, BlockNumber blkno, bool page_is_leaf,
+gistXLogSplit(bool page_is_leaf,
SplitedPageLayout *dist,
BlockNumber origrlink, GistNSN orignsn,
Buffer leftchildbuf, bool markfollowright)
* to log the whole buffer contents instead.
*/
XLogRecPtr
-gistXLogUpdate(RelFileNode node, Buffer buffer,
+gistXLogUpdate(Buffer buffer,
OffsetNumber *todelete, int ntodelete,
IndexTuple *itup, int ituplen,
Buffer leftchildbuf)
extern void gist_xlog_startup(void);
extern void gist_xlog_cleanup(void);
-extern XLogRecPtr gistXLogUpdate(RelFileNode node, Buffer buffer,
+extern XLogRecPtr gistXLogUpdate(Buffer buffer,
OffsetNumber *todelete, int ntodelete,
IndexTuple *itup, int ntup,
Buffer leftchild);
-extern XLogRecPtr gistXLogSplit(RelFileNode node,
- BlockNumber blkno, bool page_is_leaf,
+extern XLogRecPtr gistXLogSplit(bool page_is_leaf,
SplitedPageLayout *dist,
BlockNumber origrlink, GistNSN oldnsn,
Buffer leftchild, bool markfollowright);