Re: psql: backslash fix - Mailing list pgsql-patches

From Peter Eisentraut
Subject Re: psql: backslash fix
Date
Msg-id Pine.LNX.4.30.0203111704530.690-100000@peter.localdomain
Whole thread Raw
In response to psql: backslash fix  (nconway@klamath.dyndns.org (Neil Conway))
Responses Re: psql: backslash fix  (Neil Conway <nconway@klamath.dyndns.org>)
List pgsql-patches
Neil Conway writes:

> Recently, I reported on -hackers a strange case where psql wouldn't
> reset it's query buffer properly on a malformed backslash command, which
> would mean that the next query wouldn't be parsed properly. For
> instance:
>
> nconway=> select foo\\bar;
> Invalid command \. Try \? for help.
> nconway-> select 1;
> ERROR:  parser: parse error at or near "select"

This is the correct behavior.

> I've attached a patch which fixes this. I'm not sure if it is the
> "right" way to fix it, but it resolves the situation discribed above, at
> least. The new behavior is:
>
> nconway=> select foo\\bar;
> Invalid command \. Try \? for help.
> ERROR:  Attribute 'foo' not found
> nconway=> select 1;
>  ?column?
>  ----------
>          1

The semicolon belongs to the backslash command.  Where did this get the
idea that the query buffer should be executed?  You could clear the query
buffer on a failed backslash command, but I wouldn't like that.

--
Peter Eisentraut   peter_e@gmx.net


pgsql-patches by date:

Previous
From: nconway@klamath.dyndns.org (Neil Conway)
Date:
Subject: psql: backslash fix
Next
From: Neil Conway
Date:
Subject: Re: psql: backslash fix