pgsql: Don't treat complete_from_const as equivalent tocomplete_from_l

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Don't treat complete_from_const as equivalent tocomplete_from_l
Дата
Msg-id E1hiN9K-0003UE-S4@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Don't treat complete_from_const as equivalent to complete_from_list.

Commit 4f3b38fe2 supposed that complete_from_const() is equivalent to
the one-element-list case of complete_from_list(), but that's not
really true at all.  complete_from_const() supposes that the completion
is certain enough to justify wiping out whatever the user typed, while
complete_from_list() will only provide completions that match the
word-so-far.

In practice, given the lame parsing technology used by tab-complete.c,
it's fairly hard to believe that we're *ever* certain enough about
a completion to justify auto-correcting user input that doesn't match.

Hence, remove the inappropriate unification of the two cases.
As things now stand, complete_from_const() is used only for the
situation where we have no matches and we need to keep readline
from applying its default complete-with-file-names behavior.

This (mis?) behavior actually exists much further back, but
I'm hesitant to change it in released branches.  It's not too
late for v12, though, especially seeing that the aforesaid
commit is new in v12.

Per gripe from Ken Tanzer.

Discussion: https://postgr.es/m/CAD3a31XpXzrZA9TT3BqLSHghdTK+=cXjNCE+oL2Zn4+oWoc=qA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b4771d7c7f37d19e2879b18e288f681849d55806

Modified Files
--------------
src/bin/psql/tab-complete.c | 44 +++++++++++++++++++++++++++++---------------
1 file changed, 29 insertions(+), 15 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Simplify psql \d's rule for ordering the indexes of a table.
Следующее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Remove redundant newlines from error messages