summaryrefslogtreecommitdiff
path: root/src/backend/commands
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2022-10-11 10:37:52 +0530
committerAmit Kapila <akapila@postgresql.org>2022-10-11 10:37:52 +0530
commit776e1c8a5d1494e345e5e1b16a5eba5e98aaddca (patch)
tree763be8c9dd5f62cf004e8fd616536a744a466479 /src/backend/commands
parent8432a815feb8897aabe0c6ed59f32bc47a6b2d50 (diff)
Add a common function to generate the origin name.
Make a common replication origin name formatting function to replace multiple snprintf() expressions. This also includes logic previously done by ReplicationOriginNameForTablesync(). This makes the code to generate the origin name consistent among apply worker and tablesync worker. Author: Peter Smith Reviewed-By: Aleksander Alekseev Discussion: https://postgr.es/m/CAHut%2BPsa8hhfSE6ozUK-ih7GkQziAVAf4f3bqiXEj2nQiu-43g%40mail.gmail.com
Diffstat (limited to 'src/backend/commands')
-rw-r--r--src/backend/commands/subscriptioncmds.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c
index f3bfcca434c..97594cd9b18 100644
--- a/src/backend/commands/subscriptioncmds.c
+++ b/src/backend/commands/subscriptioncmds.c
@@ -657,7 +657,7 @@ CreateSubscription(ParseState *pstate, CreateSubscriptionStmt *stmt,
recordDependencyOnOwner(SubscriptionRelationId, subid, owner);
- snprintf(originname, sizeof(originname), "pg_%u", subid);
+ ReplicationOriginNameForLogicalRep(subid, InvalidOid, originname, sizeof(originname));
replorigin_create(originname);
/*
@@ -946,8 +946,8 @@ AlterSubscription_refresh(Subscription *sub, bool copy_data,
* origin and by this time the origin might be already
* removed. For these reasons, passing missing_ok = true.
*/
- ReplicationOriginNameForTablesync(sub->oid, relid, originname,
- sizeof(originname));
+ ReplicationOriginNameForLogicalRep(sub->oid, relid, originname,
+ sizeof(originname));
replorigin_drop_by_name(originname, true, false);
}
@@ -1315,7 +1315,8 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt,
char originname[NAMEDATALEN];
XLogRecPtr remote_lsn;
- snprintf(originname, sizeof(originname), "pg_%u", subid);
+ ReplicationOriginNameForLogicalRep(subid, InvalidOid,
+ originname, sizeof(originname));
originid = replorigin_by_name(originname, false);
remote_lsn = replorigin_get_progress(originid, false);
@@ -1521,8 +1522,8 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel)
* worker so passing missing_ok = true. This can happen for the states
* before SUBREL_STATE_FINISHEDCOPY.
*/
- ReplicationOriginNameForTablesync(subid, relid, originname,
- sizeof(originname));
+ ReplicationOriginNameForLogicalRep(subid, relid, originname,
+ sizeof(originname));
replorigin_drop_by_name(originname, true, false);
}
@@ -1533,7 +1534,7 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel)
RemoveSubscriptionRel(subid, InvalidOid);
/* Remove the origin tracking if exists. */
- snprintf(originname, sizeof(originname), "pg_%u", subid);
+ ReplicationOriginNameForLogicalRep(subid, InvalidOid, originname, sizeof(originname));
replorigin_drop_by_name(originname, true, false);
/*