PostgreSQL Source Code
git master
|
Go to the source code of this file.
Macros | |
#define | MaxHeapTuplesPerPageBits 11 |
#define | MaxBytesPerInteger 7 |
Functions | |
static uint64 | itemptr_to_uint64 (const ItemPointer iptr) |
static void | uint64_to_itemptr (uint64 val, ItemPointer iptr) |
static void | encode_varbyte (uint64 val, unsigned char **ptr) |
static uint64 | decode_varbyte (unsigned char **ptr) |
GinPostingList * | ginCompressPostingList (const ItemPointer ipd, int nipd, int maxsize, int *nwritten) |
ItemPointer | ginPostingListDecode (GinPostingList *plist, int *ndecoded_out) |
ItemPointer | ginPostingListDecodeAllSegments (GinPostingList *segment, int len, int *ndecoded_out) |
int | ginPostingListDecodeAllSegmentsToTbm (GinPostingList *ptr, int len, TIDBitmap *tbm) |
ItemPointer | ginMergeItemPointers (ItemPointerData *a, uint32 na, ItemPointerData *b, uint32 nb, int *nmerged) |
#define MaxBytesPerInteger 7 |
Definition at line 84 of file ginpostinglist.c.
#define MaxHeapTuplesPerPageBits 11 |
Definition at line 81 of file ginpostinglist.c.
|
static |
|
static |
Definition at line 115 of file ginpostinglist.c.
References val.
Referenced by ginCompressPostingList().
GinPostingList* ginCompressPostingList | ( | const ItemPointer | ipd, |
int | nipd, | ||
int | maxsize, | ||
int * | nwritten | ||
) |
Definition at line 197 of file ginpostinglist.c.
References Assert, buf, GinPostingList::bytes, encode_varbyte(), GinPostingList::first, ginPostingListDecode(), if(), itemptr_to_uint64(), MaxBytesPerInteger, GinPostingList::nbytes, palloc(), pfree(), SHORTALIGN, SHORTALIGN_DOWN, SizeOfGinPostingList, and val.
Referenced by addItemPointersToLeafTuple(), buildFreshLeafTuple(), createPostingTree(), ginRedoRecompress(), ginVacuumEntryPage(), ginVacuumPostingTreeLeaf(), leafRepackItems(), and test_itemptr_pair().
ItemPointer ginMergeItemPointers | ( | ItemPointerData * | a, |
uint32 | na, | ||
ItemPointerData * | b, | ||
uint32 | nb, | ||
int * | nmerged | ||
) |
Definition at line 378 of file ginpostinglist.c.
References a, b, cmp(), ginCompareItemPointers(), and palloc().
Referenced by addItemPointersToLeafTuple(), addItemsToLeaf(), ginRedoRecompress(), and leafRepackItems().
ItemPointer ginPostingListDecode | ( | GinPostingList * | plist, |
int * | ndecoded_out | ||
) |
Definition at line 284 of file ginpostinglist.c.
References ginPostingListDecodeAllSegments(), and SizeOfGinPostingList.
Referenced by addItemsToLeaf(), dataBeginPlaceToPageLeaf(), gin_leafpage_items(), ginCompressPostingList(), ginReadTuple(), ginRedoRecompress(), ginVacuumEntryPage(), ginVacuumPostingTreeLeaf(), leafRepackItems(), and test_itemptr_pair().
ItemPointer ginPostingListDecodeAllSegments | ( | GinPostingList * | segment, |
int | len, | ||
int * | ndecoded_out | ||
) |
Definition at line 297 of file ginpostinglist.c.
References Assert, GinPostingList::bytes, decode_varbyte(), GinPostingList::first, ginCompareItemPointers(), GinNextPostingListSegment, ItemPointerGetOffsetNumber(), itemptr_to_uint64(), len, GinPostingList::nbytes, OffsetNumberIsValid, palloc(), repalloc(), uint64_to_itemptr(), and val.
Referenced by GinDataLeafPageGetItems(), ginPostingListDecode(), and ginPostingListDecodeAllSegmentsToTbm().
int ginPostingListDecodeAllSegmentsToTbm | ( | GinPostingList * | ptr, |
int | len, | ||
TIDBitmap * | tbm | ||
) |
Definition at line 358 of file ginpostinglist.c.
References ginPostingListDecodeAllSegments(), items, len, pfree(), and tbm_add_tuples().
Referenced by GinDataLeafPageGetItemsToTbm().
|
inlinestatic |
Definition at line 87 of file ginpostinglist.c.
References Assert, GinItemPointerGetBlockNumber, GinItemPointerGetOffsetNumber, ItemPointerIsValid(), MaxHeapTuplesPerPageBits, and val.
Referenced by ginCompressPostingList(), and ginPostingListDecodeAllSegments().
|
inlinestatic |
Definition at line 102 of file ginpostinglist.c.
References Assert, GinItemPointerSetBlockNumber, GinItemPointerSetOffsetNumber, ItemPointerIsValid(), MaxHeapTuplesPerPageBits, and val.
Referenced by ginPostingListDecodeAllSegments().