35 #define NUM_TIME_MAPPING_COLUMNS 3
63 elog(
ERROR,
"return type must be a row type");
136 memset(nulls, 0,
sizeof(nulls));
Datum array_position(PG_FUNCTION_ARGS)
static Datum values[MAXATTR]
#define FLEXIBLE_ARRAY_MEMBER
elog(ERROR, "%s: %s", p2, msg)
TypeFuncClass get_call_result_type(FunctionCallInfo fcinfo, Oid *resultTypeId, TupleDesc *resultTupleDesc)
#define SRF_IS_FIRSTCALL()
#define SRF_PERCALL_SETUP()
#define SRF_RETURN_NEXT(_funcctx, _result)
#define SRF_FIRSTCALL_INIT()
static Datum HeapTupleGetDatum(const HeapTupleData *tuple)
#define SRF_RETURN_DONE(_funcctx)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, Datum *values, bool *isnull)
bool LWLockAcquire(LWLock *lock, LWLockMode mode)
void LWLockRelease(LWLock *lock)
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
static Datum TransactionIdGetDatum(TransactionId X)
static Datum Int32GetDatum(int32 X)
volatile OldSnapshotControlData * oldSnapshotControl
#define OLD_SNAPSHOT_TIME_MAP_ENTRIES
MemoryContext multi_call_memory_ctx
TimestampTz head_timestamp
TransactionId xid_by_minute[FLEXIBLE_ARRAY_MEMBER]
TransactionId xid_by_minute[FLEXIBLE_ARRAY_MEMBER]
TimestampTz head_timestamp
#define NUM_TIME_MAPPING_COLUMNS
static HeapTuple MakeOldSnapshotTimeMappingTuple(TupleDesc tupdesc, OldSnapshotTimeMapping *mapping)
Datum pg_old_snapshot_time_mapping(PG_FUNCTION_ARGS)
static OldSnapshotTimeMapping * GetOldSnapshotTimeMapping(void)
PG_FUNCTION_INFO_V1(pg_old_snapshot_time_mapping)
static Datum TimestampTzGetDatum(TimestampTz X)
#define TimestampTzPlusMilliseconds(tz, ms)