|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | ConflictTupleInfo |
Macros | |
| #define | CONFLICT_NUM_TYPES (CT_MULTIPLE_UNIQUE_CONFLICTS + 1) |
| #define | CONFLICTS_LOGGED_TO_TABLE(dest) ((dest == CONFLICT_LOG_DEST_TABLE) || (dest == CONFLICT_LOG_DEST_ALL)) |
| #define | CONFLICTS_LOGGED_TO_LOG(dest) ((dest == CONFLICT_LOG_DEST_LOG) || (dest == CONFLICT_LOG_DEST_ALL)) |
Typedefs | |
| typedef struct EState | EState |
| typedef struct ResultRelInfo | ResultRelInfo |
| typedef struct TupleTableSlot | TupleTableSlot |
| typedef struct ConflictTupleInfo | ConflictTupleInfo |
| typedef enum ConflictLogDest | ConflictLogDest |
Enumerations | |
| enum | ConflictType { CT_INSERT_EXISTS , CT_UPDATE_ORIGIN_DIFFERS , CT_UPDATE_EXISTS , CT_UPDATE_DELETED , CT_UPDATE_MISSING , CT_DELETE_ORIGIN_DIFFERS , CT_DELETE_MISSING , CT_MULTIPLE_UNIQUE_CONFLICTS } |
| enum | ConflictLogDest { CONFLICT_LOG_DEST_LOG = 0 , CONFLICT_LOG_DEST_TABLE , CONFLICT_LOG_DEST_ALL } |
Functions | |
| Oid | create_conflict_log_table (Oid subid, char *subname, Oid subowner) |
| ConflictLogDest | GetConflictLogDest (const char *dest) |
| 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) |
| void | InitConflictIndexes (ResultRelInfo *relInfo) |
Variables | |
| PGDLLIMPORT const char *const | ConflictLogDestNames [] |
| #define CONFLICT_NUM_TYPES (CT_MULTIPLE_UNIQUE_CONFLICTS + 1) |
Definition at line 64 of file conflict.h.
| #define CONFLICTS_LOGGED_TO_LOG | ( | dest | ) | ((dest == CONFLICT_LOG_DEST_LOG) || (dest == CONFLICT_LOG_DEST_ALL)) |
Definition at line 98 of file conflict.h.
| #define CONFLICTS_LOGGED_TO_TABLE | ( | dest | ) | ((dest == CONFLICT_LOG_DEST_TABLE) || (dest == CONFLICT_LOG_DEST_ALL)) |
Definition at line 96 of file conflict.h.
Definition at line 17 of file conflict.h.
| typedef struct ResultRelInfo ResultRelInfo |
Definition at line 18 of file conflict.h.
| typedef struct TupleTableSlot TupleTableSlot |
Definition at line 19 of file conflict.h.
| Enumerator | |
|---|---|
| CONFLICT_LOG_DEST_LOG | |
| CONFLICT_LOG_DEST_TABLE | |
| CONFLICT_LOG_DEST_ALL | |
Definition at line 89 of file conflict.h.
| Enumerator | |
|---|---|
| CT_INSERT_EXISTS | |
| CT_UPDATE_ORIGIN_DIFFERS | |
| CT_UPDATE_EXISTS | |
| CT_UPDATE_DELETED | |
| CT_UPDATE_MISSING | |
| CT_DELETE_ORIGIN_DIFFERS | |
| CT_DELETE_MISSING | |
| CT_MULTIPLE_UNIQUE_CONFLICTS | |
Definition at line 31 of file conflict.h.
Definition at line 147 of file conflict.c.
References Assert, CommandCounterIncrement(), create_conflict_log_table_tupdesc(), ereport, errmsg, fb(), FreeTupleDesc(), get_qualified_objname(), heap_create_with_catalog(), InvalidOid, NAMEDATALEN, NewRelationCreateToastTable(), NIL, NOTICE, OidIsValid, ONCOMMIT_NOOP, relname, snprintf, and subname.
Referenced by alter_sub_conflict_log_dest().
|
extern |
Definition at line 210 of file conflict.c.
References CONFLICT_LOG_DEST_ALL, CONFLICT_LOG_DEST_LOG, CONFLICT_LOG_DEST_TABLE, ereport, errcode(), errhint(), errmsg, ERROR, fb(), and pg_strcasecmp().
Referenced by AlterSubscription(), and parse_subscription_options().
|
extern |
Definition at line 236 of file conflict.c.
References Assert, DatumGetTransactionId(), fb(), InvalidReplOriginId, MinTransactionIdAttributeNumber, slot_getsysattr(), track_commit_timestamp, and TransactionIdGetCommitTsData().
Referenced by apply_handle_delete_internal(), apply_handle_tuple_routing(), apply_handle_update_internal(), and CheckAndReportConflict().
|
extern |
Definition at line 312 of file conflict.c.
References fb(), i, lappend_oid(), NIL, RelationData::rd_index, and RelationGetRelid.
Referenced by apply_handle_insert_internal(), apply_handle_tuple_routing(), and apply_handle_update_internal().
|
extern |
Definition at line 277 of file conflict.c.
References ConflictTypeNames, ereport, errcode_apply_conflict(), errdetail_apply_conflict(), errdetail_internal(), errmsg, fb(), foreach_ptr, get_namespace_name(), initStringInfo(), MySubscription, Subscription::oid, pgstat_report_subscription_conflict(), RelationGetNamespace, RelationGetRelationName, and type.
Referenced by apply_handle_delete_internal(), apply_handle_tuple_routing(), apply_handle_update_internal(), and CheckAndReportConflict().
|
extern |