On Sun, Apr 2, 2017 at 11:16 AM, Pavel Stehule <pavel.steh...@gmail.com> wrote:
> > > 2017-04-02 13:13 GMT+02:00 Fabien COELHO <coe...@cri.ensmp.fr>: > >> >> Hello Pavel, >> >> \echo :VERSION >>>> PostgreSQL 10devel on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu >>>> 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609, 64-bit >>>> >>>> Probably some :VERSION_NUM would make some sense. See attached PoC >>>> patch. >>>> Would it make sense? >>>> >>> >>> Maybe better name for you CLIENT_VERSION_NUM >>> >> >> If it was starting from nothing I would tend to agree with you, but there >> is already an existing :VERSION variable, so it seemed logical to keep on >> and create variants with the same prefix. > > > you have true - so VERSION_NUM should be client side version > > >> >> >> Can be SERVER_VERSION_NUM taken from connection info? >>> >> >> Probably it could. It seems a little less straightforward than defining a >> client-side string at compile time. The information is displayed when the >> connection is established, so the information is there somewhere. >> > > It is not too hard > > diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c > index 94a3cfce90..d1ae81646f 100644 > --- a/src/bin/psql/command.c > +++ b/src/bin/psql/command.c > @@ -3320,16 +3320,21 @@ checkWin32Codepage(void) > void > SyncVariables(void) > { > + char buffer[100]; > + > /* get stuff from connection */ > pset.encoding = PQclientEncoding(pset.db); > pset.popt.topt.encoding = pset.encoding; > pset.sversion = PQserverVersion(pset.db); > > + snprintf(buffer, 100, "%d", pset.sversion); > + > SetVariable(pset.vars, "DBNAME", PQdb(pset.db)); > SetVariable(pset.vars, "USER", PQuser(pset.db)); > SetVariable(pset.vars, "HOST", PQhost(pset.db)); > SetVariable(pset.vars, "PORT", PQport(pset.db)); > SetVariable(pset.vars, "ENCODING", pg_encoding_to_char(pset.encod > ing)); > + SetVariable(pset.vars, "SVERSION_NUM", buffer); > > /* send stuff to it, too */ > PQsetErrorVerbosity(pset.db, pset.verbosity); > > Regards > > Pavel > > >> >> psql (10devel, server 9.6.2) >> >> -- >> Fabien. >> > > I'm anxious to help with these patches, but they seem a bit of a moving target. Happy to jump in and review as soon as we've settled on what should be done.