gin-xlog-metapage-v1.patch
text/plain
Filename: gin-xlog-metapage-v1.patch
Type: text/plain
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
Series: patch v1
| File | + | − |
|---|---|---|
| src/backend/access/gin/ginxlog.c | 6 | 0 |
*** a/src/backend/access/gin/ginxlog.c
--- b/src/backend/access/gin/ginxlog.c
***************
*** 492,504 **** ginRedoUpdateMetapage(XLogRecPtr lsn, XLogRecord *record)
return; /* assume index was deleted, nothing to do */
metapage = BufferGetPage(metabuffer);
! if (!XLByteLE(lsn, PageGetLSN(metapage)))
! {
! memcpy(GinPageGetMeta(metapage), &data->metadata, sizeof(GinMetaPageData));
! PageSetLSN(metapage, lsn);
! PageSetTLI(metapage, ThisTimeLineID);
! MarkBufferDirty(metabuffer);
! }
if (data->ntuples > 0)
{
--- 492,503 ----
return; /* assume index was deleted, nothing to do */
metapage = BufferGetPage(metabuffer);
! GinInitMetabuffer(metabuffer);
! memcpy(GinPageGetMeta(metapage), &data->metadata, sizeof(GinMetaPageData));
!
! PageSetLSN(metapage, lsn);
! PageSetTLI(metapage, ThisTimeLineID);
! MarkBufferDirty(metabuffer);
if (data->ntuples > 0)
{