From: Daniel Gustafsson =0A= Date: Mon, 26 Jun 2017 13:46:35 +0200=0A= Subject: [PATCH 3/6] Server version check=0A= =0A= ---=0A= src/bin/psql/describe.c | 44 ++++++++++++++++++++++----------------------= =0A= 1 file changed, 22 insertions(+), 22 deletions(-)=0A= =0A= diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c=0A= index 2ac03533bc..85fc22d942 100644=0A= --- a/src/bin/psql/describe.c=0A= +++ b/src/bin/psql/describe.c=0A= @@ -3230,34 +3230,34 @@ listDbRoleSettings(const char *pattern, const char = *pattern2)=0A= PQExpBufferData buf;=0A= PGresult *res;=0A= printQueryOpt myopt =3D pset.popt;=0A= + bool havewhere;=0A= =20=0A= initPQExpBuffer(&buf);=0A= =20=0A= - if (pset.sversion >=3D 90000)=0A= - {=0A= - bool havewhere;=0A= -=0A= - printfPQExpBuffer(&buf, "SELECT rolname AS \"%s\", datname AS \"%s\",\n"= =0A= - "pg_catalog.array_to_string(setconfig, E'\\n') AS \"%s\"\n"=0A= - "FROM pg_db_role_setting AS s\n"=0A= - "LEFT JOIN pg_database ON pg_database.oid =3D setdatabase\n"=0A= - "LEFT JOIN pg_roles ON pg_roles.oid =3D setrole\n",=0A= - gettext_noop("Role"),=0A= - gettext_noop("Database"),=0A= - gettext_noop("Settings"));=0A= - havewhere =3D processSQLNamePattern(pset.db, &buf, pattern, false, false= ,=0A= - NULL, "pg_roles.rolname", NULL, NULL);=0A= - processSQLNamePattern(pset.db, &buf, pattern2, havewhere, false,=0A= - NULL, "pg_database.datname", NULL, NULL);=0A= - appendPQExpBufferStr(&buf, "ORDER BY 1, 2;");=0A= - }=0A= - else=0A= + if (pset.sversion < 90000)=0A= {=0A= - fprintf(pset.queryFout,=0A= - _("No per-database role settings support in this server version.\n"));= =0A= - return false;=0A= + char sverbuf[32];=0A= +=0A= + psql_error("The server (version %s) does not support per-database role s= ettings.\n",=0A= + formatPGVersionNumber(pset.sversion, false,=0A= + sverbuf, sizeof(sverbuf)));=0A= + return true;=0A= }=0A= =20=0A= + printfPQExpBuffer(&buf, "SELECT rolname AS \"%s\", datname AS \"%s\",\n"= =0A= + "pg_catalog.array_to_string(setconfig, E'\\n') AS \"%s\"\n"=0A= + "FROM pg_db_role_setting AS s\n"=0A= + "LEFT JOIN pg_database ON pg_database.oid =3D setdatabase\n"=0A= + "LEFT JOIN pg_roles ON pg_roles.oid =3D setrole\n",=0A= + gettext_noop("Role"),=0A= + gettext_noop("Database"),=0A= + gettext_noop("Settings"));=0A= + havewhere =3D processSQLNamePattern(pset.db, &buf, pattern, false, false,= =0A= + NULL, "pg_roles.rolname", NULL, NULL);=0A= + processSQLNamePattern(pset.db, &buf, pattern2, havewhere, false,=0A= + NULL, "pg_database.datname", NULL, NULL);=0A= + appendPQExpBufferStr(&buf, "ORDER BY 1, 2;");=0A= +=0A= res =3D PSQLexec(buf.data);=0A= if (!res)=0A= return false;=0A= --=20=0A= 2.13.0.rc0.45.ge2cb6ab.dirty=0A= =0A= --Apple-Mail=_65851710-C65C-4479-A03C-C4E02CAAA585 Content-Disposition: attachment; filename=0004-Include-all-details-from-normal-in-verbose-more-for-.patch Content-Type: application/octet-stream; name="0004-Include-all-details-from-normal-in-verbose-more-for-.patch" Content-Transfer-Encoding: quoted-printable