|
8 | 8 | * Portions Copyright (c) 1994, Regents of the University of California
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $PostgreSQL: pgsql/src/backend/access/gist/gistxlog.c,v 1.19 2006/05/1916:15:17 teodor Exp $ |
| 11 | + * $PostgreSQL: pgsql/src/backend/access/gist/gistxlog.c,v 1.20 2006/05/1917:15:41 teodor Exp $ |
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
14 | 14 | #include"postgres.h"
|
@@ -753,14 +753,16 @@ gistContinueInsert(gistIncompleteInsert *insert)
|
753 | 753 | * for following possible replays
|
754 | 754 | */
|
755 | 755 |
|
756 |
| -/* write pages with XLOG LSN */ |
| 756 | +/* write pages, we should mark it dirty befor XLogInsert() */ |
| 757 | +for (j=0;j<numbuffer;j++) { |
| 758 | +GistPageGetOpaque(pages[j])->rightlink=InvalidBlockNumber; |
| 759 | +MarkBufferDirty(buffers[j]); |
| 760 | +} |
757 | 761 | recptr=XLogInsert(RM_GIST_ID,XLOG_GIST_PAGE_UPDATE,rdata);
|
758 | 762 | for (j=0;j<numbuffer;j++)
|
759 | 763 | {
|
760 | 764 | PageSetLSN(pages[j],recptr);
|
761 | 765 | PageSetTLI(pages[j],ThisTimeLineID);
|
762 |
| -GistPageGetOpaque(pages[j])->rightlink=InvalidBlockNumber; |
763 |
| -MarkBufferDirty(buffers[j]); |
764 | 766 | }
|
765 | 767 |
|
766 | 768 | END_CRIT_SECTION();
|
|