Re: BUG #6067: In PL/pgsql, EXISTS(SELECT ... INTO...) fails - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: BUG #6067: In PL/pgsql, EXISTS(SELECT ... INTO...) fails
Date
Msg-id 20120817013203.GO30286@momjian.us
Whole thread Raw
In response to Re: BUG #6067: In PL/pgsql, EXISTS(SELECT ... INTO...) fails  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-bugs
On Wed, Nov 30, 2011 at 03:36:11PM -0500, Robert Haas wrote:
> On Tue, Nov 29, 2011 at 9:32 PM, Bruce Momjian <bruce@momjian.us> wrote:
> > Tom Lane wrote:
> >> "David Fetter" <dfetter@vmware.com> writes:
> >> >     IF EXISTS (SELECT 1 INTO STRICT i) THEN
> >> >         RAISE NOTICE '%', a;
> >> >     END IF;
> >>
> >> Umm ... are you just complaining that the error message isn't very
> >> helpful, or are you actually expecting that to do something useful?
> >> If the latter, what exactly?  I'm particularly confused by your use
> >> of the STRICT option here, because if we did support that, I would
> >> expect the STRICT to throw an error if there were not exactly one
> >> matching row, making the EXISTS test 100% pointless.
> >>
> >> But the short answer is that we don't support INTO in sub-selects,
> >> and in general I doubt that we ever will, since in most cases the
> >> behavior wouldn't be very well-defined.  It might be worth a TODO
> >> to provide a better error message than "syntax error", though.
> >
> > Is it worth documenting, fixing, or adding this to the TODO list?
>
> At most I would say we could try to improve the error message.

I researched this and it seems to complex to improve the error message.
I am afraid it would have to bleed into the main backend parser.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Cannot dump 8.4.8 database using later versions
Next
From: Andres Freund
Date:
Subject: Re: BUG #7494: WAL replay speed depends heavily on the shared_buffers size