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)
void RestoreComboCIDState(char *comboCIDstate)
void HeapTupleHeaderAdjustCmax(HeapTupleHeader tup, CommandId *cmax, bool *iscombo)
static ComboCidKey comboCids
static CommandId GetRealCmin(CommandId combocid)
ComboCidKeyData * ComboCidKey
CommandId HeapTupleHeaderGetCmin(HeapTupleHeader tup)
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(HeapTupleHeader 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
#define HeapTupleHeaderGetXmin(tup)
#define HeapTupleHeaderGetRawXmin(tup)
#define HeapTupleHeaderXminCommitted(tup)
#define HeapTupleHeaderGetUpdateXid(tup)
#define HeapTupleHeaderGetRawCommandId(tup)
MemoryContext TopTransactionContext
void * repalloc(void *pointer, Size size)
void * MemoryContextAlloc(MemoryContext context, 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)