From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
Cc: | "David E(dot) Wheeler" <david(at)justatheory(dot)com>, pgsql-hackers Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: PL/pgSQL PERFORM with CTE |
Date: | 2013-08-20 12:24:31 |
Message-ID: | CAFj8pRDC+m-7To5uzk_0NQKp8O-y75XLKXnEg4spuDduTsj6Eg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2013/8/20 Andres Freund <andres(at)2ndquadrant(dot)com>
> On 2013-08-20 14:15:55 +0200, David E. Wheeler wrote:
> > Hi Pavel,
> >
> > On Aug 20, 2013, at 2:11 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
> >
> > >> david=# DO $$
> > >> david$# BEGIN
> > >> david$# WITH now AS (SELECT now())
> > >> david$# PERFORM * from now;
> > >> david$# END;
> > >> david$# $$;
> > >> ERROR: syntax error at or near "PERFORM"
> > >> LINE 4: PERFORM * from now;
> > >> ^
> > >> Parser bug in PL/pgSQL, perhaps?
> > >
> > > no
> > >
> > > you cannot use a PL/pgSQL statement inside SQL statement.
> >
> > Well, there ought to be *some* way to tell PL/pgSQL to discard the
> result. Right now I am adding a variable to select into but never otherwise
> use. Inelegant, IMHO. Perhaps I’m missing some other way to do it?
> >
> > If so, it would help if the hint suggesting the use of PERFORM pointed
> to such alternatives.
>
> Not that that's elegant but IIRC PERFORM (WITH ...) ought to work. I
> don't think the intermingled plpgsql/sql grammars allow a nice way right
> now.
>
+1
Pavel
>
> Greetings,
>
> Andres Freund
>
> --
> Andres Freund http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>
From | Date | Subject | |
---|---|---|---|
Next Message | Marko Tiikkaja | 2013-08-20 12:24:45 | Re: PL/pgSQL PERFORM with CTE |
Previous Message | Pavel Stehule | 2013-08-20 12:21:20 | Re: PL/pgSQL PERFORM with CTE |