identify_system_message_revise.patch

application/octet-stream

Filename: identify_system_message_revise.patch
Type: application/octet-stream
Part: 0
Message: Re: BUG #18224: message bug in libpqwalreceiver.c.

Patch

Format: unified
File+
src/backend/replication/libpqwalreceiver/libpqwalreceiver.c 3 3
diff --git a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
index 60d5c1fc40..44b08ff772 100644
--- a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
+++ b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
@@ -381,7 +381,7 @@ libpqrcv_identify_system(WalReceiverConn *conn, TimeLineID *primary_tli)
 						"the primary server: %s",
 						pchomp(PQerrorMessage(conn->streamConn)))));
 	}
-	if (PQnfields(res) < 3 || PQntuples(res) != 1)
+	if (PQnfields(res) < 4 || PQntuples(res) != 1)
 	{
 		int			ntuples = PQntuples(res);
 		int			nfields = PQnfields(res);
@@ -390,8 +390,8 @@ libpqrcv_identify_system(WalReceiverConn *conn, TimeLineID *primary_tli)
 		ereport(ERROR,
 				(errcode(ERRCODE_PROTOCOL_VIOLATION),
 				 errmsg("invalid response from primary server"),
-				 errdetail("Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields.",
-						   ntuples, nfields, 3, 1)));
+				 errdetail("Could not identify system: got %d rows and %d fields, expected %d row and %d or more fields.",
+						   ntuples, nfields, 1, 4)));
 	}
 	primary_sysid = pstrdup(PQgetvalue(res, 0, 0));
 	*primary_tli = pg_strtoint32(PQgetvalue(res, 0, 1));