|
8 | 8 | * Portions Copyright (c) 1994, Regents of the University of California |
9 | 9 | * |
10 | 10 | * IDENTIFICATION |
11 | | - * $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.21 2006/05/17 16:34:59 teodor Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.22 2006/05/19 11:10:25 teodor Exp $ |
12 | 12 | * |
13 | 13 | *------------------------------------------------------------------------- |
14 | 14 | */ |
@@ -104,19 +104,25 @@ gistDeleteSubtree( GistVacuum *gv, BlockNumber blkno ) { |
104 | 104 |
|
105 | 105 | if (!gv->index->rd_istemp) |
106 | 106 | { |
107 | | - XLogRecData rdata; |
| 107 | + XLogRecData rdata[2]; |
108 | 108 | XLogRecPtr recptr; |
109 | 109 | gistxlogPageDelete xlrec; |
110 | 110 |
|
111 | 111 | xlrec.node = gv->index->rd_node; |
112 | 112 | xlrec.blkno = blkno; |
113 | 113 |
|
114 | | - rdata.buffer = InvalidBuffer; |
115 | | - rdata.data = (char *) &xlrec; |
116 | | - rdata.len = sizeof(gistxlogPageDelete); |
117 | | - rdata.next = NULL; |
| 114 | + rdata[0].buffer = buffer; |
| 115 | + rdata[0].buffer_std = true; |
| 116 | + rdata[0].data = NULL; |
| 117 | + rdata[0].len = 0; |
| 118 | + rdata[0].next = &(rdata[1]); |
118 | 119 |
|
119 | | - recptr = XLogInsert(RM_GIST_ID, XLOG_GIST_PAGE_DELETE, &rdata); |
| 120 | + rdata[1].buffer = InvalidBuffer; |
| 121 | + rdata[1].data = (char *) &xlrec; |
| 122 | + rdata[1].len = sizeof(gistxlogPageDelete); |
| 123 | + rdata[1].next = NULL; |
| 124 | + |
| 125 | + recptr = XLogInsert(RM_GIST_ID, XLOG_GIST_PAGE_DELETE, rdata); |
120 | 126 | PageSetLSN(page, recptr); |
121 | 127 | PageSetTLI(page, ThisTimeLineID); |
122 | 128 | } |
|
0 commit comments