Re: Correct handling of blank/commented lines in PSQL interactive-mode history
Laurenz Albe <laurenz.albe@cybertec.at>
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: "David G. Johnston" <david.g.johnston@gmail.com>, Greg Nancarrow <gregn4422@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-09-06T16:02:45Z
Lists: pgsql-hackers
On Mon, 2021-09-06 at 07:50 -0700, David G. Johnston wrote: > On Mon, Sep 6, 2021 at 7:13 AM Greg Nancarrow <gregn4422@gmail.com> wrote: > > I've attached a patch that corrects the behaviour. > > For the type of lines mentioned, the patch makes the history behave > > more like Bash history. > > I have my doubts that you've really fixed anything here since Bash is a > line-oriented shell while psql is a statement-oriented one. This is a feature. > What you are observing is, I think, a side-effect of that fact that > comments cannot terminate statements. That seems reasonable. > In short, your BEFORE results make sense and don't require fixing. I think that psql's behavior should be governed more by usefulness than by consideratoins like "comments cannot terminate statements". I agree with Greg that the current behavior is annoying and would welcome the change. This has bothered me before. That multi-line statements that contain a line with a space are omitted from the history when HISTCONTROL is set to "ignorespace" seems like a bug to me. So +1 on the idea of the patch, although I didn't scrutinize the implementation. Yours, Laurenz Albe
Commits
-
psql: initialize comment-begin setting to a useful value by default.
- 3d858af07ee6 15.0 landed
-
psql: treat "--" comments between queries as separate history entries.
- c2f654930e9f 15.0 landed
-
psql: include intra-query "--" comments in what's sent to the server.
- 83884682f4df 15.0 landed