From: Robert Haas Date: Fri, 21 Jul 2017 16:48:22 +0000 (-0400) Subject: pg_rewind: Fix busted sanity check. X-Git-Tag: REL_10_BETA3~96 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=063ff9210c54928a2d19f9e826486621809e1b82;p=postgresql pg_rewind: Fix busted sanity check. As written, the code would only fail the sanity check if none of the columns returned by the server were of the expected type, but we want it to fail if even one column is not of the expected type. Discussion: http://postgr.es/m/CA+TgmoYuY5zW7JEs+1hSS1D=V5K8h1SQuESrq=bMNeo0B71Sfw@mail.gmail.com --- diff --git a/src/bin/pg_rewind/libpq_fetch.c b/src/bin/pg_rewind/libpq_fetch.c index c25367fc49..cf3f64c3aa 100644 --- a/src/bin/pg_rewind/libpq_fetch.c +++ b/src/bin/pg_rewind/libpq_fetch.c @@ -269,8 +269,8 @@ receiveFileChunks(const char *sql) if (PQnfields(res) != 3 || PQntuples(res) != 1) pg_fatal("unexpected result set size while fetching remote files\n"); - if (PQftype(res, 0) != TEXTOID && - PQftype(res, 1) != INT4OID && + if (PQftype(res, 0) != TEXTOID || + PQftype(res, 1) != INT4OID || PQftype(res, 2) != BYTEAOID) { pg_fatal("unexpected data types in result set while fetching remote files: %u %u %u\n",