On Wed, Jan 10, 2018 at 3:55 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> But if we add this feature and somebody wants to use it for
>> server_version_num, it's really pretty simple. In the startup packet,
>> you say _pq_.report=server_version_num. Then, you call
>> PQparameterStatus(conn, "server_version_num"). If you don't get a
>> value, you try calling PQparameterStatus(conn, "server_version") and
>> extracting the second word. If that still doesn't work then you give
>> up. That doesn't seem either useless or difficult to implement
>> correctly from here.
>
> Yeah, but what's the point? If yuou have to maintain the server_version
> parsing code anyway, you're not saving any complexity with this. You're
> just creating a code backwater that you probably won't test adequately.
Well, you obviously don't buy the idea that parsing server_version_num
might be more reliable than parsing server_version. If you did buy
that idea, you might want to use the more-reliable technique when
possible and fall back otherwise, but I think you've made up your mind
about this. Anyway, a proposal like this gets us out of the business
of legislating what Everyone Must Do, which I think can only be a
plus.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company