CLOSE command tag
Is there a reason for this behavior?
nconway=# begin;
BEGIN
nconway=# declare foo cursor for select 1;
DECLARE CURSOR
nconway=# close foo;
CLOSE CURSOR
nconway=# close cursor foo;
ERROR: parser: parse error at or near "foo" at character 14
(i.e. the CLOSE command tag is "CLOSE CURSOR", which doesn't even appear
to be a command)
Cheers,
Neil
Neil Conway <neilc@samurai.com> writes:
(i.e. the CLOSE command tag is "CLOSE CURSOR", which doesn't even appear
to be a command)
Seems bogus to me too --- it should just say CLOSE. I suppose someone
made it that way by analogy with DECLARE CURSOR, but I don't think the
command tag should include keywords that don't actually appear in the
statement ...
regards, tom lane
Neil Conway writes:
(i.e. the CLOSE command tag is "CLOSE CURSOR", which doesn't even appear
to be a command)
The command tags are aligned with the SQL standard (see under <get
diagnostics statement>), which doesn't appear to make much sense in this
case, but it doesn't hurt anyone.
--
Peter Eisentraut peter_e@gmx.net
On Tue, 2003-04-22 at 09:11, Peter Eisentraut wrote:
The command tags are aligned with the SQL standard (see under <get
diagnostics statement>), which doesn't appear to make much sense in this
case, but it doesn't hurt anyone.
Fair enough.
If we're going to SQL-compliant here, there are a couple other command
tags that should be corrected: COMMIT -> COMMIT WORK, ROLLBACK ->
ROLLBACK WORK, UPDATE -> UPDATE WHERE, DELETE -> DELETE WHERE, etc.
Cheers,
Neil
Neil Conway writes:
If we're going to SQL-compliant here, there are a couple other command
tags that should be corrected: COMMIT -> COMMIT WORK, ROLLBACK ->
ROLLBACK WORK, UPDATE -> UPDATE WHERE, DELETE -> DELETE WHERE, etc.
We decided not to do these particular ones, mostly for compatibility
reasons. See past discussions.
--
Peter Eisentraut peter_e@gmx.net