summaryrefslogtreecommitdiff
path: root/src/backend/access/gin/gindatapage.c
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2014-03-24 18:40:26 +0200
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2014-03-24 18:44:40 +0200
commitbb42e21be274a71f6868ce2fc8fae2c15c3ecf66 (patch)
tree63cebcd2886c1b73f52c0f169fdbe0738ce30248 /src/backend/access/gin/gindatapage.c
parentcf5d38f4b9bcdf035c46ca8b3e5442557a21ef34 (diff)
Change ginMergeItemPointers to return a palloc'd array.
That seems nicer than making it the caller's responsibility to pass a suitable-sized array. All the callers were just palloc'ing an array anyway.
Diffstat (limited to 'src/backend/access/gin/gindatapage.c')
-rw-r--r--src/backend/access/gin/gindatapage.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/backend/access/gin/gindatapage.c b/src/backend/access/gin/gindatapage.c
index c6230f3bc5a..313d53c354f 100644
--- a/src/backend/access/gin/gindatapage.c
+++ b/src/backend/access/gin/gindatapage.c
@@ -1303,10 +1303,9 @@ addItemsToLeaf(disassembledLeaf *leaf, ItemPointer newItems, int nNewItems)
if (!cur->items)
cur->items = ginPostingListDecode(cur->seg, &cur->nitems);
- tmpitems = palloc((cur->nitems + nthis) * sizeof(ItemPointerData));
- ntmpitems = ginMergeItemPointers(tmpitems,
- cur->items, cur->nitems,
- nextnew, nthis);
+ tmpitems = ginMergeItemPointers(cur->items, cur->nitems,
+ nextnew, nthis,
+ &ntmpitems);
if (ntmpitems != cur->nitems)
{
cur->items = tmpitems;