libpq should expose GSS-related parameters even when not implemented.
authorTom Lane <[email protected]>
Fri, 20 Dec 2019 20:34:08 +0000 (15:34 -0500)
committerTom Lane <[email protected]>
Fri, 20 Dec 2019 20:34:08 +0000 (15:34 -0500)
commit875c7d70def61a725ed94d25859a7d806dd6e747
treefbb58b67fa10461141c5f07a249d89e47e73e22e
parent298d056d9d9786bac9c645be0011e8229029aa21
libpq should expose GSS-related parameters even when not implemented.

We realized years ago that it's better for libpq to accept all
connection parameters syntactically, even if some are ignored or
restricted due to lack of the feature in a particular build.
However, that lesson from the SSL support was for some reason never
applied to the GSSAPI support.  This is causing various buildfarm
members to have problems with a test case added by commit 6136e94dc,
and it's just a bad idea from a user-experience standpoint anyway,
so fix it.

While at it, fix some places where parameter-related infrastructure
was added with the aid of a dartboard, or perhaps with the aid of
the anti-pattern "add new stuff at the end".  It should be safe
to rearrange the contents of struct pg_conn even in released
branches, since that's private to libpq (and we'd have to move
some fields in some builds to fix this, anyway).

Back-patch to all supported branches.

Discussion: https://postgr.es/m/11297.1576868677@sss.pgh.pa.us
contrib/postgres_fdw/expected/postgres_fdw.out
contrib/postgres_fdw/sql/postgres_fdw.sql
doc/src/sgml/libpq.sgml
src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/libpq-int.h