Robert Haas <robertmh...@gmail.com> writes: > Your argument here sounds suspiciously like "If we add a new feature > and people use it in a stupid way then it may cause their stuff not to > work".
I think you're attacking a straw man ... > Everything that worked before adding an option like _pq_.report > continues to work afterward. Granted, if they try to use the option, > it will only work on versions that support that option, but that is > true of any new feature. Furthermore, they will easily be able to > tell based on the reported server version whether or not their request > for different behavior was accepted by the server. My point is specifically that that reasoning fails for features that you might try to use to determine what the server version is, or that you might try to use before finding out what the server version is. For example somebody might get cute and put an attempt to set _pq_.report into their connection request packet. It'll work fine as long as they don't test against old servers. Yes, you can code correctly if you recognize that the hazard exists, I'm just worried about people failing to recognize that. We don't have any infrastructure for systematic testing of newer client code against older server code, so it's something that bears worrying IMO. So mostly what I'm objecting to is your claim that applying this feature to server_version_num will do anything useful. Leaving that aside, it might well be a worthwhile idea. regards, tom lane