Re: psql: backslash fix

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Neil Conway <nconway(at)klamath(dot)dyndns(dot)org>
Cc: <pgsql-patches(at)postgresql(dot)org>
Subject: Re: psql: backslash fix
Date: 2002-03-11 22:08:29
Message-ID: Pine.LNX.4.30.0203111704530.690-100000@peter.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)gmx(dot)net

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Neil Conway 2002-03-11 22:12:55 Re: psql: backslash fix
Previous Message Neil Conway 2002-03-11 21:29:49 psql: backslash fix