On 19.07.2024 01:10, Tom Lane wrote:
Actually, I think we ought to just reject this change. Debian 10 will be two years past EOL before PG 17 ships. So I don't see a reason to support it in the tests anymore. One of the points of such testing is to expose broken platforms, not mask them.Obviously, if anyone can point to a still-in-support platform with the same bug, that calculus might change.
The bug when broken version of libedit want to backslash some symbols (e.g. double quotas, curly braces, the question mark) i only encountered on Debian 10 (buster). If anyone has encountered a similar error on some other system, please share such information.
With respect to the other hacks Alexander mentions, maybe we could clean some of those out too? I don't recall what platform we had in mind there, but we've moved our goalposts on what we support pretty far in the last couple years.
Agreed that no reason to save workarounds for non-supported systems. Here is the patch that removes fixes for Buster bug mentioned above. With the best regards, -- Anton A. Melnikov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
From 971184c49cf2c5932bb682ee977a6fef9ba4eba5 Mon Sep 17 00:00:00 2001 From: "Anton A. Melnikov" <a.melni...@postgrespro.ru> Date: Sun, 21 Jul 2024 01:37:03 +0300 Subject: [PATCH] Remove workarounds for Debian 10 (Buster) with broken libedit from the 010_tab_completion.pl test. --- src/bin/psql/t/010_tab_completion.pl | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/bin/psql/t/010_tab_completion.pl b/src/bin/psql/t/010_tab_completion.pl index b45c39f0f5..678a0f7a2c 100644 --- a/src/bin/psql/t/010_tab_completion.pl +++ b/src/bin/psql/t/010_tab_completion.pl @@ -167,26 +167,18 @@ check_completion( qr/"mytab123" +"mytab246"/, "offer multiple quoted table choices"); -# note: broken versions of libedit want to backslash the closing quote; -# not much we can do about that -check_completion("2\t", qr/246\\?" /, +check_completion("2\t", qr/246" /, "finish completion of one of multiple quoted table choices"); -# note: broken versions of libedit may leave us in a state where psql -# thinks there's an unclosed double quote, so that we have to use -# clear_line not clear_query here -clear_line(); +clear_query(); # check handling of mixed-case names -# note: broken versions of libedit want to backslash the closing quote; -# not much we can do about that check_completion( "select * from \"mi\t", - qr/"mixedName\\?" /, + qr/"mixedName" /, "complete a mixed-case name"); -# as above, must use clear_line not clear_query here -clear_line(); +clear_query(); # check case folding check_completion("select * from TAB\t", qr/tab1 /, "automatically fold case"); @@ -198,8 +190,7 @@ clear_query(); # differently, so just check that the replacement comes out correctly check_completion("\\DRD\t", qr/drds /, "complete \\DRD<tab> to \\drds"); -# broken versions of libedit require clear_line not clear_query here -clear_line(); +clear_query(); # check completion of a schema-qualified name check_completion("select * from pub\t", @@ -261,18 +252,16 @@ check_completion( qr|tab_comp_dir/af\a?ile|, "filename completion with multiple possibilities"); -# broken versions of libedit require clear_line not clear_query here +# here we inside a string literal 'afile*' and wait for a sub-choice or second TAB. So use clear_line(). clear_line(); # COPY requires quoting -# note: broken versions of libedit want to backslash the closing quote; -# not much we can do about that check_completion( "COPY foo FROM tab_comp_dir/some\t", - qr|'tab_comp_dir/somefile\\?' |, + qr|'tab_comp_dir/somefile' |, "quoted filename completion with one possibility"); -clear_line(); +clear_query(); check_completion( "COPY foo FROM tab_comp_dir/af\t", -- 2.45.2