|
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