On 21/05/2010 9:22 AM, Chris Smith wrote:
I'm writing in desperate hope that something like this exists... because
if so, it would make my life a lot easier.  I want to be able to:

a) Roll back a transaction

b) Receive a notification when retrying the exact same transaction might
cause different data to be returned from something that was done up to
the point of the rollback; i.e., some result set, update count, etc.
might be different.

I don't see any way to do that without polling. You need to be able to discover every record that the query results are generated from and watch for one of them to change.

My non-expert feeling is that you could possibly extend a predicate locking scheme to do this. It's something that'd maybe be possible by hooking into the predicate locking schemes being being designed to support true serializability in Pg (see periodic discussion on -hackers) but those locking schemes aren't in the main PG code yet. Even if they were, using them for this would be a significant amount of C-coding work to extend the server.

It might be a good idea to take a few steps back and look at what you are trying to achieve with this. Why do you want it? What for? What problem will it solve for you?

--
Craig Ringer

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to