pgsql: Remove workaround for ancient incompatibility between readline a

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Remove workaround for ancient incompatibility between readline a
Дата
Msg-id E1YWq63-0001yP-V4@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Remove workaround for ancient incompatibility between readline and libedit.

GNU readline defines the return value of write_history() as "zero if OK,
else an errno code".  libedit's version of that function used to have a
different definition (to wit, "-1 if error, else the number of lines
written to the file").  We tried to work around that by checking whether
errno had become nonzero, but this method has never been kosher according
to the published API of either library.  It's reportedly completely broken
in recent Ubuntu releases: psql bleats about "No such file or directory"
when saving ~/.psql_history, even though the write worked fine.

However, libedit has been following the readline definition since somewhere
around 2006, so it seems all right to finally break compatibility with
ancient libedit releases and trust that the return value is what readline
specifies.  (I'm not sure when the various Linux distributions incorporated
this fix, but I did find that OS X has been shipping fixed versions since
10.5/Leopard.)

If anyone is still using such an ancient libedit, they will find that psql
complains it can't write ~/.psql_history at exit, even when the file was
written correctly.  This is no worse than the behavior we're fixing for
current releases.

Back-patch to all supported branches.

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/309ff2ad0459bbd9de695df81cdac2264ddeceec

Modified Files
--------------
src/bin/psql/input.c |   17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tatsuo Ishii
Дата:
Сообщение: pgsql: Fix integer overflow in debug message of walreceiver
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Remove workaround for ancient incompatibility between readline a