Hmmm... you might be right there. I could easily make sure I never re-
read an entity during the transaction.

Basically I've been using queries to check whether certain constraints
are satisfied across the entire entity group late in the transaction
and erroring out if they are not. I'm going to try some things and
come back if I'm still confused.

Regards,
Richard.

On Sep 8, 10:24 am, Alkis Evlogimenos ('Αλκης Ευλογημένος)
<[email protected]> wrote:
> Inside a transaction you have snapshot 
> isolation:http://en.wikipedia.org/wiki/Snapshot_isolationas documented 
> here:http://code.google.com/appengine/docs/python/datastore/transactions.h...
>
> 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%2Bunsubscrib 
> > [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