Re: [HACKERS] Should libedit be preferred to libreadline? - Mailing list pgsql-patches

From Chris Browne
Subject Re: [HACKERS] Should libedit be preferred to libreadline?
Date
Msg-id 608xv3zaji.fsf@dba2.int.libertyrms.com
Whole thread Raw
In response to Re: [HACKERS] Should libedit be preferred to libreadline?  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: [HACKERS] Should libedit be preferred to libreadline?
List pgsql-patches
tgl@sss.pgh.pa.us (Tom Lane) writes:
> Peter Eisentraut <peter_e@gmx.net> writes:
>> I'm concerned that this still gives nondeterministic behavior.
>> There's no way to say, "I want readline, period" or "I want
>> libedit, period".  I'd prefer simple --with-readline and
>> --with-libedit, giving one turns off the other, giving both is an
>> error.
>
> OTOH that doesn't provide a way to express "I'll take either".
> Given that I'll-take-either has so far satisfied 99.44% of users,
> getting rid of it doesn't seem like the best plan.

I'll bet that for well over 80% of those 99.44% (was this, by any
chance, part of the 80% in the infamous quote "80% of all statistics
quoted to prove a point are made up on the spot"???  :-)), that what
happens is that the satisfied users have taken a prepackaged copy of
PostgreSQL.

On my home installations, for instance, I'm satisfied with whatever
configuration Martin Pitt did when he built Debian packages for
PostgreSQL, and there are doubtless a lot of others being satisfied
identically.

Those that use .rpms that you manage for Red Hat, or that other
packagers manage for Mandriva, SuSE, FreeBSD Ports, and such, fall
into much the same category of "satisfaction" where a lot of the
99.44% are being satisfied by the choices of a set of on the order of
a dozen individuals that do packaging.

Those of us using packages, who are probably quite common, are a big
step indirected from this.  We don't have a reason to prefer
determinism or nondeterminism in this matter; we'll get exactly one
choice, namely the choice that one or another of those ~ dozen people
make.

> It might be possible to set things up so that you can specify "I'll take
> either" by writing both switches, and further that the order in which
> you write the switches determines the preference --- though I'm not
> entirely sure how to do the latter within the autoconf framework.

I'll change hats; in my "overseeing binaries used at Afilias hat," my
vote would be with Peter, for determinism.  I'm not particularly
interested in seeing psql "magically" configure itself to slightly
prefer one editing library over another; I'd be entirely happy with:

 --with-readline
     implying that GNU readline shall be used, and libedit shall not
 --with-editline
     implying that libedit shall be used, and GNU readline shall not

Supposing we were to change to this "deterministic semantic" for 8.2,
I don't see a grand problem, here.  It seems likely to me that it
might confuse someone for all of 5 seconds when ./configure reports
back "Sorry, you don't have readline installed, so --with-readline
won't work!"

In contrast, the nondeterministic approach requires having extra knobs
to fiddle in order to prefer one thing to another.  I'm not sure but
that "configure hints" are as unattractive as "optimizer hints" :-).

To my mind, giving BIG weight to the opinions of the relatively small
set of individuals that manage PostgreSQL packages for the popular
distributions of Linux and *BSD seems fairly appropriate.
--
let name="cbbrowne" and tld="ntlug.org" in String.concat "@" [name;tld];;
http://cbbrowne.com/info/advocacy.html
Rules of the Evil Overlord #25.  "No matter how well it would perform,
I  will never  construct any  sort  of machinery  which is  completely
indestructible  except  for   one  small  and  virtually  inaccessible
vulnerable spot." <http://www.eviloverlord.com/>

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Numeric 508 datatype
Next
From: Bruce Momjian
Date:
Subject: Re: Numeric 508 datatype