v1-0001-Remove-GistTuplesDeleted-support-from-GiST.patch
application/octet-stream
Filename: v1-0001-Remove-GistTuplesDeleted-support-from-GiST.patch
Type: application/octet-stream
Part: 2
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: format-patch
Series: patch v1-0001
Subject: Remove GistTuplesDeleted support from GiST
| File | + | − |
|---|---|---|
| src/backend/access/gist/gistvacuum.c | 0 | 1 |
| src/backend/access/gist/gistxlog.c | 0 | 3 |
| src/include/access/gist.h | 1 | 5 |
From 6239200bbe091fa3651bd7c2245f751563e83270 Mon Sep 17 00:00:00 2001
From: reshke <reshke@double.cloud>
Date: Mon, 6 Oct 2025 16:53:01 +0000
Subject: [PATCH v1 1/4] Remove GistTuplesDeleted support from GiST
This bit flag value is unused since
68446b2c87a2aee5d8c2eb2aade7bb6d4195b7e1.
F_TUPLES_DELETED flag is not removed, since it is still used for
pageinspect.
---
src/backend/access/gist/gistvacuum.c | 1 -
src/backend/access/gist/gistxlog.c | 3 ---
src/include/access/gist.h | 6 +-----
3 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/backend/access/gist/gistvacuum.c b/src/backend/access/gist/gistvacuum.c
index b925eda2b9b..f48ac0bdf5a 100644
--- a/src/backend/access/gist/gistvacuum.c
+++ b/src/backend/access/gist/gistvacuum.c
@@ -401,7 +401,6 @@ restart:
MarkBufferDirty(buffer);
PageIndexMultiDelete(page, todelete, ntodelete);
- GistMarkTuplesDeleted(page);
if (RelationNeedsWAL(rel))
{
diff --git a/src/backend/access/gist/gistxlog.c b/src/backend/access/gist/gistxlog.c
index 42fee1f0764..afbe4dbb274 100644
--- a/src/backend/access/gist/gistxlog.c
+++ b/src/backend/access/gist/gistxlog.c
@@ -115,8 +115,6 @@ gistRedoPageUpdateRecord(XLogReaderState *record)
data += sizeof(OffsetNumber) * xldata->ntodelete;
PageIndexMultiDelete(page, todelete, xldata->ntodelete);
- if (GistPageIsLeaf(page))
- GistMarkTuplesDeleted(page);
}
/* Add new tuples if any */
@@ -206,7 +204,6 @@ gistRedoDeleteRecord(XLogReaderState *record)
PageIndexMultiDelete(page, toDelete, xldata->ntodelete);
GistClearPageHasGarbage(page);
- GistMarkTuplesDeleted(page);
PageSetLSN(page, lsn);
MarkBufferDirty(buffer);
diff --git a/src/include/access/gist.h b/src/include/access/gist.h
index b3f4e02cbfd..f60e0e58ec3 100644
--- a/src/include/access/gist.h
+++ b/src/include/access/gist.h
@@ -49,7 +49,7 @@
#define F_LEAF (1 << 0) /* leaf page */
#define F_DELETED (1 << 1) /* the page has been deleted */
#define F_TUPLES_DELETED (1 << 2) /* some tuples on the page were
- * deleted */
+ * deleted, currently unused */
#define F_FOLLOW_RIGHT (1 << 3) /* page to the right has no downlink */
#define F_HAS_GARBAGE (1 << 4) /* some tuples on the page are dead,
* but not deleted yet */
@@ -174,10 +174,6 @@ typedef struct GISTENTRY
#define GistPageIsDeleted(page) ( GistPageGetOpaque(page)->flags & F_DELETED)
-#define GistTuplesDeleted(page) ( GistPageGetOpaque(page)->flags & F_TUPLES_DELETED)
-#define GistMarkTuplesDeleted(page) ( GistPageGetOpaque(page)->flags |= F_TUPLES_DELETED)
-#define GistClearTuplesDeleted(page) ( GistPageGetOpaque(page)->flags &= ~F_TUPLES_DELETED)
-
#define GistPageHasGarbage(page) ( GistPageGetOpaque(page)->flags & F_HAS_GARBAGE)
#define GistMarkPageHasGarbage(page) ( GistPageGetOpaque(page)->flags |= F_HAS_GARBAGE)
#define GistClearPageHasGarbage(page) ( GistPageGetOpaque(page)->flags &= ~F_HAS_GARBAGE)
--
2.43.0