[Zope] Rollback and delete weird behavior
Chris McDonough
chrism at plope.com
Sat Jul 1 13:54:59 EDT 2006
Can you provide a reproducible test case? There are really too many
moving parts here to know what is going on without being able to
reproduce it.
On Jul 1, 2006, at 1:24 PM, Luiz Fernando B. Ribeiro wrote:
> Hello,
>
> In a python script I got a structure like this:
>
> # Many request checks
>
> # A zSQl method deleting some old data
> cotainer.doDelete(key=key)
>
> errors = [ ]
> for data in list:
> # Other checks
> if error:
> errors.append(error)
> continue
>
> # Inserts in mysql database
> cotainer.doInsert(data=data, other=stuff)
>
> if errors:
> raise "An Error with list of error: %s" % ', '.join(errors)
>
> # --- cut ---
>
> The problem is that the raise is not rolling back the delete,
> looking in mysql log the following sequence was found:
>
> --Begin transaction
> [delete statement]
> [the insert statements]
> --Rollback
> --Begin transaction !!
> [delete statement again] !!
> --Commit !!!
>
> We tried it many times and revised our code. The only solution was
> to put the delete statement in weird block like this:
>
> if True:
> cotainer.doDelete(key=key)
>
> As if the rollback was only effective against a "2nd level"
> instruction. This is a really odd behavior but with this trick the
> rollback was done correctly.
>
> Has anyone ever seen this?
>
> Luiz Fernando B. Ribeiro
> _______________________________________________
> Zope maillist - Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
>
More information about the Zope
mailing list