Re: Parser abort ignoring following commands
Peter Eisentraut <peter_e@gmx.net>
From: Peter Eisentraut <peter_e@gmx.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Development <pgsql-hackers@postgresql.org>
Date: 2001-05-26T15:57:16Z
Lists: pgsql-hackers
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(). -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter