summaryrefslogtreecommitdiff
path: root/src/backend/access/gist
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2025-10-27 09:54:16 +0100
committerPeter Eisentraut <peter@eisentraut.org>2025-10-27 09:55:59 +0100
commit76acf4b722faa2a552f62034b793c2797909f91b (patch)
tree43ddf923e05c8cfa56097d5634f5f2d4c1d8015c /src/backend/access/gist
parent64d2b0968ea494cb11900ffb7681b5784e4112b9 (diff)
Remove Item type
This type is just char * underneath, it provides no real value, no type safety, and just makes the code one level more mysterious. It is more idiomatic to refer to blobs of memory by a combination of void * and size_t, so change it to that. Also, since this type hides the pointerness, we can't apply qualifiers to what is pointed to, which requires some unconstify nonsense. This change allows fixing that. Extension code that uses the Item type can change its code to use void * to be backward compatible. Reviewed-by: Nathan Bossart <nathandbossart@gmail.com> Reviewed-by: Peter Geoghegan <pg@bowt.ie> Discussion: https://www.postgresql.org/message-id/flat/c75cccf5-5709-407b-a36a-2ae6570be766@eisentraut.org
Diffstat (limited to 'src/backend/access/gist')
-rw-r--r--src/backend/access/gist/gist.c5
-rw-r--r--src/backend/access/gist/gistbuild.c2
-rw-r--r--src/backend/access/gist/gistutil.c2
-rw-r--r--src/backend/access/gist/gistxlog.c4
4 files changed, 6 insertions, 7 deletions
diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index a96796d5c7d..5213cd71e97 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -430,7 +430,7 @@ gistplacetopage(Relation rel, Size freespace, GISTSTATE *giststate,
{
IndexTuple thistup = (IndexTuple) data;
- if (PageAddItem(ptr->page, (Item) data, IndexTupleSize(thistup), i + FirstOffsetNumber, false, false) == InvalidOffsetNumber)
+ if (PageAddItem(ptr->page, data, IndexTupleSize(thistup), i + FirstOffsetNumber, false, false) == InvalidOffsetNumber)
elog(ERROR, "failed to add item to index page in \"%s\"", RelationGetRelationName(rel));
/*
@@ -551,8 +551,7 @@ gistplacetopage(Relation rel, Size freespace, GISTSTATE *giststate,
if (ntup == 1)
{
/* One-for-one replacement, so use PageIndexTupleOverwrite */
- if (!PageIndexTupleOverwrite(page, oldoffnum, (Item) *itup,
- IndexTupleSize(*itup)))
+ if (!PageIndexTupleOverwrite(page, oldoffnum, *itup, IndexTupleSize(*itup)))
elog(ERROR, "failed to add item to index page in \"%s\"",
RelationGetRelationName(rel));
}
diff --git a/src/backend/access/gist/gistbuild.c b/src/backend/access/gist/gistbuild.c
index 9b2ec9815f1..be0fd5b753d 100644
--- a/src/backend/access/gist/gistbuild.c
+++ b/src/backend/access/gist/gistbuild.c
@@ -558,7 +558,7 @@ gist_indexsortbuild_levelstate_flush(GISTBuildState *state,
{
IndexTuple thistup = (IndexTuple) data;
- if (PageAddItem(target, (Item) data, IndexTupleSize(thistup), i + FirstOffsetNumber, false, false) == InvalidOffsetNumber)
+ if (PageAddItem(target, data, IndexTupleSize(thistup), i + FirstOffsetNumber, false, false) == InvalidOffsetNumber)
elog(ERROR, "failed to add item to index page in \"%s\"", RelationGetRelationName(state->indexrel));
data += IndexTupleSize(thistup);
diff --git a/src/backend/access/gist/gistutil.c b/src/backend/access/gist/gistutil.c
index cdc4ab3151b..98b79608341 100644
--- a/src/backend/access/gist/gistutil.c
+++ b/src/backend/access/gist/gistutil.c
@@ -44,7 +44,7 @@ gistfillbuffer(Page page, IndexTuple *itup, int len, OffsetNumber off)
Size sz = IndexTupleSize(itup[i]);
OffsetNumber l;
- l = PageAddItem(page, (Item) itup[i], sz, off, false, false);
+ l = PageAddItem(page, itup[i], sz, off, false, false);
if (l == InvalidOffsetNumber)
elog(ERROR, "failed to add item to GiST index page, item %d out of %d, size %d bytes",
i, len, (int) sz);
diff --git a/src/backend/access/gist/gistxlog.c b/src/backend/access/gist/gistxlog.c
index 42fee1f0764..3f5340b9206 100644
--- a/src/backend/access/gist/gistxlog.c
+++ b/src/backend/access/gist/gistxlog.c
@@ -98,7 +98,7 @@ gistRedoPageUpdateRecord(XLogReaderState *record)
data += sizeof(OffsetNumber);
itup = (IndexTuple) data;
itupsize = IndexTupleSize(itup);
- if (!PageIndexTupleOverwrite(page, offnum, (Item) itup, itupsize))
+ if (!PageIndexTupleOverwrite(page, offnum, itup, itupsize))
elog(ERROR, "failed to add item to GiST index page, size %d bytes",
(int) itupsize);
data += itupsize;
@@ -133,7 +133,7 @@ gistRedoPageUpdateRecord(XLogReaderState *record)
data += sz;
- l = PageAddItem(page, (Item) itup, sz, off, false, false);
+ l = PageAddItem(page, itup, sz, off, false, false);
if (l == InvalidOffsetNumber)
elog(ERROR, "failed to add item to GiST index page, size %d bytes",
(int) sz);