aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2024-08-29 09:12:12 +0530
committerAmit Kapila <akapila@postgresql.org>2024-08-29 09:12:12 +0530
commit640178c92e3f6c74d275369b291b507834f1309e (patch)
treef290870e19c7b160800289d64c828b1f2f07ea14 /src
parent9d90e2bdafbdeba037aa4fee3febe9f48201bf74 (diff)
downloadpostgresql-640178c92e3f6c74d275369b291b507834f1309e.tar.gz
postgresql-640178c92e3f6c74d275369b291b507834f1309e.zip
Rename the conflict types for the origin differ cases.
The conflict types 'update_differ' and 'delete_differ' indicate that a row to be modified was previously altered by another origin. Rename those to 'update_origin_differs' and 'delete_origin_differs' to clarify their meaning. Author: Hou Zhijie Reviewed-by: Shveta Malik, Peter Smith Discussion: https://postgr.es/m/CAA4eK1+HEKwG_UYt4Zvwh5o_HoCKCjEGesRjJX38xAH3OxuuYA@mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/backend/replication/logical/conflict.c12
-rw-r--r--src/backend/replication/logical/worker.c6
-rw-r--r--src/include/replication/conflict.h4
-rw-r--r--src/test/subscription/t/013_partition.pl2
-rw-r--r--src/test/subscription/t/030_origin.pl4
5 files changed, 14 insertions, 14 deletions
diff --git a/src/backend/replication/logical/conflict.c b/src/backend/replication/logical/conflict.c
index 0bc79599803..a1437d4f770 100644
--- a/src/backend/replication/logical/conflict.c
+++ b/src/backend/replication/logical/conflict.c
@@ -24,10 +24,10 @@
static const char *const ConflictTypeNames[] = {
[CT_INSERT_EXISTS] = "insert_exists",
- [CT_UPDATE_DIFFER] = "update_differ",
+ [CT_UPDATE_ORIGIN_DIFFERS] = "update_origin_differs",
[CT_UPDATE_EXISTS] = "update_exists",
[CT_UPDATE_MISSING] = "update_missing",
- [CT_DELETE_DIFFER] = "delete_differ",
+ [CT_DELETE_ORIGIN_DIFFERS] = "delete_origin_differs",
[CT_DELETE_MISSING] = "delete_missing"
};
@@ -167,9 +167,9 @@ errcode_apply_conflict(ConflictType type)
case CT_INSERT_EXISTS:
case CT_UPDATE_EXISTS:
return errcode(ERRCODE_UNIQUE_VIOLATION);
- case CT_UPDATE_DIFFER:
+ case CT_UPDATE_ORIGIN_DIFFERS:
case CT_UPDATE_MISSING:
- case CT_DELETE_DIFFER:
+ case CT_DELETE_ORIGIN_DIFFERS:
case CT_DELETE_MISSING:
return errcode(ERRCODE_T_R_SERIALIZATION_FAILURE);
}
@@ -237,7 +237,7 @@ errdetail_apply_conflict(EState *estate, ResultRelInfo *relinfo,
break;
- case CT_UPDATE_DIFFER:
+ case CT_UPDATE_ORIGIN_DIFFERS:
if (localorigin == InvalidRepOriginId)
appendStringInfo(&err_detail, _("Updating the row that was modified locally in transaction %u at %s."),
localxmin, timestamptz_to_str(localts));
@@ -256,7 +256,7 @@ errdetail_apply_conflict(EState *estate, ResultRelInfo *relinfo,
appendStringInfo(&err_detail, _("Could not find the row to be updated."));
break;
- case CT_DELETE_DIFFER:
+ case CT_DELETE_ORIGIN_DIFFERS:
if (localorigin == InvalidRepOriginId)
appendStringInfo(&err_detail, _("Deleting the row that was modified locally in transaction %u at %s."),
localxmin, timestamptz_to_str(localts));
diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c
index 38c28953078..0fb577d3281 100644
--- a/src/backend/replication/logical/worker.c
+++ b/src/backend/replication/logical/worker.c
@@ -2702,7 +2702,7 @@ apply_handle_update_internal(ApplyExecutionData *edata,
newslot = table_slot_create(localrel, &estate->es_tupleTable);
slot_store_data(newslot, relmapentry, newtup);
- ReportApplyConflict(estate, relinfo, LOG, CT_UPDATE_DIFFER,
+ ReportApplyConflict(estate, relinfo, LOG, CT_UPDATE_ORIGIN_DIFFERS,
remoteslot, localslot, newslot,
InvalidOid, localxmin, localorigin, localts);
}
@@ -2868,7 +2868,7 @@ apply_handle_delete_internal(ApplyExecutionData *edata,
*/
if (GetTupleTransactionInfo(localslot, &localxmin, &localorigin, &localts) &&
localorigin != replorigin_session_origin)
- ReportApplyConflict(estate, relinfo, LOG, CT_DELETE_DIFFER,
+ ReportApplyConflict(estate, relinfo, LOG, CT_DELETE_ORIGIN_DIFFERS,
remoteslot, localslot, NULL,
InvalidOid, localxmin, localorigin, localts);
@@ -3097,7 +3097,7 @@ apply_handle_tuple_routing(ApplyExecutionData *edata,
newslot = table_slot_create(partrel, &estate->es_tupleTable);
slot_store_data(newslot, part_entry, newtup);
- ReportApplyConflict(estate, partrelinfo, LOG, CT_UPDATE_DIFFER,
+ ReportApplyConflict(estate, partrelinfo, LOG, CT_UPDATE_ORIGIN_DIFFERS,
remoteslot_part, localslot, newslot,
InvalidOid, localxmin, localorigin,
localts);
diff --git a/src/include/replication/conflict.h b/src/include/replication/conflict.h
index 02cb84da7ea..ca797fb41c6 100644
--- a/src/include/replication/conflict.h
+++ b/src/include/replication/conflict.h
@@ -21,7 +21,7 @@ typedef enum
CT_INSERT_EXISTS,
/* The row to be updated was modified by a different origin */
- CT_UPDATE_DIFFER,
+ CT_UPDATE_ORIGIN_DIFFERS,
/* The updated row value violates unique constraint */
CT_UPDATE_EXISTS,
@@ -30,7 +30,7 @@ typedef enum
CT_UPDATE_MISSING,
/* The row to be deleted was modified by a different origin */
- CT_DELETE_DIFFER,
+ CT_DELETE_ORIGIN_DIFFERS,
/* The row to be deleted is missing */
CT_DELETE_MISSING,
diff --git a/src/test/subscription/t/013_partition.pl b/src/test/subscription/t/013_partition.pl
index cf91542ed00..f2ecb37b6b2 100644
--- a/src/test/subscription/t/013_partition.pl
+++ b/src/test/subscription/t/013_partition.pl
@@ -799,7 +799,7 @@ $node_publisher->wait_for_catchup('sub_viaroot');
$logfile = slurp_file($node_subscriber1->logfile(), $log_location);
ok( $logfile =~
- qr/conflict detected on relation "public.tab2_1": conflict=update_differ.*\n.*DETAIL:.* Updating the row that was modified locally in transaction [0-9]+ at .*\n.*Existing local tuple \(yyy, null, 3\); remote tuple \(pub_tab2, quux, 3\); replica identity \(a\)=\(3\)/,
+ qr/conflict detected on relation "public.tab2_1": conflict=update_origin_differs.*\n.*DETAIL:.* Updating the row that was modified locally in transaction [0-9]+ at .*\n.*Existing local tuple \(yyy, null, 3\); remote tuple \(pub_tab2, quux, 3\); replica identity \(a\)=\(3\)/,
'updating a tuple that was modified by a different origin');
# The remaining tests no longer test conflict detection.
diff --git a/src/test/subscription/t/030_origin.pl b/src/test/subscription/t/030_origin.pl
index 01536a13e73..adfae1a56eb 100644
--- a/src/test/subscription/t/030_origin.pl
+++ b/src/test/subscription/t/030_origin.pl
@@ -163,7 +163,7 @@ is($result, qq(32), 'The node_A data replicated to node_B');
$node_C->safe_psql('postgres', "UPDATE tab SET a = 33 WHERE a = 32;");
$node_B->wait_for_log(
- qr/conflict detected on relation "public.tab": conflict=update_differ.*\n.*DETAIL:.* Updating the row that was modified by a different origin ".*" in transaction [0-9]+ at .*\n.*Existing local tuple \(32\); remote tuple \(33\); replica identity \(a\)=\(32\)/
+ qr/conflict detected on relation "public.tab": conflict=update_origin_differs.*\n.*DETAIL:.* Updating the row that was modified by a different origin ".*" in transaction [0-9]+ at .*\n.*Existing local tuple \(32\); remote tuple \(33\); replica identity \(a\)=\(32\)/
);
$node_B->safe_psql('postgres', "DELETE FROM tab;");
@@ -179,7 +179,7 @@ is($result, qq(33), 'The node_A data replicated to node_B');
$node_C->safe_psql('postgres', "DELETE FROM tab WHERE a = 33;");
$node_B->wait_for_log(
- qr/conflict detected on relation "public.tab": conflict=delete_differ.*\n.*DETAIL:.* Deleting the row that was modified by a different origin ".*" in transaction [0-9]+ at .*\n.*Existing local tuple \(33\); replica identity \(a\)=\(33\)/
+ qr/conflict detected on relation "public.tab": conflict=delete_origin_differs.*\n.*DETAIL:.* Deleting the row that was modified by a different origin ".*" in transaction [0-9]+ at .*\n.*Existing local tuple \(33\); replica identity \(a\)=\(33\)/
);
# The remaining tests no longer test conflict detection.