v6 attached with the following changes: 1. Fixed rebase conflicts with master
2. removed PGC_S_PROTOCOL (but kept PGC_PROTOCOL and PGC_SU_PROTOCOL). This extra source level was not needed. And after some more testing I realized this extra source level even caused problems, since protocol messages could not override values set by SET commands anymore. 3. Added a new patch (0010) with a protocol parameter to configure which GUCs are GUC_REPORT. This is partially to show that the GUC interface makes sense for protocol parameters, but also because this would be an extremely useful feature for connection poolers. And [2] would be able to use this too. 4. Don't error, but only warn, if a GUC provided to _pq_.protocol_managed_params is unknown. It seemed useful to be able to specify GUCs in this list that not all Postgres versions support in the StartupMessage, without having to guess what postgres version you're going to connect to. [2]: https://www.postgresql.org/message-id/flat/cafj8prbfu-wzzqhnrwrhn67n0ug8a9-0-9boo69pptchibd...@mail.gmail.com
v6-0003-Prepare-server-code-for-addition-of-protocol-exte.patch
Description: Binary data
v6-0002-libpq-Handle-NegotiateProtocolVersion-message-mor.patch
Description: Binary data
v6-0004-libpq-Include-minor-version-number-in-PQprotocolV.patch
Description: Binary data
v6-0001-libpq-Remove-instance-of-hardcoded-protocol-versi.patch
Description: Binary data
v6-0005-Bump-protocol-version-to-3.1.patch
Description: Binary data
v6-0006-Add-protocol-message-to-change-parameters.patch
Description: Binary data
v6-0008-Add-_pq_.protocol_managed_params-protocol-extensi.patch
Description: Binary data
v6-0009-Add-tests-for-ParameterSet-and-_pq_.protocol_mana.patch
Description: Binary data
v6-0010-Add-_pq_.report_parameters-protocol-extension.patch
Description: Binary data
v6-0007-Add-GUC-contexts-for-protocol-extensions.patch
Description: Binary data