diff options
29 files changed, 102 insertions, 178 deletions
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c index 6d8dd1512d6..b19c843132c 100644 --- a/src/backend/access/brin/brin_pageops.c +++ b/src/backend/access/brin/brin_pageops.c @@ -176,7 +176,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,  		brin_can_do_samepage_update(oldbuf, origsz, newsz))  	{  		START_CRIT_SECTION(); -		if (!PageIndexTupleOverwrite(oldpage, oldoff, (Item) unconstify(BrinTuple *, newtup), newsz)) +		if (!PageIndexTupleOverwrite(oldpage, oldoff, newtup, newsz))  			elog(ERROR, "failed to replace BRIN tuple");  		MarkBufferDirty(oldbuf); @@ -250,8 +250,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,  			brin_page_init(newpage, BRIN_PAGETYPE_REGULAR);  		PageIndexTupleDeleteNoCompact(oldpage, oldoff); -		newoff = PageAddItem(newpage, (Item) unconstify(BrinTuple *, newtup), newsz, -							 InvalidOffsetNumber, false, false); +		newoff = PageAddItem(newpage, newtup, newsz, InvalidOffsetNumber, false, false);  		if (newoff == InvalidOffsetNumber)  			elog(ERROR, "failed to add BRIN tuple to new page");  		MarkBufferDirty(oldbuf); @@ -408,8 +407,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,  	START_CRIT_SECTION();  	if (extended)  		brin_page_init(page, BRIN_PAGETYPE_REGULAR); -	off = PageAddItem(page, (Item) tup, itemsz, InvalidOffsetNumber, -					  false, false); +	off = PageAddItem(page, tup, itemsz, InvalidOffsetNumber, false, false);  	if (off == InvalidOffsetNumber)  		elog(ERROR, "failed to add BRIN tuple to new page");  	MarkBufferDirty(*buffer); diff --git a/src/backend/access/brin/brin_xlog.c b/src/backend/access/brin/brin_xlog.c index 55348140fad..c8b4decb3ec 100644 --- a/src/backend/access/brin/brin_xlog.c +++ b/src/backend/access/brin/brin_xlog.c @@ -87,7 +87,7 @@ brin_xlog_insert_update(XLogReaderState *record,  		if (PageGetMaxOffsetNumber(page) + 1 < offnum)  			elog(PANIC, "brin_xlog_insert_update: invalid max offset number"); -		offnum = PageAddItem(page, (Item) tuple, tuplen, offnum, true, false); +		offnum = PageAddItem(page, tuple, tuplen, offnum, true, false);  		if (offnum == InvalidOffsetNumber)  			elog(PANIC, "brin_xlog_insert_update: failed to add tuple"); @@ -189,7 +189,7 @@ brin_xlog_samepage_update(XLogReaderState *record)  		offnum = xlrec->offnum; -		if (!PageIndexTupleOverwrite(page, offnum, (Item) brintuple, tuplen)) +		if (!PageIndexTupleOverwrite(page, offnum, brintuple, tuplen))  			elog(PANIC, "brin_xlog_samepage_update: failed to replace tuple");  		PageSetLSN(page, lsn); diff --git a/src/backend/access/gin/ginentrypage.c b/src/backend/access/gin/ginentrypage.c index ba6bbd562df..c0592367700 100644 --- a/src/backend/access/gin/ginentrypage.c +++ b/src/backend/access/gin/ginentrypage.c @@ -563,7 +563,7 @@ entryExecPlaceToPage(GinBtree btree, Buffer buf, GinBtreeStack *stack,  	entryPreparePage(btree, page, off, insertData, updateblkno);  	placed = PageAddItem(page, -						 (Item) insertData->entry, +						 insertData->entry,  						 IndexTupleSize(insertData->entry),  						 off, false, false);  	if (placed != off) @@ -684,7 +684,7 @@ entrySplitPage(GinBtree btree, Buffer origbuf,  			lsize += MAXALIGN(IndexTupleSize(itup)) + sizeof(ItemIdData);  		} -		if (PageAddItem(page, (Item) itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber) +		if (PageAddItem(page, itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber)  			elog(ERROR, "failed to add item to index page in \"%s\"",  				 RelationGetRelationName(btree->index));  		ptr += MAXALIGN(IndexTupleSize(itup)); @@ -727,12 +727,12 @@ ginEntryFillRoot(GinBtree btree, Page root,  	IndexTuple	itup;  	itup = GinFormInteriorTuple(getRightMostTuple(lpage), lpage, lblkno); -	if (PageAddItem(root, (Item) itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber) +	if (PageAddItem(root, itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber)  		elog(ERROR, "failed to add item to index root page");  	pfree(itup);  	itup = GinFormInteriorTuple(getRightMostTuple(rpage), rpage, rblkno); -	if (PageAddItem(root, (Item) itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber) +	if (PageAddItem(root, itup, IndexTupleSize(itup), InvalidOffsetNumber, false, false) == InvalidOffsetNumber)  		elog(ERROR, "failed to add item to index root page");  	pfree(itup);  } diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c index a6d88572cc2..5b28dde7541 100644 --- a/src/backend/access/gin/ginfast.c +++ b/src/backend/access/gin/ginfast.c @@ -83,7 +83,7 @@ writeListPage(Relation index, Buffer buffer,  		ptr += this_size;  		size += this_size; -		l = PageAddItem(page, (Item) tuples[i], this_size, off, false, false); +		l = PageAddItem(page, tuples[i], this_size, off, false, false);  		if (l == InvalidOffsetNumber)  			elog(ERROR, "failed to add item to index page in \"%s\"", @@ -384,7 +384,7 @@ ginHeapTupleFastInsert(GinState *ginstate, GinTupleCollector *collector)  		for (i = 0; i < collector->ntuples; i++)  		{  			tupsize = IndexTupleSize(collector->tuples[i]); -			l = PageAddItem(page, (Item) collector->tuples[i], tupsize, off, false, false); +			l = PageAddItem(page, collector->tuples[i], tupsize, off, false, false);  			if (l == InvalidOffsetNumber)  				elog(ERROR, "failed to add item to index page in \"%s\"", diff --git a/src/backend/access/gin/ginvacuum.c b/src/backend/access/gin/ginvacuum.c index 2d833d6d618..2237efa50bb 100644 --- a/src/backend/access/gin/ginvacuum.c +++ b/src/backend/access/gin/ginvacuum.c @@ -547,7 +547,7 @@ ginVacuumEntryPage(GinVacuumState *gvs, Buffer buffer, BlockNumber *roots, uint3  					pfree(plist);  				PageIndexTupleDelete(tmppage, i); -				if (PageAddItem(tmppage, (Item) itup, IndexTupleSize(itup), i, false, false) != i) +				if (PageAddItem(tmppage, itup, IndexTupleSize(itup), i, false, false) != i)  					elog(ERROR, "failed to add item to index page in \"%s\"",  						 RelationGetRelationName(gvs->index)); diff --git a/src/backend/access/gin/ginxlog.c b/src/backend/access/gin/ginxlog.c index fa293ee79d5..75df3d7a680 100644 --- a/src/backend/access/gin/ginxlog.c +++ b/src/backend/access/gin/ginxlog.c @@ -93,7 +93,7 @@ ginRedoInsertEntry(Buffer buffer, bool isLeaf, BlockNumber rightblkno, void *rda  	itup = &data->tuple; -	if (PageAddItem(page, (Item) itup, IndexTupleSize(itup), offset, false, false) == InvalidOffsetNumber) +	if (PageAddItem(page, itup, IndexTupleSize(itup), offset, false, false) == InvalidOffsetNumber)  	{  		RelFileLocator locator;  		ForkNumber	forknum; @@ -573,8 +573,7 @@ ginRedoUpdateMetapage(XLogReaderState *record)  			{  				tupsize = IndexTupleSize(tuples); -				if (PageAddItem(page, (Item) tuples, tupsize, off, -								false, false) == InvalidOffsetNumber) +				if (PageAddItem(page, tuples, tupsize, off, false, false) == InvalidOffsetNumber)  					elog(ERROR, "failed to add item to index page");  				tuples = (IndexTuple) (((char *) tuples) + tupsize); @@ -654,7 +653,7 @@ ginRedoInsertListPage(XLogReaderState *record)  	{  		tupsize = IndexTupleSize(tuples); -		l = PageAddItem(page, (Item) tuples, tupsize, off, false, false); +		l = PageAddItem(page, tuples, tupsize, off, false, false);  		if (l == InvalidOffsetNumber)  			elog(ERROR, "failed to add item to index page"); 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); diff --git a/src/backend/access/hash/hash_xlog.c b/src/backend/access/hash/hash_xlog.c index d963a0c3702..2a0145f3c9b 100644 --- a/src/backend/access/hash/hash_xlog.c +++ b/src/backend/access/hash/hash_xlog.c @@ -137,8 +137,7 @@ hash_xlog_insert(XLogReaderState *record)  		page = BufferGetPage(buffer); -		if (PageAddItem(page, (Item) datapos, datalen, xlrec->offnum, -						false, false) == InvalidOffsetNumber) +		if (PageAddItem(page, datapos, datalen, xlrec->offnum, false, false) == InvalidOffsetNumber)  			elog(PANIC, "hash_xlog_insert: failed to add item");  		PageSetLSN(page, lsn); @@ -557,7 +556,7 @@ hash_xlog_move_page_contents(XLogReaderState *record)  				data += itemsz; -				l = PageAddItem(writepage, (Item) itup, itemsz, towrite[ninserted], false, false); +				l = PageAddItem(writepage, itup, itemsz, towrite[ninserted], false, false);  				if (l == InvalidOffsetNumber)  					elog(ERROR, "hash_xlog_move_page_contents: failed to add item to hash index page, size %d bytes",  						 (int) itemsz); @@ -689,7 +688,7 @@ hash_xlog_squeeze_page(XLogReaderState *record)  				data += itemsz; -				l = PageAddItem(writepage, (Item) itup, itemsz, towrite[ninserted], false, false); +				l = PageAddItem(writepage, itup, itemsz, towrite[ninserted], false, false);  				if (l == InvalidOffsetNumber)  					elog(ERROR, "hash_xlog_squeeze_page: failed to add item to hash index page, size %d bytes",  						 (int) itemsz); diff --git a/src/backend/access/hash/hashinsert.c b/src/backend/access/hash/hashinsert.c index 10de1580dc2..0f9f97f7e3d 100644 --- a/src/backend/access/hash/hashinsert.c +++ b/src/backend/access/hash/hashinsert.c @@ -310,10 +310,8 @@ _hash_pgaddtup(Relation rel, Buffer buf, Size itemsize, IndexTuple itup,  		itup_off = _hash_binsearch(page, hashkey);  	} -	if (PageAddItem(page, (Item) itup, itemsize, itup_off, false, false) -		== InvalidOffsetNumber) -		elog(ERROR, "failed to add index item to \"%s\"", -			 RelationGetRelationName(rel)); +	if (PageAddItem(page, itup, itemsize, itup_off, false, false) == InvalidOffsetNumber) +		elog(ERROR, "failed to add index item to \"%s\"", RelationGetRelationName(rel));  	return itup_off;  } @@ -352,10 +350,8 @@ _hash_pgaddmultitup(Relation rel, Buffer buf, IndexTuple *itups,  		itup_offsets[i] = itup_off; -		if (PageAddItem(page, (Item) itups[i], itemsize, itup_off, false, false) -			== InvalidOffsetNumber) -			elog(ERROR, "failed to add index item to \"%s\"", -				 RelationGetRelationName(rel)); +		if (PageAddItem(page, itups[i], itemsize, itup_off, false, false) == InvalidOffsetNumber) +			elog(ERROR, "failed to add index item to \"%s\"", RelationGetRelationName(rel));  	}  } diff --git a/src/backend/access/heap/heapam_xlog.c b/src/backend/access/heap/heapam_xlog.c index 230d9888793..11cb3f74da5 100644 --- a/src/backend/access/heap/heapam_xlog.c +++ b/src/backend/access/heap/heapam_xlog.c @@ -572,8 +572,7 @@ heap_xlog_insert(XLogReaderState *record)  		HeapTupleHeaderSetCmin(htup, FirstCommandId);  		htup->t_ctid = target_tid; -		if (PageAddItem(page, (Item) htup, newlen, xlrec->offnum, -						true, true) == InvalidOffsetNumber) +		if (PageAddItem(page, htup, newlen, xlrec->offnum, true, true) == InvalidOffsetNumber)  			elog(PANIC, "failed to add tuple");  		freespace = PageGetHeapFreeSpace(page); /* needed to update FSM below */ @@ -713,7 +712,7 @@ heap_xlog_multi_insert(XLogReaderState *record)  			ItemPointerSetBlockNumber(&htup->t_ctid, blkno);  			ItemPointerSetOffsetNumber(&htup->t_ctid, offnum); -			offnum = PageAddItem(page, (Item) htup, newlen, offnum, true, true); +			offnum = PageAddItem(page, htup, newlen, offnum, true, true);  			if (offnum == InvalidOffsetNumber)  				elog(PANIC, "failed to add tuple");  		} @@ -1034,7 +1033,7 @@ heap_xlog_update(XLogReaderState *record, bool hot_update)  		/* Make sure there is no forward chain link in t_ctid */  		htup->t_ctid = newtid; -		offnum = PageAddItem(page, (Item) htup, newlen, offnum, true, true); +		offnum = PageAddItem(page, htup, newlen, offnum, true, true);  		if (offnum == InvalidOffsetNumber)  			elog(PANIC, "failed to add tuple"); diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c index c482c9d61b2..24c83e349c6 100644 --- a/src/backend/access/heap/hio.c +++ b/src/backend/access/heap/hio.c @@ -58,9 +58,7 @@ RelationPutHeapTuple(Relation relation,  	/* Add the tuple to the page */  	pageHeader = BufferGetPage(buffer); -	offnum = PageAddItem(pageHeader, (Item) tuple->t_data, -						 tuple->t_len, InvalidOffsetNumber, false, true); - +	offnum = PageAddItem(pageHeader, tuple->t_data, tuple->t_len, InvalidOffsetNumber, false, true);  	if (offnum == InvalidOffsetNumber)  		elog(PANIC, "failed to add tuple to page"); diff --git a/src/backend/access/heap/rewriteheap.c b/src/backend/access/heap/rewriteheap.c index e6d2b5fced1..8061e92f044 100644 --- a/src/backend/access/heap/rewriteheap.c +++ b/src/backend/access/heap/rewriteheap.c @@ -673,8 +673,7 @@ raw_heap_insert(RewriteState state, HeapTuple tup)  	}  	/* And now we can insert the tuple into the page */ -	newoff = PageAddItem(page, (Item) heaptup->t_data, heaptup->t_len, -						 InvalidOffsetNumber, false, true); +	newoff = PageAddItem(page, heaptup->t_data, heaptup->t_len, InvalidOffsetNumber, false, true);  	if (newoff == InvalidOffsetNumber)  		elog(ERROR, "failed to add tuple"); diff --git a/src/backend/access/nbtree/nbtdedup.c b/src/backend/access/nbtree/nbtdedup.c index ab0b6946cb0..07e63962f81 100644 --- a/src/backend/access/nbtree/nbtdedup.c +++ b/src/backend/access/nbtree/nbtdedup.c @@ -126,8 +126,7 @@ _bt_dedup_pass(Relation rel, Buffer buf, IndexTuple newitem, Size newitemsz,  		Size		hitemsz = ItemIdGetLength(hitemid);  		IndexTuple	hitem = (IndexTuple) PageGetItem(page, hitemid); -		if (PageAddItem(newpage, (Item) hitem, hitemsz, P_HIKEY, -						false, false) == InvalidOffsetNumber) +		if (PageAddItem(newpage, hitem, hitemsz, P_HIKEY, false, false) == InvalidOffsetNumber)  			elog(ERROR, "deduplication failed to add highkey");  	} @@ -570,8 +569,7 @@ _bt_dedup_finish_pending(Page newpage, BTDedupState state)  		tuplesz = IndexTupleSize(state->base);  		Assert(tuplesz == MAXALIGN(IndexTupleSize(state->base)));  		Assert(tuplesz <= BTMaxItemSize); -		if (PageAddItem(newpage, (Item) state->base, tuplesz, tupoff, -						false, false) == InvalidOffsetNumber) +		if (PageAddItem(newpage, state->base, tuplesz, tupoff, false, false) == InvalidOffsetNumber)  			elog(ERROR, "deduplication failed to add tuple to page");  		spacesaving = 0; @@ -590,8 +588,7 @@ _bt_dedup_finish_pending(Page newpage, BTDedupState state)  		Assert(tuplesz == MAXALIGN(IndexTupleSize(final)));  		Assert(tuplesz <= BTMaxItemSize); -		if (PageAddItem(newpage, (Item) final, tuplesz, tupoff, false, -						false) == InvalidOffsetNumber) +		if (PageAddItem(newpage, final, tuplesz, tupoff, false, false) == InvalidOffsetNumber)  			elog(ERROR, "deduplication failed to add tuple to page");  		pfree(final); diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c index 85d97a970ac..42727e80c30 100644 --- a/src/backend/access/nbtree/nbtinsert.c +++ b/src/backend/access/nbtree/nbtinsert.c @@ -1278,8 +1278,7 @@ _bt_insertonpg(Relation rel,  		if (postingoff != 0)  			memcpy(oposting, nposting, MAXALIGN(IndexTupleSize(nposting))); -		if (PageAddItem(page, (Item) itup, itemsz, newitemoff, false, -						false) == InvalidOffsetNumber) +		if (PageAddItem(page, itup, itemsz, newitemoff, false, false) == InvalidOffsetNumber)  			elog(PANIC, "failed to add new item to block %u in index \"%s\"",  				 BufferGetBlockNumber(buf), RelationGetRelationName(rel)); @@ -1700,8 +1699,7 @@ _bt_split(Relation rel, Relation heaprel, BTScanInsert itup_key, Buffer buf,  	Assert(BTreeTupleGetNAtts(lefthighkey, rel) <=  		   IndexRelationGetNumberOfKeyAttributes(rel));  	Assert(itemsz == MAXALIGN(IndexTupleSize(lefthighkey))); -	if (PageAddItem(leftpage, (Item) lefthighkey, itemsz, afterleftoff, false, -					false) == InvalidOffsetNumber) +	if (PageAddItem(leftpage, lefthighkey, itemsz, afterleftoff, false, false) == InvalidOffsetNumber)  		elog(ERROR, "failed to add high key to the left sibling"  			 " while splitting block %u of index \"%s\"",  			 origpagenumber, RelationGetRelationName(rel)); @@ -1771,8 +1769,7 @@ _bt_split(Relation rel, Relation heaprel, BTScanInsert itup_key, Buffer buf,  		Assert(BTreeTupleGetNAtts(righthighkey, rel) > 0);  		Assert(BTreeTupleGetNAtts(righthighkey, rel) <=  			   IndexRelationGetNumberOfKeyAttributes(rel)); -		if (PageAddItem(rightpage, (Item) righthighkey, itemsz, afterrightoff, -						false, false) == InvalidOffsetNumber) +		if (PageAddItem(rightpage, righthighkey, itemsz, afterrightoff, false, false) == InvalidOffsetNumber)  		{  			elog(ERROR, "failed to add high key to the right sibling"  				 " while splitting block %u of index \"%s\"", @@ -2537,8 +2534,7 @@ _bt_newlevel(Relation rel, Relation heaprel, Buffer lbuf, Buffer rbuf)  	 * benefit of _bt_restore_page().  	 */  	Assert(BTreeTupleGetNAtts(left_item, rel) == 0); -	if (PageAddItem(rootpage, (Item) left_item, left_item_sz, P_HIKEY, -					false, false) == InvalidOffsetNumber) +	if (PageAddItem(rootpage, left_item, left_item_sz, P_HIKEY, false, false) == InvalidOffsetNumber)  		elog(PANIC, "failed to add leftkey to new root page"  			 " while splitting block %u of index \"%s\"",  			 BufferGetBlockNumber(lbuf), RelationGetRelationName(rel)); @@ -2549,8 +2545,7 @@ _bt_newlevel(Relation rel, Relation heaprel, Buffer lbuf, Buffer rbuf)  	Assert(BTreeTupleGetNAtts(right_item, rel) > 0);  	Assert(BTreeTupleGetNAtts(right_item, rel) <=  		   IndexRelationGetNumberOfKeyAttributes(rel)); -	if (PageAddItem(rootpage, (Item) right_item, right_item_sz, P_FIRSTKEY, -					false, false) == InvalidOffsetNumber) +	if (PageAddItem(rootpage, right_item, right_item_sz, P_FIRSTKEY, false, false) == InvalidOffsetNumber)  		elog(PANIC, "failed to add rightkey to new root page"  			 " while splitting block %u of index \"%s\"",  			 BufferGetBlockNumber(lbuf), RelationGetRelationName(rel)); @@ -2654,8 +2649,7 @@ _bt_pgaddtup(Page page,  		itemsize = sizeof(IndexTupleData);  	} -	if (unlikely(PageAddItem(page, (Item) itup, itemsize, itup_off, false, -							 false) == InvalidOffsetNumber)) +	if (unlikely(PageAddItem(page, itup, itemsize, itup_off, false, false) == InvalidOffsetNumber))  		return false;  	return true; diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c index c79dd38ee18..30b43a4dd18 100644 --- a/src/backend/access/nbtree/nbtpage.c +++ b/src/backend/access/nbtree/nbtpage.c @@ -1194,8 +1194,7 @@ _bt_delitems_vacuum(Relation rel, Buffer buf,  		itup = updatable[i]->itup;  		itemsz = MAXALIGN(IndexTupleSize(itup)); -		if (!PageIndexTupleOverwrite(page, updatedoffset, (Item) itup, -									 itemsz)) +		if (!PageIndexTupleOverwrite(page, updatedoffset, itup, itemsz))  			elog(PANIC, "failed to update partially dead item in block %u of index \"%s\"",  				 BufferGetBlockNumber(buf), RelationGetRelationName(rel));  	} @@ -1314,8 +1313,7 @@ _bt_delitems_delete(Relation rel, Buffer buf,  		itup = updatable[i]->itup;  		itemsz = MAXALIGN(IndexTupleSize(itup)); -		if (!PageIndexTupleOverwrite(page, updatedoffset, (Item) itup, -									 itemsz)) +		if (!PageIndexTupleOverwrite(page, updatedoffset, itup, itemsz))  			elog(PANIC, "failed to update partially dead item in block %u of index \"%s\"",  				 BufferGetBlockNumber(buf), RelationGetRelationName(rel));  	} @@ -2239,8 +2237,7 @@ _bt_mark_page_halfdead(Relation rel, Relation heaprel, Buffer leafbuf,  	else  		BTreeTupleSetTopParent(&trunctuple, InvalidBlockNumber); -	if (!PageIndexTupleOverwrite(page, P_HIKEY, (Item) &trunctuple, -								 IndexTupleSize(&trunctuple))) +	if (!PageIndexTupleOverwrite(page, P_HIKEY, &trunctuple, IndexTupleSize(&trunctuple)))  		elog(ERROR, "could not overwrite high key in half-dead page");  	/* Must mark buffers dirty before XLogInsert */ diff --git a/src/backend/access/nbtree/nbtsort.c b/src/backend/access/nbtree/nbtsort.c index 8828a7a8f89..6b618266a7f 100644 --- a/src/backend/access/nbtree/nbtsort.c +++ b/src/backend/access/nbtree/nbtsort.c @@ -731,8 +731,7 @@ _bt_sortaddtup(Page page,  		itemsize = sizeof(IndexTupleData);  	} -	if (PageAddItem(page, (Item) itup, itemsize, itup_off, -					false, false) == InvalidOffsetNumber) +	if (PageAddItem(page, itup, itemsize, itup_off, false, false) == InvalidOffsetNumber)  		elog(ERROR, "failed to add item to the index page");  } @@ -934,8 +933,7 @@ _bt_buildadd(BTWriteState *wstate, BTPageState *state, IndexTuple itup,  			Assert(IndexTupleSize(oitup) > last_truncextra);  			truncated = _bt_truncate(wstate->index, lastleft, oitup,  									 wstate->inskey); -			if (!PageIndexTupleOverwrite(opage, P_HIKEY, (Item) truncated, -										 IndexTupleSize(truncated))) +			if (!PageIndexTupleOverwrite(opage, P_HIKEY, truncated, IndexTupleSize(truncated)))  				elog(ERROR, "failed to add high key to the index page");  			pfree(truncated); diff --git a/src/backend/access/nbtree/nbtxlog.c b/src/backend/access/nbtree/nbtxlog.c index 69ea668bb0d..d4a26de06a3 100644 --- a/src/backend/access/nbtree/nbtxlog.c +++ b/src/backend/access/nbtree/nbtxlog.c @@ -38,7 +38,7 @@ _bt_restore_page(Page page, char *from, int len)  	IndexTupleData itupdata;  	Size		itemsz;  	char	   *end = from + len; -	Item		items[MaxIndexTuplesPerPage]; +	void	   *items[MaxIndexTuplesPerPage];  	uint16		itemsizes[MaxIndexTuplesPerPage];  	int			i;  	int			nitems; @@ -53,16 +53,15 @@ _bt_restore_page(Page page, char *from, int len)  	{  		/*  		 * As we step through the items, 'from' won't always be properly -		 * aligned, so we need to use memcpy().  Further, we use Item (which -		 * is just a char*) here for our items array for the same reason; -		 * wouldn't want the compiler or anyone thinking that an item is -		 * aligned when it isn't. +		 * aligned, so we need to use memcpy().  Further, we use void * here +		 * for our items array for the same reason; wouldn't want the compiler +		 * or anyone thinking that an item is aligned when it isn't.  		 */  		memcpy(&itupdata, from, sizeof(IndexTupleData));  		itemsz = IndexTupleSize(&itupdata);  		itemsz = MAXALIGN(itemsz); -		items[i] = (Item) from; +		items[i] = from;  		itemsizes[i] = itemsz;  		i++; @@ -72,8 +71,7 @@ _bt_restore_page(Page page, char *from, int len)  	for (i = nitems - 1; i >= 0; i--)  	{ -		if (PageAddItem(page, items[i], itemsizes[i], nitems - i, -						false, false) == InvalidOffsetNumber) +		if (PageAddItem(page, items[i], itemsizes[i], nitems - i, false, false) == InvalidOffsetNumber)  			elog(PANIC, "_bt_restore_page: cannot add item to page");  	}  } @@ -186,8 +184,7 @@ btree_xlog_insert(bool isleaf, bool ismeta, bool posting,  		if (!posting)  		{  			/* Simple retail insertion */ -			if (PageAddItem(page, (Item) datapos, datalen, xlrec->offnum, -							false, false) == InvalidOffsetNumber) +			if (PageAddItem(page, datapos, datalen, xlrec->offnum, false, false) == InvalidOffsetNumber)  				elog(PANIC, "failed to add new item");  		}  		else @@ -225,8 +222,7 @@ btree_xlog_insert(bool isleaf, bool ismeta, bool posting,  			/* Insert "final" new item (not orignewitem from WAL stream) */  			Assert(IndexTupleSize(newitem) == datalen); -			if (PageAddItem(page, (Item) newitem, datalen, xlrec->offnum, -							false, false) == InvalidOffsetNumber) +			if (PageAddItem(page, newitem, datalen, xlrec->offnum, false, false) == InvalidOffsetNumber)  				elog(PANIC, "failed to add posting split new item");  		} @@ -368,8 +364,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)  		/* Add high key tuple from WAL record to temp page */  		leftoff = P_HIKEY; -		if (PageAddItem(leftpage, (Item) left_hikey, left_hikeysz, P_HIKEY, -						false, false) == InvalidOffsetNumber) +		if (PageAddItem(leftpage, left_hikey, left_hikeysz, P_HIKEY, false, false) == InvalidOffsetNumber)  			elog(ERROR, "failed to add high key to left page after split");  		leftoff = OffsetNumberNext(leftoff); @@ -384,9 +379,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)  			{  				Assert(newitemonleft ||  					   xlrec->firstrightoff == xlrec->newitemoff); -				if (PageAddItem(leftpage, (Item) nposting, -								MAXALIGN(IndexTupleSize(nposting)), leftoff, -								false, false) == InvalidOffsetNumber) +				if (PageAddItem(leftpage, nposting, MAXALIGN(IndexTupleSize(nposting)), leftoff, false, false) == InvalidOffsetNumber)  					elog(ERROR, "failed to add new posting list item to left page after split");  				leftoff = OffsetNumberNext(leftoff);  				continue;		/* don't insert oposting */ @@ -395,8 +388,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)  			/* add the new item if it was inserted on left page */  			else if (newitemonleft && off == xlrec->newitemoff)  			{ -				if (PageAddItem(leftpage, (Item) newitem, newitemsz, leftoff, -								false, false) == InvalidOffsetNumber) +				if (PageAddItem(leftpage, newitem, newitemsz, leftoff, false, false) == InvalidOffsetNumber)  					elog(ERROR, "failed to add new item to left page after split");  				leftoff = OffsetNumberNext(leftoff);  			} @@ -404,8 +396,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)  			itemid = PageGetItemId(origpage, off);  			itemsz = ItemIdGetLength(itemid);  			item = (IndexTuple) PageGetItem(origpage, itemid); -			if (PageAddItem(leftpage, (Item) item, itemsz, leftoff, -							false, false) == InvalidOffsetNumber) +			if (PageAddItem(leftpage, item, itemsz, leftoff, false, false) == InvalidOffsetNumber)  				elog(ERROR, "failed to add old item to left page after split");  			leftoff = OffsetNumberNext(leftoff);  		} @@ -413,8 +404,7 @@ btree_xlog_split(bool newitemonleft, XLogReaderState *record)  		/* cope with possibility that newitem goes at the end */  		if (newitemonleft && off == xlrec->newitemoff)  		{ -			if (PageAddItem(leftpage, (Item) newitem, newitemsz, leftoff, -							false, false) == InvalidOffsetNumber) +			if (PageAddItem(leftpage, newitem, newitemsz, leftoff, false, false) == InvalidOffsetNumber)  				elog(ERROR, "failed to add new item to left page after split");  			leftoff = OffsetNumberNext(leftoff);  		} @@ -503,8 +493,7 @@ btree_xlog_dedup(XLogReaderState *record)  			Size		itemsz = ItemIdGetLength(itemid);  			IndexTuple	item = (IndexTuple) PageGetItem(page, itemid); -			if (PageAddItem(newpage, (Item) item, itemsz, P_HIKEY, -							false, false) == InvalidOffsetNumber) +			if (PageAddItem(newpage, item, itemsz, P_HIKEY, false, false) == InvalidOffsetNumber)  				elog(ERROR, "deduplication failed to add highkey");  		} @@ -580,8 +569,7 @@ btree_xlog_updates(Page page, OffsetNumber *updatedoffsets,  		/* Overwrite updated version of tuple */  		itemsz = MAXALIGN(IndexTupleSize(vacposting->itup)); -		if (!PageIndexTupleOverwrite(page, updatedoffsets[i], -									 (Item) vacposting->itup, itemsz)) +		if (!PageIndexTupleOverwrite(page, updatedoffsets[i], vacposting->itup, itemsz))  			elog(PANIC, "failed to update partially dead item");  		pfree(vacposting->itup); @@ -788,8 +776,7 @@ btree_xlog_mark_page_halfdead(uint8 info, XLogReaderState *record)  	trunctuple.t_info = sizeof(IndexTupleData);  	BTreeTupleSetTopParent(&trunctuple, xlrec->topparent); -	if (PageAddItem(page, (Item) &trunctuple, sizeof(IndexTupleData), P_HIKEY, -					false, false) == InvalidOffsetNumber) +	if (PageAddItem(page, &trunctuple, sizeof(IndexTupleData), P_HIKEY, false, false) == InvalidOffsetNumber)  		elog(ERROR, "could not add dummy high key to half-dead page");  	PageSetLSN(page, lsn); @@ -923,8 +910,7 @@ btree_xlog_unlink_page(uint8 info, XLogReaderState *record)  		trunctuple.t_info = sizeof(IndexTupleData);  		BTreeTupleSetTopParent(&trunctuple, xlrec->leaftopparent); -		if (PageAddItem(page, (Item) &trunctuple, sizeof(IndexTupleData), P_HIKEY, -						false, false) == InvalidOffsetNumber) +		if (PageAddItem(page, &trunctuple, sizeof(IndexTupleData), P_HIKEY, false, false) == InvalidOffsetNumber)  			elog(ERROR, "could not add dummy high key to half-dead page");  		PageSetLSN(page, lsn); diff --git a/src/backend/access/spgist/spgdoinsert.c b/src/backend/access/spgist/spgdoinsert.c index af6b27b2135..e00bd0e2636 100644 --- a/src/backend/access/spgist/spgdoinsert.c +++ b/src/backend/access/spgist/spgdoinsert.c @@ -165,8 +165,7 @@ spgPageIndexMultiDelete(SpGistState *state, Page page,  		if (tuple == NULL || tuple->tupstate != tupstate)  			tuple = spgFormDeadTuple(state, tupstate, blkno, offnum); -		if (PageAddItem(page, (Item) tuple, tuple->size, -						itemno, false, false) != itemno) +		if (PageAddItem(page, tuple, tuple->size, itemno, false, false) != itemno)  			elog(ERROR, "failed to add item of size %u to SPGiST index page",  				 tuple->size); @@ -222,7 +221,7 @@ addLeafTuple(Relation index, SpGistState *state, SpGistLeafTuple leafTuple,  		/* Tuple is not part of a chain */  		SGLT_SET_NEXTOFFSET(leafTuple, InvalidOffsetNumber);  		current->offnum = SpGistPageAddNewItem(state, current->page, -											   (Item) leafTuple, leafTuple->size, +											   leafTuple, leafTuple->size,  											   NULL, false);  		xlrec.offnumLeaf = current->offnum; @@ -255,7 +254,7 @@ addLeafTuple(Relation index, SpGistState *state, SpGistLeafTuple leafTuple,  		{  			SGLT_SET_NEXTOFFSET(leafTuple, SGLT_GET_NEXTOFFSET(head));  			offnum = SpGistPageAddNewItem(state, current->page, -										  (Item) leafTuple, leafTuple->size, +										  leafTuple, leafTuple->size,  										  NULL, false);  			/* @@ -274,7 +273,7 @@ addLeafTuple(Relation index, SpGistState *state, SpGistLeafTuple leafTuple,  			SGLT_SET_NEXTOFFSET(leafTuple, InvalidOffsetNumber);  			PageIndexTupleDelete(current->page, current->offnum);  			if (PageAddItem(current->page, -							(Item) leafTuple, leafTuple->size, +							leafTuple, leafTuple->size,  							current->offnum, false, false) != current->offnum)  				elog(ERROR, "failed to add item of size %u to SPGiST index page",  					 leafTuple->size); @@ -478,8 +477,7 @@ moveLeafs(Relation index, SpGistState *state,  			 */  			SGLT_SET_NEXTOFFSET(it, r); -			r = SpGistPageAddNewItem(state, npage, (Item) it, it->size, -									 &startOffset, false); +			r = SpGistPageAddNewItem(state, npage, it, it->size, &startOffset, false);  			toInsert[nInsert] = r;  			nInsert++; @@ -492,9 +490,7 @@ moveLeafs(Relation index, SpGistState *state,  	/* add the new tuple as well */  	SGLT_SET_NEXTOFFSET(newLeafTuple, r); -	r = SpGistPageAddNewItem(state, npage, -							 (Item) newLeafTuple, newLeafTuple->size, -							 &startOffset, false); +	r = SpGistPageAddNewItem(state, npage, newLeafTuple, newLeafTuple->size, &startOffset, false);  	toInsert[nInsert] = r;  	nInsert++;  	memcpy(leafptr, newLeafTuple, newLeafTuple->size); @@ -1226,7 +1222,7 @@ doPickSplit(Relation index, SpGistState *state,  		/* Insert it on page */  		newoffset = SpGistPageAddNewItem(state, BufferGetPage(leafBuffer), -										 (Item) it, it->size, +										 it, it->size,  										 &startOffsets[leafPageSelect[i]],  										 false);  		toInsert[i] = newoffset; @@ -1268,7 +1264,7 @@ doPickSplit(Relation index, SpGistState *state,  		current->page = parent->page;  		xlrec.offnumInner = current->offnum =  			SpGistPageAddNewItem(state, current->page, -								 (Item) innerTuple, innerTuple->size, +								 innerTuple, innerTuple->size,  								 NULL, false);  		/* @@ -1302,7 +1298,7 @@ doPickSplit(Relation index, SpGistState *state,  		current->page = BufferGetPage(current->buffer);  		xlrec.offnumInner = current->offnum =  			SpGistPageAddNewItem(state, current->page, -								 (Item) innerTuple, innerTuple->size, +								 innerTuple, innerTuple->size,  								 NULL, false);  		/* Done modifying new current buffer, mark it dirty */ @@ -1340,7 +1336,7 @@ doPickSplit(Relation index, SpGistState *state,  		xlrec.innerIsParent = false;  		xlrec.offnumInner = current->offnum = -			PageAddItem(current->page, (Item) innerTuple, innerTuple->size, +			PageAddItem(current->page, innerTuple, innerTuple->size,  						InvalidOffsetNumber, false, false);  		if (current->offnum != FirstOffsetNumber)  			elog(ERROR, "failed to add item of size %u to SPGiST index page", @@ -1547,7 +1543,7 @@ spgAddNodeAction(Relation index, SpGistState *state,  		PageIndexTupleDelete(current->page, current->offnum);  		if (PageAddItem(current->page, -						(Item) newInnerTuple, newInnerTuple->size, +						newInnerTuple, newInnerTuple->size,  						current->offnum, false, false) != current->offnum)  			elog(ERROR, "failed to add item of size %u to SPGiST index page",  				 newInnerTuple->size); @@ -1631,7 +1627,7 @@ spgAddNodeAction(Relation index, SpGistState *state,  		/* insert new ... */  		xlrec.offnumNew = current->offnum =  			SpGistPageAddNewItem(state, current->page, -								 (Item) newInnerTuple, newInnerTuple->size, +								 newInnerTuple, newInnerTuple->size,  								 NULL, false);  		MarkBufferDirty(current->buffer); @@ -1654,7 +1650,7 @@ spgAddNodeAction(Relation index, SpGistState *state,  								  current->blkno, current->offnum);  		PageIndexTupleDelete(saveCurrent.page, saveCurrent.offnum); -		if (PageAddItem(saveCurrent.page, (Item) dt, dt->size, +		if (PageAddItem(saveCurrent.page, dt, dt->size,  						saveCurrent.offnum,  						false, false) != saveCurrent.offnum)  			elog(ERROR, "failed to add item of size %u to SPGiST index page", @@ -1818,7 +1814,7 @@ spgSplitNodeAction(Relation index, SpGistState *state,  	 */  	PageIndexTupleDelete(current->page, current->offnum);  	xlrec.offnumPrefix = PageAddItem(current->page, -									 (Item) prefixTuple, prefixTuple->size, +									 prefixTuple, prefixTuple->size,  									 current->offnum, false, false);  	if (xlrec.offnumPrefix != current->offnum)  		elog(ERROR, "failed to add item of size %u to SPGiST index page", @@ -1832,7 +1828,7 @@ spgSplitNodeAction(Relation index, SpGistState *state,  		postfixBlkno = current->blkno;  		xlrec.offnumPostfix = postfixOffset =  			SpGistPageAddNewItem(state, current->page, -								 (Item) postfixTuple, postfixTuple->size, +								 postfixTuple, postfixTuple->size,  								 NULL, false);  		xlrec.postfixBlkSame = true;  	} @@ -1841,7 +1837,7 @@ spgSplitNodeAction(Relation index, SpGistState *state,  		postfixBlkno = BufferGetBlockNumber(newBuffer);  		xlrec.offnumPostfix = postfixOffset =  			SpGistPageAddNewItem(state, BufferGetPage(newBuffer), -								 (Item) postfixTuple, postfixTuple->size, +								 postfixTuple, postfixTuple->size,  								 NULL, false);  		MarkBufferDirty(newBuffer);  		xlrec.postfixBlkSame = false; diff --git a/src/backend/access/spgist/spgutils.c b/src/backend/access/spgist/spgutils.c index 9b86c016acb..245ec05e4bb 100644 --- a/src/backend/access/spgist/spgutils.c +++ b/src/backend/access/spgist/spgutils.c @@ -1200,7 +1200,7 @@ spgExtractNodeLabels(SpGistState *state, SpGistInnerTuple innerTuple)   * rather than returning InvalidOffsetNumber.   */  OffsetNumber -SpGistPageAddNewItem(SpGistState *state, Page page, Item item, Size size, +SpGistPageAddNewItem(SpGistState *state, Page page, const void *item, Size size,  					 OffsetNumber *startOffset, bool errorOK)  {  	SpGistPageOpaque opaque = SpGistPageGetOpaque(page); diff --git a/src/backend/access/spgist/spgxlog.c b/src/backend/access/spgist/spgxlog.c index d4620c915d0..b7110302b98 100644 --- a/src/backend/access/spgist/spgxlog.c +++ b/src/backend/access/spgist/spgxlog.c @@ -47,7 +47,7 @@ fillFakeState(SpGistState *state, spgxlogState stateSrc)   * existing tuple, it had better be a placeholder tuple.   */  static void -addOrReplaceTuple(Page page, Item tuple, int size, OffsetNumber offset) +addOrReplaceTuple(Page page, const void *tuple, int size, OffsetNumber offset)  {  	if (offset <= PageGetMaxOffsetNumber(page))  	{ @@ -110,8 +110,7 @@ spgRedoAddLeaf(XLogReaderState *record)  		if (xldata->offnumLeaf != xldata->offnumHeadLeaf)  		{  			/* normal cases, tuple was added by SpGistPageAddNewItem */ -			addOrReplaceTuple(page, (Item) leafTuple, leafTupleHdr.size, -							  xldata->offnumLeaf); +			addOrReplaceTuple(page, leafTuple, leafTupleHdr.size, xldata->offnumLeaf);  			/* update head tuple's chain link if needed */  			if (xldata->offnumHeadLeaf != InvalidOffsetNumber) @@ -129,7 +128,7 @@ spgRedoAddLeaf(XLogReaderState *record)  			/* replacing a DEAD tuple */  			PageIndexTupleDelete(page, xldata->offnumLeaf);  			if (PageAddItem(page, -							(Item) leafTuple, leafTupleHdr.size, +							leafTuple, leafTupleHdr.size,  							xldata->offnumLeaf, false, false) != xldata->offnumLeaf)  				elog(ERROR, "failed to add item of size %u to SPGiST index page",  					 leafTupleHdr.size); @@ -232,8 +231,7 @@ spgRedoMoveLeafs(XLogReaderState *record)  			memcpy(&leafTupleHdr, leafTuple,  				   sizeof(SpGistLeafTupleData)); -			addOrReplaceTuple(page, (Item) leafTuple, -							  leafTupleHdr.size, toInsert[i]); +			addOrReplaceTuple(page, leafTuple, leafTupleHdr.size, toInsert[i]);  			ptr += leafTupleHdr.size;  		} @@ -309,7 +307,7 @@ spgRedoAddNode(XLogReaderState *record)  			page = BufferGetPage(buffer);  			PageIndexTupleDelete(page, xldata->offnum); -			if (PageAddItem(page, (Item) innerTuple, innerTupleHdr.size, +			if (PageAddItem(page, innerTuple, innerTupleHdr.size,  							xldata->offnum,  							false, false) != xldata->offnum)  				elog(ERROR, "failed to add item of size %u to SPGiST index page", @@ -351,8 +349,7 @@ spgRedoAddNode(XLogReaderState *record)  		{  			page = BufferGetPage(buffer); -			addOrReplaceTuple(page, (Item) innerTuple, -							  innerTupleHdr.size, xldata->offnumNew); +			addOrReplaceTuple(page, innerTuple, innerTupleHdr.size, xldata->offnumNew);  			/*  			 * If parent is in this same page, update it now. @@ -390,7 +387,7 @@ spgRedoAddNode(XLogReaderState *record)  									  xldata->offnumNew);  			PageIndexTupleDelete(page, xldata->offnum); -			if (PageAddItem(page, (Item) dt, dt->size, +			if (PageAddItem(page, dt, dt->size,  							xldata->offnum,  							false, false) != xldata->offnum)  				elog(ERROR, "failed to add item of size %u to SPGiST index page", @@ -492,8 +489,7 @@ spgRedoSplitTuple(XLogReaderState *record)  		{  			page = BufferGetPage(buffer); -			addOrReplaceTuple(page, (Item) postfixTuple, -							  postfixTupleHdr.size, xldata->offnumPostfix); +			addOrReplaceTuple(page, postfixTuple, postfixTupleHdr.size, xldata->offnumPostfix);  			PageSetLSN(page, lsn);  			MarkBufferDirty(buffer); @@ -508,15 +504,13 @@ spgRedoSplitTuple(XLogReaderState *record)  		page = BufferGetPage(buffer);  		PageIndexTupleDelete(page, xldata->offnumPrefix); -		if (PageAddItem(page, (Item) prefixTuple, prefixTupleHdr.size, +		if (PageAddItem(page, prefixTuple, prefixTupleHdr.size,  						xldata->offnumPrefix, false, false) != xldata->offnumPrefix)  			elog(ERROR, "failed to add item of size %u to SPGiST index page",  				 prefixTupleHdr.size);  		if (xldata->postfixBlkSame) -			addOrReplaceTuple(page, (Item) postfixTuple, -							  postfixTupleHdr.size, -							  xldata->offnumPostfix); +			addOrReplaceTuple(page, postfixTuple, postfixTupleHdr.size, xldata->offnumPostfix);  		PageSetLSN(page, lsn);  		MarkBufferDirty(buffer); @@ -662,8 +656,7 @@ spgRedoPickSplit(XLogReaderState *record)  		if (page == NULL)  			continue;			/* no need to touch this page */ -		addOrReplaceTuple(page, (Item) leafTuple, leafTupleHdr.size, -						  toInsert[i]); +		addOrReplaceTuple(page, leafTuple, leafTupleHdr.size, toInsert[i]);  	}  	/* Now update src and dest page LSNs if needed */ @@ -692,8 +685,7 @@ spgRedoPickSplit(XLogReaderState *record)  	{  		page = BufferGetPage(innerBuffer); -		addOrReplaceTuple(page, (Item) innerTuple, innerTupleHdr.size, -						  xldata->offnumInner); +		addOrReplaceTuple(page, innerTuple, innerTupleHdr.size, xldata->offnumInner);  		/* if inner is also parent, update link while we're here */  		if (xldata->innerIsParent) diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index cf46a543364..c23dee5231c 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -404,8 +404,7 @@ fill_seq_fork_with_data(Relation rel, HeapTuple tuple, ForkNumber forkNum)  	MarkBufferDirty(buf); -	offnum = PageAddItem(page, (Item) tuple->t_data, tuple->t_len, -						 InvalidOffsetNumber, false, false); +	offnum = PageAddItem(page, tuple->t_data, tuple->t_len, InvalidOffsetNumber, false, false);  	if (offnum != FirstOffsetNumber)  		elog(ERROR, "failed to add sequence tuple to page"); @@ -1946,8 +1945,7 @@ seq_redo(XLogReaderState *record)  	item = (char *) xlrec + sizeof(xl_seq_rec);  	itemsz = XLogRecGetDataLen(record) - sizeof(xl_seq_rec); -	if (PageAddItem(localpage, (Item) item, itemsz, -					FirstOffsetNumber, false, false) == InvalidOffsetNumber) +	if (PageAddItem(localpage, item, itemsz, FirstOffsetNumber, false, false) == InvalidOffsetNumber)  		elog(PANIC, "seq_redo: failed to add item to page");  	PageSetLSN(localpage, lsn); diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c index dbb49ed9197..aac6e695954 100644 --- a/src/backend/storage/page/bufpage.c +++ b/src/backend/storage/page/bufpage.c @@ -191,7 +191,7 @@ PageIsVerified(PageData *page, BlockNumber blkno, int flags, bool *checksum_fail   */  OffsetNumber  PageAddItemExtended(Page page, -					Item item, +					const void *item,  					Size size,  					OffsetNumber offsetNumber,  					int flags) @@ -1402,7 +1402,7 @@ PageIndexTupleDeleteNoCompact(Page page, OffsetNumber offnum)   */  bool  PageIndexTupleOverwrite(Page page, OffsetNumber offnum, -						Item newtup, Size newsize) +						const void *newtup, Size newsize)  {  	PageHeader	phdr = (PageHeader) page;  	ItemId		tupid; diff --git a/src/include/access/spgist_private.h b/src/include/access/spgist_private.h index 56ac64f0597..781e1e12e55 100644 --- a/src/include/access/spgist_private.h +++ b/src/include/access/spgist_private.h @@ -526,7 +526,7 @@ extern void spgDeformLeafTuple(SpGistLeafTuple tup, TupleDesc tupleDescriptor,  extern Datum *spgExtractNodeLabels(SpGistState *state,  								   SpGistInnerTuple innerTuple);  extern OffsetNumber SpGistPageAddNewItem(SpGistState *state, Page page, -										 Item item, Size size, +										 const void *item, Size size,  										 OffsetNumber *startOffset,  										 bool errorOK);  extern bool spgproperty(Oid index_oid, int attno, diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h index aeb67c498c5..abc2cf2a020 100644 --- a/src/include/storage/bufpage.h +++ b/src/include/storage/bufpage.h @@ -16,7 +16,6 @@  #include "access/xlogdefs.h"  #include "storage/block.h" -#include "storage/item.h"  #include "storage/off.h"  /* GUC variable */ @@ -351,13 +350,13 @@ PageValidateSpecialPointer(const PageData *page)   *		This does not change the status of any of the resources passed.   *		The semantics may change in the future.   */ -static inline Item +static inline void *  PageGetItem(const PageData *page, const ItemIdData *itemId)  {  	Assert(page);  	Assert(ItemIdHasStorage(itemId)); -	return (Item) (((const char *) page) + ItemIdGetOffset(itemId)); +	return (void *) (((const char *) page) + ItemIdGetOffset(itemId));  }  /* @@ -488,7 +487,7 @@ StaticAssertDecl(BLCKSZ == ((BLCKSZ / sizeof(size_t)) * sizeof(size_t)),  extern void PageInit(Page page, Size pageSize, Size specialSize);  extern bool PageIsVerified(PageData *page, BlockNumber blkno, int flags,  						   bool *checksum_failure_p); -extern OffsetNumber PageAddItemExtended(Page page, Item item, Size size, +extern OffsetNumber PageAddItemExtended(Page page, const void *item, Size size,  										OffsetNumber offsetNumber, int flags);  extern Page PageGetTempPage(const PageData *page);  extern Page PageGetTempPageCopy(const PageData *page); @@ -504,7 +503,7 @@ extern void PageIndexTupleDelete(Page page, OffsetNumber offnum);  extern void PageIndexMultiDelete(Page page, OffsetNumber *itemnos, int nitems);  extern void PageIndexTupleDeleteNoCompact(Page page, OffsetNumber offnum);  extern bool PageIndexTupleOverwrite(Page page, OffsetNumber offnum, -									Item newtup, Size newsize); +									const void *newtup, Size newsize);  extern char *PageSetChecksumCopy(Page page, BlockNumber blkno);  extern void PageSetChecksumInplace(Page page, BlockNumber blkno); diff --git a/src/include/storage/item.h b/src/include/storage/item.h deleted file mode 100644 index 5a4539cc381..00000000000 --- a/src/include/storage/item.h +++ /dev/null @@ -1,19 +0,0 @@ -/*------------------------------------------------------------------------- - * - * item.h - *	  POSTGRES disk item definitions. - * - * - * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/storage/item.h - * - *------------------------------------------------------------------------- - */ -#ifndef ITEM_H -#define ITEM_H - -typedef Pointer Item; - -#endif							/* ITEM_H */ diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index 43fe3bcd593..bb4e1b37005 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -1321,7 +1321,6 @@ IsForeignRelUpdatable_function  IsForeignScanParallelSafe_function  IsoConnInfo  IspellDict -Item  ItemArray  ItemId  ItemIdData  | 
