On Mon, Feb 8, 2010 at 3:30 PM, Alvaro Herrera
<alvherre@commandprompt.com> wrote:
> Robert Haas escribió:
>> On Mon, Feb 8, 2010 at 1:01 PM, Marko Tiikkaja
>> <marko.tiikkaja@cs.helsinki.fi> wrote:
>> >> Could we just write, e.g.
>> >> "non-SELECT statements are not allowed within a cursor declaration?"
>> >> Or we could say "INSERT, UPDATE, and DELETE statements are not allowed
>> >> within a cursor declaration", but I'm thinking we may want to allow
>> >> things like COPY and EXPLAIN inside CTEs in the future, too, and
>> >> they'll presumably be treated similarly to DML.
>> >
>> > "INSERT, UPDATE and DELETE" is quite long and "non-SELECT" is a bit
>> > clumsy IMO. But I don't really have anything better to offer, either.
>>
>> Yeah, I don't feel good about "INSERT, UPDATE, and DELETE" because in
>> most of the relevant contexts the list might get longer if in the
>> future we allow things like EXPLAIN and COPY within CTEs. I think
>> "Non-SELECT statement" is reasonably clear, though; people might not
>> know which things are statements, but the message implies that SELECT
>> is one such thing, and not the one that's the problem, which should
>> get them pointed in the right direction.
>
> Hmm, how about VALUES? Isn't that a statement on its own right, that
> would similarly unaffected?
Ouch. You're right, that's a problem. :-(
TABLE is a similar case.
...Robert