diff options
| author | Peter Eisentraut <peter@eisentraut.org> | 2025-10-27 09:54:16 +0100 |
|---|---|---|
| committer | Peter Eisentraut <peter@eisentraut.org> | 2025-10-27 09:55:59 +0100 |
| commit | 76acf4b722faa2a552f62034b793c2797909f91b (patch) | |
| tree | 43ddf923e05c8cfa56097d5634f5f2d4c1d8015c /src/backend/access/gist | |
| parent | 64d2b0968ea494cb11900ffb7681b5784e4112b9 (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.c | 5 | ||||
| -rw-r--r-- | src/backend/access/gist/gistbuild.c | 2 | ||||
| -rw-r--r-- | src/backend/access/gist/gistutil.c | 2 | ||||
| -rw-r--r-- | src/backend/access/gist/gistxlog.c | 4 |
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); |
