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
>
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 |