Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 16:42:18 +0100] rev 8815
[session] hook control context directly use transaction object when applicable
Most of the hooks control logic have been moved on Transaction anyway.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 16:17:21 +0100] rev 8814
[session] move context manager logic in the hook controls context manager
The `init_hooks_mode_categories` and `reset_hooks_mode_categories` have no other
user that the context manager itself. Having dedicated public function is not
useful.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:05:14 +0100] rev 8813
[session] drop the useless set_hooks_mode method
It has not external user and trivial code
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 17:09:55 +0100] rev 8812
[session/transaction] move most undo support into transaction
A small part that need repo access has not been moved into transaction yet.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 11:42:13 +0100] rev 8811
[session] simplify mode property
We can delegate very thing to transaction utility
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.
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.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 26 Mar 2013 15:26:29 +0100] rev 8808
[session] cleanup Transaction.cnxset
The attribute should always be there. It is None when not cnxset exists.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 17:50:11 +0100] rev 8807
[session] drop useless getter and setter for security
Those function have very few user and does not anything fancy. Internal user now
access tx.read/write_security directly. External user have been blessed with a
writable property. They are only interested in the write part of they did not
used the return of the removed function. They access it through the session
since I prefer the external world to not be aware of Transaction yet.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 19:40:09 +0100] rev 8806
[session/transaction] move read_security subtlety in transaction
This is transaction data, itshould be handled by the transaction itself.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:08:02 +0100] rev 8805
[transaction] initialize dbapi_request in __init__
There is not reason to have it implicitly declared.
The attribute is renamed to match its public name.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 17:00:25 +0100] rev 8804
[whatsnew] notify drop of deprecated code