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
Vladimir Popescu <vladimir.popescu@logilab.fr> [Wed, 27 Mar 2013 16:33:48 +0100] rev 8803
[web/views] extract cube embed (closes #1916015)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 26 Mar 2013 12:26:12 +0100] rev 8802
[skeleton] Update debian packaging to support only python 2.6 and up
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 27 Mar 2013 16:58:13 +0100] rev 8801
Drop iprogress code (closes #2777628)
Simon Chabot <simon.chabot@logilab.fr> [Wed, 27 Mar 2013 16:36:47 +0100] rev 8800
[web/views] extract cube sioc (closes #1916018)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 27 Mar 2013 15:36:41 +0100] rev 8799
[doc] Add 3.17 release notes
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 15:38:05 +0100] rev 8798
[migration] mark all version prior 3.7 as non-migrable
API possible used by such old migration script are not supported in recent
Cubiweb.
Closes #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:53:40 +0100] rev 8797
[dataimport] drop checkpoint backward compat API
Deprecated since 3.7. See #2772958 for details.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:53:06 +0100] rev 8796
[dataimport] drop index support deprecated since 3.7
Dropping of pre-3.7 API decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:51:42 +0100] rev 8795
[utils] drop pre-3.7 compat in util
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:50:58 +0100] rev 8794
[migration] drop pre-3.7 utility
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:50:10 +0100] rev 8793
[entity] drop pre-3.7 api on session
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:49:12 +0100] rev 8792
drop dubious comment
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 15:03:14 +0100] rev 8791
[req] drop pre-3.7 api on request
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 27 Mar 2013 14:46:55 +0100] rev 8790
[session] drop pre-3.7 api on session
Dropping of API deprecated since 3.7 decided in #2772958
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:35:18 +0100] rev 8789
[transaction] use set operation in the hook control code
We use direct operator on set instead of looping by hand, This simplify the
codes.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:08:48 +0100] rev 8788
[session/transaction] move hook management in transaction itself
This is transaction level code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 15:28:18 +0100] rev 8787
[session] allow writable tx_attr and use it for commit_state
This keep clarifying the code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:12:39 +0100] rev 8786
[session/transaction] move add operation in session code
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:13:34 +0100] rev 8785
[session/transaction] move entity life utility on transaction
This access transaction related data and therefor should live in transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 16:20:25 +0100] rev 8784
[transaction] small simplification in ecache code
A single assignation is simpler.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 14:16:16 +0100] rev 8783
[session/transaction] move entity cache management on session
A new utility method is added for that. It is similar to the one used for
attribute access. code is copy pasted as his. Function documentation is added.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 14:17:31 +0100] rev 8782
[session] have a nice helper function to forward access to session
This allows a lighter and clearer code. This will also ease the addition of
deprecation warning in the future.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 12:41:13 +0100] rev 8781
[session] drop dead code
session._tx is never None. New transaction are created if necessary.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:14:08 +0100] rev 8780
[session] use tx.data directly in session code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:11:17 +0100] rev 8779
[transaction] rename transaction_data to data
Transaction.transaction_data is redundant. A transaction_data property is left
for backward compatibility. Deprecation mechanism will come in later changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:58:43 +0100] rev 8778
[session] document Session._tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:05:49 +0100] rev 8777
[session] split session creation from default session assignation
This is the first step for more independence for Transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:04:43 +0100] rev 8776
[session] make session lock reentrant
We are going to use it for other session related business. It is renamed from
_closed_lock to _lock in the same move.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:51:50 +0100] rev 8775
[session] document set_tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:49:57 +0100] rev 8774
[session] rename txstore variable to tx
This is a more accurate name
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:10:19 +0100] rev 8773
[session] rename `_threaddata` to `_tx`
The returned object is a Transaction object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:37:51 +0100] rev 8772
[session] rename self.__threaddata.txdata to self.__threaddata.tx
This is Transaction object now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:42:33 +0100] rev 8771
[session] rename _tx_data into _txs
The object inside are now Transaction object. Not TransactionData object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:32:25 +0100] rev 8770
[transaction] relocate method building transaction context manager
It is in the middle of methods going to be refactored.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:49:48 +0100] rev 8769
[transaction] move RQLRewriter in Transaction
This remove the last ``AttributeError`` magic. The ``RQLRewriter`` needs a Session. Its
reset is handled in ``Session`` code to handle that
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:38:56 +0100] rev 8768
[transaction] initialize security control attribute in Transaction
There is no reason to not initialize them in __init__ time. This simplify the
Session code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:33:53 +0100] rev 8767
[session] move security constant out of the class
There is no reason for it to not be global. This will ease it use by
``Transaction object``.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:27:34 +0100] rev 8766
[transaction] initialize hook control attribute in Transaction
There is no reason to not initialize them in __init__ time. this simplify the
transaction code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:34:04 +0100] rev 8765
[session] Move hook control constants out of the class
There is no reason for them to not be global. This will ease they use by
Transaction object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 14:20:10 +0100] rev 8764
[transaction] initialize transaction data and state related attribute.
There is not reason to not explicitly declare and initialize attribute in
Transaction.__init__. This change requires the introduction of a
Transaction.clear() method to get ride of some wicked ``AttributeError`` based
logic.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:51:03 +0100] rev 8763
[transaction] handle ``mode`` default value in Transaction
The transaction mode is now explicitly passed at creation time and always read
from the Transaction object.
Note that there is a slight behavior change. The transaction mode is now set at
the creation of the transaction. Changes made to the default value have no
longer any effect on existing transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 17:47:45 +0100] rev 8762
[transaction] explicit Transaction cnxset attribute
The Transaction object have a lot more attribute that those previously declared
in __init__. They are just dynamically assigned in Session code.
This changeset explicit the ``cnxset`` and ``mode`` attribute declaration.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 17:09:49 +0100] rev 8761
[server] rename TransactionData to Transaction
Transaction will become a full featured object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:31:21 +0100] rev 8760
[doc] update Session documentation
A major refactoring of Session/Transaction handling is commit. This is a good
occasion to improves the documention.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 19:08:07 +0100] rev 8759
merge 3.16 fix in default
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:52:13 +0100] rev 8758
[devtools] fix a couple issues with xvfb-run
xvfb-run didn't quite clean up correctly after itself, because:
- dash doesn't run EXIT traps on signals
- if we don't run the command in the background, a TERM handler doesn't run
until the command exits
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:37:06 +0100] rev 8757
[devtools/qunit] don't open-code subprocess.Popen.terminate
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:01:05 +0100] rev 8756
[devtools/qunit] get rid of unused variable