Inside a transaction you have snapshot isolation:
http://en.wikipedia.org/wiki/Snapshot_isolation as documented here:
http://code.google.com/appengine/docs/python/datastore/transactions.html#Isolation_and_Consistency

Can you explain a bit more about what you are doing? It is not clear why you
read an entity again inside a transaction. To change an entity you edit it
and then put it. If you use the same object your changes will be reflected
on it but if you read it from the datastore again it won't. Why do you read
it instead of passing it to later stages of the transaction is the question.


- alkis


On Wed, Sep 8, 2010 at 8:11 AM, Richard Thomas <[email protected]> wrote:

> Hello, everyone. I've been stuck on an issue with app engine for quite
> a while now. I've got a rather complex set of changes that I want to
> bundle in a transaction but the logic of the changes is in many places
> dependent on what changes were made earlier. It seems that changes
> made earlier in a transaction are not visible even to the transaction
> code itself until its committed. Is there a way to circumvent that?
> I've tried breaking things down into smaller less logically confusing
> transactions but such efforts inevitably end up being impossible to
> rollback if an error occurs later.
>
> I don't know what to try short of copying the entire entity group to
> some dummy objects and writing it back when I'm done. What's the
> reasoning behind this behaviour anyway? Its certainly not how other
> transaction systems work...
>
> Thanks in advance,
> Richard.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to