2013/8/20 Merlin Moncure <mmonc...@gmail.com> > On Tue, Aug 20, 2013 at 7:25 AM, Andres Freund <and...@2ndquadrant.com> > wrote: > > 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.steh...@gmail.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. > > I think the way forward is to remove the restriction such that data > returning queries must be PERFORM'd
I disagree, current rule has sense. Pavel > > merlin >