summaryrefslogtreecommitdiff
path: root/src/backend/access/nbtree
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/nbtree')
-rw-r--r--src/backend/access/nbtree/nbtdedup.c9
-rw-r--r--src/backend/access/nbtree/nbtinsert.c18
-rw-r--r--src/backend/access/nbtree/nbtpage.c9
-rw-r--r--src/backend/access/nbtree/nbtsort.c6
-rw-r--r--src/backend/access/nbtree/nbtxlog.c48
5 files changed, 31 insertions, 59 deletions
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);