73#define CCID_HASH_SIZE 100
85#define CCID_ARRAY_SIZE 100
324 endptr = start_address +
sizeof(int) +
326 if (endptr < start_address || endptr > start_address + maxsize)
327 elog(
ERROR,
"not enough space to serialize ComboCID state");
331 memcpy(start_address +
sizeof(
int),
comboCids,
352 num_elements = *(
int *) comboCIDstate;
356 for (
i = 0;
i < num_elements;
i++)
362 elog(
ERROR,
"unexpected command ID while restoring combo CIDs");
#define Assert(condition)
CommandId HeapTupleHeaderGetCmin(const HeapTupleHeaderData *tup)
void RestoreComboCIDState(char *comboCIDstate)
static ComboCidKey comboCids
void HeapTupleHeaderAdjustCmax(const HeapTupleHeaderData *tup, CommandId *cmax, bool *iscombo)
static CommandId GetRealCmin(CommandId combocid)
ComboCidKeyData * ComboCidKey
void SerializeComboCIDState(Size maxsize, char *start_address)
static CommandId GetComboCommandId(CommandId cmin, CommandId cmax)
static CommandId GetRealCmax(CommandId combocid)
void AtEOXact_ComboCid(void)
CommandId HeapTupleHeaderGetCmax(const HeapTupleHeaderData *tup)
Size EstimateComboCIDStateSpace(void)
ComboCidEntryData * ComboCidEntry
void * hash_search(HTAB *hashp, const void *keyPtr, HASHACTION action, bool *foundPtr)
HTAB * hash_create(const char *tabname, long nelem, const HASHCTL *info, int flags)
volatile uint32 CritSectionCount
static CommandId HeapTupleHeaderGetRawCommandId(const HeapTupleHeaderData *tup)
static TransactionId HeapTupleHeaderGetXmin(const HeapTupleHeaderData *tup)
static TransactionId HeapTupleHeaderGetRawXmin(const HeapTupleHeaderData *tup)
static TransactionId HeapTupleHeaderGetUpdateXid(const HeapTupleHeaderData *tup)
static bool HeapTupleHeaderXminCommitted(const HeapTupleHeaderData *tup)
void * MemoryContextAlloc(MemoryContext context, Size size)
MemoryContext TopTransactionContext
void * repalloc(void *pointer, Size size)
Size add_size(Size s1, Size s2)
Size mul_size(Size s1, Size s2)
static pg_noinline void Size size
bool TransactionIdIsCurrentTransactionId(TransactionId xid)