I think the issue might be related to this:

https://github.com/zopefoundation/zope.sqlalchemy/blob/master/src/zope/sqlalchemy/datamanager.py#L213

"""Record that a flush has occurred on a session's connection. This allows
    the DataManager to rollback rather than commit on read only transactions.
    """


also check 
out 
https://github.com/zopefoundation/zope.sqlalchemy/blob/master/src/zope/sqlalchemy/datamanager.py#L183

I remembered this line from peeking into Lawrence's code.  ( i needed to 
get savepoints into repoze.sendmail )

In a nutshell -- the call to execute isn't touching the ORM level; just the 
sqlalchemy core.  As such, it's not marking things as changed.  Not sure 
why a rollback is preferred to no activity, but my guess would be it's 
easier on replication.

If you call a dbSession.flush(), you should be able to generate an event 
that marks the session as changed, and will enable the commit.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to