Re: Add version macro to libpq-fe.h - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Add version macro to libpq-fe.h
Date
Msg-id 202106181427.xzfr43ceuwq5@alvherre.pgsql
Whole thread Raw
In response to Re: Add version macro to libpq-fe.h  (Boris Kolpackov <boris@codesynthesis.com>)
Responses Re: Add version macro to libpq-fe.h
List pgsql-hackers
On 2021-Jun-18, Boris Kolpackov wrote:

> Tom Lane <tgl@sss.pgh.pa.us> writes:
> 
> > I think putting a version number as such in there is a truly
> > horrid idea.  However, I could get behind adding a boolean flag
> > that says specifically whether the pipeline feature exists.
> > Then you'd do something like
> > 
> > #ifdef LIBPQ_HAS_PIPELINING
> > 
> > rather than embedding knowledge of exactly which release
> > added that.
> 
> That would be even better, but I agree with what others have
> said: we would have to keep adding such feature test macros
> going forward.

But we do not add that many significant features to libpq in the first
place, so I'm not sure it would be too bad.  As far as I am aware, this
is the first time someone has requested a mechanism to detect feature
presence specifically in libpq.

To put a number to it, I counted the number of commits to exports.txt
since Jan 2015 -- there are 17.  But many of them are just intra-release
fixups; the number of actual "features" is 11, an average of two per
year.  That seems small enough to me.

So I'm +1 on adding this "feature macro".

(The so-version major changed from 4 to 5 in commit 1e7bb2da573e, dated
April 2006.)

> I think ideally you would want to have both since the version
> macro could still be helpful in dealing with "features" that you
> did not plan to add (aka bugs).
> 
> 
> > Comparing v13 and v14 libpq-fe.h, I see that there is a solution
> > available now: "#ifdef PQ_QUERY_PARAM_MAX_LIMIT".
> 
> Hm, it must have been added recently since I don't see it in 14beta1.
> But thanks for the pointer, if nothing better comes up this will
> have to do.

Yeah, this one was added by commit cb92703384e2 on June 8th, three weeks
after beta1.

-- 
Álvaro Herrera       Valdivia, Chile
"Pido que me den el Nobel por razones humanitarias" (Nicanor Parra)



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Centralizing protective copying of utility statements
Next
From: Julien Rouhaud
Date:
Subject: Re: Centralizing protective copying of utility statements