mirror of
https://github.com/postgres/postgres.git
synced 2026-10-23 13:29:09 +03:00
Clarify logic in CreateSubscription().
No bug found in previous code, but it unnecessarily relied on grammar rules. Per complaint from Coverity. Reported-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/1787286.1786328153@sss.pgh.pa.us Backpatch-through: 19
This commit is contained in:
@@ -871,11 +871,17 @@ CreateSubscription(ParseState *pstate, CreateSubscriptionStmt *stmt,
|
||||
values[Anum_pg_subscription_subretentionactive - 1] =
|
||||
BoolGetDatum(opts.retaindeadtuples);
|
||||
values[Anum_pg_subscription_subserver - 1] = ObjectIdGetDatum(serverid);
|
||||
if (!OidIsValid(serverid))
|
||||
if (stmt->conninfo)
|
||||
{
|
||||
Assert(stmt->conninfo == conninfo && !OidIsValid(serverid));
|
||||
values[Anum_pg_subscription_subconninfo - 1] =
|
||||
CStringGetTextDatum(conninfo);
|
||||
CStringGetTextDatum(stmt->conninfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert(OidIsValid(serverid));
|
||||
nulls[Anum_pg_subscription_subconninfo - 1] = true;
|
||||
}
|
||||
if (opts.slot_name)
|
||||
values[Anum_pg_subscription_subslotname - 1] =
|
||||
DirectFunctionCall1(namein, CStringGetDatum(opts.slot_name));
|
||||
|
||||
Reference in New Issue
Block a user