Re: Parser abort ignoring following commands
От | Hannu Krosing |
---|---|
Тема | Re: Parser abort ignoring following commands |
Дата | |
Msg-id | 3B0FFB12.C42FD179@tm.ee обсуждение исходный текст |
Ответ на | Re: Parser abort ignoring following commands (Peter Eisentraut <peter_e@gmx.net>) |
Список | pgsql-hackers |
Peter Eisentraut wrote: > > Tom Lane writes: > > > Peter Eisentraut <peter_e@gmx.net> writes: > > > No, I think there is another problem. How about something without > > > selects: > > > > > $ psql -c 'delete from pk; delete from xx;' > > > ERROR: Relation 'xx' does not exist > > > > > "pk" exists, but nothing is deleted. > > > > Sure, because the transaction is rolled back. The whole string > > is executed in one transaction. You will definitely break existing > > applications if you change that. > > Applications that rely on this behaviour are broken. It was always said > that statements are in their own transaction block unless in an explicit > BEGIN/COMMIT block. A statement is defined to end at the semicolon, not > at the end of the string you submit to PQexec(). I guess that this is a multi-command statement ? It has always been so, except that psql seems to do some parsing and issue each command to backend separately. ---------------- Hannu
В списке pgsql-hackers по дате отправления: