64#define CONFLICT_NUM_TYPES (CT_MULTIPLE_UNIQUE_CONFLICTS + 1)
96#define CONFLICTS_LOGGED_TO_TABLE(dest) \
97 ((dest == CONFLICT_LOG_DEST_TABLE) || (dest == CONFLICT_LOG_DEST_ALL))
98#define CONFLICTS_LOGGED_TO_LOG(dest) \
99 ((dest == CONFLICT_LOG_DEST_LOG) || (dest == CONFLICT_LOG_DEST_ALL))
@ CT_MULTIPLE_UNIQUE_CONFLICTS
@ CT_UPDATE_ORIGIN_DIFFERS
@ CT_DELETE_ORIGIN_DIFFERS
bool GetTupleTransactionInfo(TupleTableSlot *localslot, TransactionId *xmin, ReplOriginId *localorigin, TimestampTz *localts)
void ReportApplyConflict(EState *estate, ResultRelInfo *relinfo, int elevel, ConflictType type, TupleTableSlot *searchslot, TupleTableSlot *remoteslot, List *conflicttuples)
@ CONFLICT_LOG_DEST_TABLE
void InitConflictIndexes(ResultRelInfo *relInfo)
Oid create_conflict_log_table(Oid subid, char *subname, Oid subowner)
ConflictLogDest GetConflictLogDest(const char *dest)
PGDLLIMPORT const char *const ConflictLogDestNames[]