Re: BUG #13832: Syntax errors are extremely unfriendly

From: Tim Hutt <tdhutt(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #13832: Syntax errors are extremely unfriendly
Date: 2015-12-24 18:06:14
Message-ID: CAKuVd4AafYiCafieV03AEguXKoiFGEzk0Z5zpccw1+A3+0hChg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Ah OK I guess this is an issue with Bison - theoretically it should be able
to say what it expects when it gets an invalid token right?
On 24 Dec 2015 16:11, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> tdhutt(at)gmail(dot)com writes:
> > When you have a syntax error in PostgreSQL (or MySQL for that matter) you
> > get a message like this:
> >> ERROR: syntax error at or near "FROM"
> >> Position: 8
> > This is not very user-friendly to put it mildly!
>
> Well, at least some of that is on the head of whatever client-side
> software you're using. psql, for example, produces an error cursor
> like this:
>
> regression=# select * from from tab;
> ERROR: syntax error at or near "from"
> LINE 1: select * from from tab;
> ^
>
> > Compare this with Clang's
> > error messages (http://clang.llvm.org/diagnostics.html) which give you
> the
> > exact location of the error, and also what was expected, and even
> > suggestions to fix it!
>
> As far as raw syntax errors go, we're pretty much limited by what Bison
> will do; we're unlikely to implement our own parser from scratch just
> to improve this. We do go to considerable lengths for semantic errors,
> eg in PG 9.5 you might get something like this for a misspelled column
> name:
>
> regression=# select unnique1 from tenk1;
> ERROR: column "unnique1" does not exist
> LINE 1: select unnique1 from tenk1;
> ^
> HINT: Perhaps you meant to reference the column "tenk1.unique1".
>
> regards, tom lane
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alexey Alexeev 2015-12-24 18:40:59 psql.exe error near '^'
Previous Message Tom Lane 2015-12-24 16:11:13 Re: BUG #13832: Syntax errors are extremely unfriendly