From: Rajesh Kumar Mallah <mallah@trade-india.com>
To: Rod Taylor <pg@rbt.ca>
Cc: Holger Jakobs <holger@jakobs.com>
Cc: sszabo@megazone.bigpanda.com
Cc: pgsql-sql@postgresql.org
Subject: Re: transaction processing after error in statement
Date: Wed, 12 Nov 2003 00:50:14 +0530
Message-ID: <3FB1366E.9030805@trade-india.com> (raw)
In-Reply-To: <1068490585.25089.7.camel@jester>
References: <200311101237.hAACbuJ12784@bg.bib.de>
<1068490585.25089.7.camel@jester>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Rod Taylor wrote:<br>
<blockquote type="cite" cite="mid1068490585.25089.7.camel@jester">
<blockquote type="cite">
<pre wrap="">be recovered either. When committing a transaction the effects of all
operations that did not fail will be made permanent. This is how
transaction processing is described in the literature.
</pre>
</blockquote>
<pre wrap=""><!---->
I would be interested in reading that (URLs please) as I didn't see
anything in the spec that was interesting on this topic.
4.8.5 from Framework (part 01)
An SQL-transaction (transaction) is a sequence of executions of
SQL-statements that is atomic with respect to recovery. That is
to say: either the execution result is completely successful, or
it has no effect on any SQL-schemas or SQL-data.</pre>
</blockquote>
Although i am not aware of the roots of this discussion but would like
to<br>
comment at this point .<br>
<br>
When we work with sequences an aborted transaction does have<br>
a permanent effect on the last value of sequence. Is this behaviour <br>
not a violation of above defination of transaction ?<br>
<br>
<br>
Regds<br>
Mallah.<br>
<br>
<blockquote type="cite" cite="mid1068490585.25089.7.camel@jester">
<pre wrap="">
The "execution result is completely successful" could certainly be used
to back up PostgreSQLs choice to force a rollback. However, it doesn't
differentiate between execution of what the user requested, and
execution of recovery procedures on the successful user elements.
Irregardless, I wish a commit on a failed transaction would throw an
error -- END is good enough for Rollback or Commit.
For PostgreSQL to implement this we need Savepoints or nested
transactions internally since in many cases data is physically written
in order to perform things like Foreign Key constraint checks.
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
<a class="moz-txt-link-freetext" href="http://www.postgresql.org/docs/faqs/FAQ.html">http://www.postgresql.org/docs/faqs/FAQ.html<...;
</pre>
</blockquote>
<br>
</body>
</html>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: mallah@trade-india.com, pg@rbt.ca, holger@jakobs.com, sszabo@megazone.bigpanda.com
Subject: Re: transaction processing after error in statement
In-Reply-To: <3FB1366E.9030805@trade-india.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox