Re: IPC::Run::time[r|out] vs our TAP tests

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org, Alexander Korotkov <aekorotkov@gmail.com>
Date: 2024-04-05T02:37:56Z
Lists: pgsql-hackers
On Thu, Apr 04, 2024 at 10:31:24PM -0400, Tom Lane wrote:
> Michael Paquier <michael@paquier.xyz> writes:
>> This stuff is actually kind of funny on this host, "\echo :{?VERB\t"
>> completes to something incorrect, as of:
>> postgres=# \echo :\{\?VERBOSITY\}
> 
> Just to be clear: you see the extra backslashes if you try this
> tab-completion manually?

Yeah, I do, after completing "\echo :{?VERB" with this version of
libedit.  I see that this completes with backslashes added before '{',
'}' and '?'.  The test is telling the same.

>> Attaching the log file, for reference.  Now I can see that this uses
>> libedit at 3.1-20181209, which is far from recent.  I'd be OK to just
>> remove libedit from the build to remove this noise, still I am
>> wondering if 927332b95e77 got what it was trying to achieve actually
>> right.  Thoughts?
> 
> It kind of looks like a libedit bug, but maybe we should dig more
> deeply.  I felt itchy about 927332b95e77 removing '{' from the
> WORD_BREAKS set, and wondered exactly how that would change readline's
> behavior.  But even if that somehow accounts for the extra backslash
> before '{', it's not clear how it could lead to '?' and '}' also
> getting backslashed.

I don't have a clear idea, either.  I also feel uneasy about
927332b95e77 and its change of WORD_BREAKS, but this has the smell
of a bug from an outdated libedit version.
--
Michael

Commits

  1. Restart BackgroundPsql's timer more nicely.

  2. Implement pg_wal_replay_wait() stored procedure

  3. psql: fix variable existence tab completion