19#ifdef USE_ASSERT_CHECKING
20#define CHECK_ENCODING_ROUNDTRIP
81#define MaxHeapTuplesPerPageBits 11
84#define MaxBytesPerInteger 7
117 unsigned char *p = *ptr;
121 *(p++) = 0x80 | (
val & 0x7F);
124 *(p++) = (
unsigned char)
val;
136 unsigned char *p = *ptr;
146 val |= (
c & 0x7F) << 7;
151 val |= (
c & 0x7F) << 14;
156 val |= (
c & 0x7F) << 21;
161 val |= (
c & 0x7F) << 28;
166 val |= (
c & 0x7F) << 35;
205 unsigned char *endptr;
237 unsigned char *p =
buf;
240 if (p -
buf > (endptr - ptr))
265#if defined (CHECK_ENCODING_ROUNDTRIP)
305 unsigned char *endptr;
314 while ((
char *) segment <
endseg)
330 ptr = segment->
bytes;
#define SHORTALIGN_DOWN(LEN)
#define Assert(condition)
static int ginCompareItemPointers(ItemPointer a, ItemPointer b)
#define GinItemPointerGetOffsetNumber(pointer)
#define SizeOfGinPostingList(plist)
#define GinItemPointerSetBlockNumber(pointer, blkno)
#define GinNextPostingListSegment(cur)
#define GinItemPointerSetOffsetNumber(pointer, offnum)
#define GinItemPointerGetBlockNumber(pointer)
static uint64 itemptr_to_uint64(const ItemPointerData *iptr)
ItemPointer ginPostingListDecodeAllSegments(GinPostingList *segment, int len, int *ndecoded_out)
GinPostingList * ginCompressPostingList(const ItemPointerData *ipd, int nipd, int maxsize, int *nwritten)
int ginPostingListDecodeAllSegmentsToTbm(GinPostingList *ptr, int len, TIDBitmap *tbm)
static void encode_varbyte(uint64 val, unsigned char **ptr)
ItemPointer ginPostingListDecode(GinPostingList *plist, int *ndecoded_out)
static uint64 decode_varbyte(unsigned char **ptr)
#define MaxBytesPerInteger
#define MaxHeapTuplesPerPageBits
static void uint64_to_itemptr(uint64 val, ItemPointer iptr)
ItemPointer ginMergeItemPointers(ItemPointerData *a, uint32 na, ItemPointerData *b, uint32 nb, int *nmerged)
static OffsetNumber ItemPointerGetOffsetNumber(const ItemPointerData *pointer)
ItemPointerData * ItemPointer
static bool ItemPointerIsValid(const ItemPointerData *pointer)
void * repalloc(void *pointer, Size size)
void pfree(void *pointer)
#define OffsetNumberIsValid(offsetNumber)
static char buf[DEFAULT_XLOG_SEG_SIZE]
static int cmp(const chr *x, const chr *y, size_t len)
unsigned char bytes[FLEXIBLE_ARRAY_MEMBER]
void tbm_add_tuples(TIDBitmap *tbm, const ItemPointerData *tids, int ntids, bool recheck)