Wed, 27 Mar 2013 11:01:40 +0100 [session/transaction] pass the session object to the Transaction __init__
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 11:01:40 +0100] rev 8810
[session/transaction] pass the session object to the Transaction __init__ This simplify access to variables. As we are moving more and more logic and states in the Transaction it will greatly helps in future commit.
Wed, 27 Mar 2013 19:54:36 +0100 [session] use a dedicated class to track cnxset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 19:54:36 +0100] rev 8809
[session] use a dedicated class to track cnxset We introduce a new CnxSetTracker to track `cnxset` used by Transaction and allows to wait for them. This new class does not use Thread ID not thread joining to work. This allows to use multiple transaction per thread and a transaction in multiple thread. The class itself is totally threadsafe by the Transaction is still not thread safe. The old _threads_in_transaction attribute is dropped in favor of a new logic based on this object. The registration of cnxset used is not done by the Transaction itself. tx.cnset is a property handling the Consistency of its value with the CnxSetTracker instance. Note: The CnxSetTracker instance only track transaction id, not transaction itself, So not reference cycle are created.
(0) -3000 -1000 -300 -100 -30 -10 -2 +2 +10 +30 +100 +300 +1000 +3000 tip