Re: Patch for Improved Syntax Error Reporting

From: Fernando Nasser <fnasser(at)cygnus(dot)com>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Neil Padgett <npadgett(at)redhat(dot)com>, "pgsql-patches(at)postgresql(dot)org" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Patch for Improved Syntax Error Reporting
Date: 2001-08-01 21:34:22
Message-ID: 3B6875DE.B0C2C116@cygnus.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Bruce Momjian wrote:
>
> > > > In fact, their solution is an improvement over what is in
> > > > TODO.detail/yacc now.
> > >
> > > Agreed, the idea of pulling out just the one line is an improvement over
> > > the last patch. It's still going down the wrong path though. We should
> > > be empowering client apps to highlight syntax errors properly, not
> > > presenting edited info in a way that might be useful to humans but will
> > > be unintelligible to programs. If we go that route, it will be harder
> > > to do the right thing later.
> > >
> > > > I know some people like a client-independent way of displaying errors,
> > > > but I like the direct approach of this patch, returning a string with
> > > > the error line highlighted and the location marked. I don't want to
> > > > push added complexity into the client, especially when we don't even
> > > > have a client who has this need yet.
> > >
> > > pgAdmin, phpAdmin, pgaccess, and friends don't count? We have GUI front
> > > ends *today*, you know.
> >
> > But how do they display error messages now? Can't they just continue
> > doing that with this new code? Do we want to make them code their own
> > error handling, and for what little benefit? Let them figure out how to
> > display the error in fixed-width font and be done with it. I am sure
> > they have bigger things to do than colorize error locations.
>
> A bigger question is that if we decide to output just offset information
> in the message, we have to be sure _all_ the clients can interpret it or
> the syntax information is confusing. Are we prepared to get all the
> clients update at the same time we add the feature? Seems we should go
> with a simple solution now and add later.
>

If instead of printing:

ERROR: A parse error near "foo"

we print

ERROR: A parse error near "foo" (index=10)

it should not affect any of the existing clients.
For the clients, this will be just text as before and they will print it as
received. If some client wants, it may look for the index information and do
whatever is convenient for that interface (as an enhancement).

So I think this option is backward compatible.

--
Fernando Nasser
Red Hat - Toronto E-Mail: fnasser(at)redhat(dot)com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ricardo Maia 2001-08-01 21:49:40 Re: What needs to be done?
Previous Message Bruce Momjian 2001-08-01 21:23:11 Re: Patch for Improved Syntax Error Reporting

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2001-08-01 22:22:00 Re: Patch for Improved Syntax Error Reporting
Previous Message Bruce Momjian 2001-08-01 21:23:11 Re: Patch for Improved Syntax Error Reporting