Make lsn argument of walrcv_create_slot() optional
authorPeter Eisentraut <peter@eisentraut.org>
Sat, 11 Jan 2020 08:00:19 +0000 (09:00 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Sat, 11 Jan 2020 08:07:14 +0000 (09:07 +0100)
Some callers are not using it, so it's wasteful to have to specify it.

Reviewed-by: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Discussion: https://www.postgresql.org/message-id/CA+fd4k4BcYrYucNfTnK-CQX3+jsG+PRPEhHAUSo-W4P0Lec57A@mail.gmail.com

src/backend/commands/subscriptioncmds.c
src/backend/replication/libpqwalreceiver/libpqwalreceiver.c

index 95962b4a3e707e0d07f7c3673cabbb18b4f993a0..9bfe142adaa02f7966657dc752d445625dc5d196 100644 (file)
@@ -428,7 +428,6 @@ CreateSubscription(CreateSubscriptionStmt *stmt, bool isTopLevel)
     */
    if (connect)
    {
-       XLogRecPtr  lsn;
        char       *err;
        WalReceiverConn *wrconn;
        List       *tables;
@@ -479,7 +478,7 @@ CreateSubscription(CreateSubscriptionStmt *stmt, bool isTopLevel)
                Assert(slotname);
 
                walrcv_create_slot(wrconn, slotname, false,
-                                  CRS_NOEXPORT_SNAPSHOT, &lsn);
+                                  CRS_NOEXPORT_SNAPSHOT, NULL);
                ereport(NOTICE,
                        (errmsg("created replication slot \"%s\" on publisher",
                                slotname)));
index 42e3e04e68d7f7fa7c409a792566029b8c949f51..658af71fec915e911aec8e28f4bfad1ed22a0f2e 100644 (file)
@@ -844,8 +844,10 @@ libpqrcv_create_slot(WalReceiverConn *conn, const char *slotname,
                        slotname, pchomp(PQerrorMessage(conn->streamConn)))));
    }
 
-   *lsn = DatumGetLSN(DirectFunctionCall1Coll(pg_lsn_in, InvalidOid,
-                                              CStringGetDatum(PQgetvalue(res, 0, 1))));
+   if (lsn)
+       *lsn = DatumGetLSN(DirectFunctionCall1Coll(pg_lsn_in, InvalidOid,
+                                                  CStringGetDatum(PQgetvalue(res, 0, 1))));
+
    if (!PQgetisnull(res, 0, 2))
        snapshot = pstrdup(PQgetvalue(res, 0, 2));
    else