SAVEPOINT syntax again
От | Oliver Jowett |
---|---|
Тема | SAVEPOINT syntax again |
Дата | |
Msg-id | 411A2A6E.7000201@opencloud.com обсуждение исходный текст |
Список | pgsql-hackers |
Against CVS HEAD: > test=# select version(); > version > ----------------------------------------------------------------------------------------------- > PostgreSQL 8.0.0beta1 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.3 (Debian 20040401) > (1 row) > > test=# begin; > BEGIN > test=# savepoint foo; > SAVEPOINT > test=# rollback to foo; > ROLLBACK > test=# rollback to savepoint foo; > ERROR: syntax error at or near "foo" at character 23 > LINE 1: rollback to savepoint foo; > ^ > test=# rollback; > ROLLBACK > test=# begin; > BEGIN > test=# savepoint foo; > SAVEPOINT > test=# release foo; > RELEASE > test=# savepoint foo; > SAVEPOINT > test=# release savepoint foo; > ERROR: syntax error at or near "foo" at character 19 > LINE 1: release savepoint foo; > ^ Comments: 1) We have a different syntax to the SQL200n draft (and Oracle by the looks of it) for ROLLBACK. The draft says: > <rollback statement> ::= ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ <savepoint clause> ] > <savepoint clause> ::= TO SAVEPOINT <savepoint specifier> 2) We have a different syntax for RELEASE too. The SQL200n draft says: > <release savepoint statement> ::= RELEASE SAVEPOINT <savepoint specifier> 3) Can the command tag for a ROLLBACK TO SAVEPOINT be different to the command tag for a global rollback, so clients can distinguish the two cases? ("ROLLBACK <savepoint specifier>" might be nice) -O
В списке pgsql-hackers по дате отправления: