diff -r 7ee0752178e5 -r e2ba137b2bf9 server/session.py --- a/server/session.py Fri Dec 14 14:08:14 2012 +0100 +++ b/server/session.py Tue Dec 11 18:20:00 2012 +0100 @@ -31,7 +31,7 @@ from logilab.common.textutils import unormalize from logilab.common.registry import objectify_predicate -from cubicweb import UnknownEid, QueryError, schema +from cubicweb import UnknownEid, QueryError, schema, server from cubicweb.req import RequestSessionBase from cubicweb.dbapi import ConnectionProperties from cubicweb.utils import make_uid @@ -939,16 +939,21 @@ # information: # - processed by the precommit/commit event or not # - if processed, is it the failed operation + debug = server.DEBUG & server.DBG_OPS try: # by default, operations are executed with security turned off with security_enabled(self, False, False): processed = [] self.commit_state = 'precommit' + if debug: + print self.commit_state, '*' * 20 try: while self.pending_operations: operation = self.pending_operations.pop(0) operation.processed = 'precommit' processed.append(operation) + if debug: + print operation operation.handle_event('precommit_event') self.pending_operations[:] = processed self.debug('precommit session %s done', self.id) @@ -964,7 +969,11 @@ # instead of having to implements rollback, revertprecommit # and revertcommit, that will be enough in mont case. operation.failed = True + if debug: + print self.commit_state, '*' * 20 for operation in reversed(processed): + if debug: + print operation try: operation.handle_event('revertprecommit_event') except BaseException: @@ -977,8 +986,12 @@ raise self.cnxset.commit() self.commit_state = 'postcommit' + if debug: + print self.commit_state, '*' * 20 while self.pending_operations: operation = self.pending_operations.pop(0) + if debug: + print operation operation.processed = 'postcommit' try: operation.handle_event('postcommit_event')