2013-03-25 [transaction] use set operation in the hook control code
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.
2013-03-25 [session/transaction] move hook management in transaction itself
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.
2013-03-25 [session] allow writable tx_attr and use it for commit_state
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.
2013-03-25 [session/transaction] move add operation in session 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
2013-03-25 [session/transaction] move entity life utility on transaction
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.
2013-03-25 [transaction] small simplification in ecache code
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.
2013-03-25 [session/transaction] move entity cache management on session
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.
2013-03-25 [session] have a nice helper function to forward access to session
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.
2013-03-25 [session] drop dead code
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.
2013-03-22 [session] use tx.data directly in session code.
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.
2013-03-22 [transaction] rename transaction_data to data
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
2013-03-22 [session] document Session._tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:58:43 +0100] rev 8778
[session] document Session._tx
2013-03-22 [session] split session creation from default session assignation
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.
2013-03-22 [session] make session lock reentrant
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.
2013-03-22 [session] document set_tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:51:50 +0100] rev 8775
[session] document set_tx
2013-03-22 [session] rename txstore variable to 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
2013-03-22 [session] rename `_threaddata` to `_tx`
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.
2013-03-22 [session] rename self.__threaddata.txdata to self.__threaddata.tx
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.
2013-03-22 [session] rename _tx_data into _txs
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.
2013-03-22 [transaction] relocate method building transaction context manager
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.
2013-03-22 [transaction] move RQLRewriter in Transaction
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
2013-03-22 [transaction] initialize security control attribute in Transaction
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.
2013-03-22 [session] move security constant out of the class
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``.
2013-03-22 [transaction] initialize hook control attribute in Transaction
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.
2013-03-22 [session] Move hook control constants out of the class
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.
2013-03-25 [transaction] initialize transaction data and state related attribute.
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.
2013-03-22 [transaction] handle ``mode`` default value in Transaction
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.
2013-03-22 [transaction] explicit Transaction cnxset attribute
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.
2013-03-22 [server] rename TransactionData to Transaction
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.
2013-03-22 [doc] update Session documentation
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.
2013-03-21 merge 3.16 fix in default
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 19:08:07 +0100] rev 8759
merge 3.16 fix in default
2013-03-21 [devtools] fix a couple issues with xvfb-run stable
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
2013-03-21 [devtools/qunit] don't open-code subprocess.Popen.terminate stable
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
2013-03-21 [devtools/qunit] get rid of unused variable stable
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:01:05 +0100] rev 8756
[devtools/qunit] get rid of unused variable
2011-10-18 [server] *init_repository* lookup the database instead of the schema to drop tables (closes #810743) stable
Alain Leufroy <alain.leufroy@logilab.fr> [Tue, 18 Oct 2011 16:55:16 +0200] rev 8755
[server] *init_repository* lookup the database instead of the schema to drop tables (closes #810743) So, tables are dropped even if the schema was changed. :note: if mssql, drop views before tables. :note: because of table dependencies we try a second drop sequence
2012-10-18 [book] remove XXX to an old discussion about appengine stable
Arthur Lutz <arthur.lutz@logilab.fr> [Thu, 18 Oct 2012 15:52:05 +0200] rev 8754
[book] remove XXX to an old discussion about appengine
2013-02-22 [web publish] in case of error, ensure proper http status is set and Content-disposition header is reseted. Closes #2553066 stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 22 Feb 2013 12:20:59 +0100] rev 8753
[web publish] in case of error, ensure proper http status is set and Content-disposition header is reseted. Closes #2553066
2013-03-12 Add CubicWebRequestBase.content (closes #2742453)
Julien Cristau <julien.cristau@logilab.fr> [Tue, 12 Mar 2013 12:34:07 +0100] rev 8752
Add CubicWebRequestBase.content (closes #2742453) This is the body of the HTTP request (stream)
2013-01-17 add the match_http_method predicate (closes #2559932)
David Douard <david.douard@logilab.fr> [Thu, 17 Jan 2013 14:55:07 +0100] rev 8751
add the match_http_method predicate (closes #2559932) This aim at creating views which are selected on other HTTP methods (PUT, DELETE, ...)
2013-03-21 [pkg] the previous commit requires new feature in yams.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 18:35:19 +0100] rev 8750
[pkg] the previous commit requires new feature in yams.
2012-11-30 add a command to compare db schema and file system schema (closes #464991)
Alexandre Richardson <alexandre.richardson@logilab.fr> [Fri, 30 Nov 2012 16:43:36 +0100] rev 8749
add a command to compare db schema and file system schema (closes #464991)
2013-03-12 drop typed_eid() in favour of int() (closes #2742462)
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 12 Mar 2013 12:50:05 +0100] rev 8748
drop typed_eid() in favour of int() (closes #2742462) typed_eid was introduced to abstract the eid type when running on Google AppEngine. It is not used anymore and can be removed. Let's use int() instead.
2013-03-20 merge with stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Mar 2013 17:58:14 +0100] rev 8747
merge with stable
2013-03-21 3.15 is the new old stable oldstable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 18:13:31 +0100] rev 8746
3.15 is the new old stable
2012-09-17 [web] don't link to None in author box (when author has been deleted) (closes #2409855) stable
Arthur Lutz <arthur.lutz@logilab.fr> [Mon, 17 Sep 2012 14:39:29 +0200] rev 8745
[web] don't link to None in author box (when author has been deleted) (closes #2409855)
2013-03-19 dbapi: try to restore compatibility of the connect api with 3.15 stable
Julien Cristau <julien.cristau@logilab.fr> [Tue, 19 Mar 2013 18:20:57 +0100] rev 8744
dbapi: try to restore compatibility of the connect api with 3.15 A few issues here: - urlparse('foo').scheme is '', not None - cnxprops is an optional argument Regression from 62213a34726e ("[db-api/configuration] simplify db-api and configuration so that all the connection information is in the repository url, closes #2521848") Closes #2754322
2013-03-20 3.16 is the new stable stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Mar 2013 17:40:25 +0100] rev 8743
3.16 is the new stable After discussion with David Douard I'm merging 3.16.x branches in stable and starting 3.17 feature on default.
2013-03-19 Added tag cubicweb-debian-version-3.15.10-1 for changeset feca12e4a618 stable
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:46 +0100] rev 8742
Added tag cubicweb-debian-version-3.15.10-1 for changeset feca12e4a618
2013-03-19 Added tag cubicweb-version-3.15.10 for changeset 89bdb5444cd2 stable cubicweb-debian-version-3.15.10-1
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:45 +0100] rev 8741
Added tag cubicweb-version-3.15.10 for changeset 89bdb5444cd2
2013-03-19 prepare 3.15.10 stable cubicweb-version-3.15.10
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:28 +0100] rev 8740
prepare 3.15.10
2013-03-19 Added tag cubicweb-debian-version-3.16.1-1 for changeset 84fbcdc8021c
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:54:32 +0100] rev 8739
Added tag cubicweb-debian-version-3.16.1-1 for changeset 84fbcdc8021c
2013-03-19 Added tag cubicweb-version-3.16.1 for changeset d95cbb7349f0 cubicweb-debian-version-3.16.1-1
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:54:31 +0100] rev 8738
Added tag cubicweb-version-3.16.1 for changeset d95cbb7349f0
2013-03-19 prepare 3.16.1 cubicweb-version-3.16.1
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:53:57 +0100] rev 8737
prepare 3.16.1
2013-03-19 [views/primary] some inner sections should use the `limit` by default to avoid a denial of service (closes #2719110)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:30:06 +0100] rev 8736
[views/primary] some inner sections should use the `limit` by default to avoid a denial of service (closes #2719110) Today, it is possible to call .related and get a huge unlimited database-dos-inducing resultset that will be nevertheless limited a bit further in pure python in the `autolimited` view. While we cannot completely avoid potential denial of services such as these we mitigate the problem with the default ui settings: if the inner vid is `autolimited`, then the relation result sets is computed using the user-defined limit. This change respects the semantics of the `autolimited` view and shouldn't break anything.
2013-03-19 [entity] ensure the .related(entities=False) parameter is honored all the way down (closes #2755994)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:18:22 +0100] rev 8735
[entity] ensure the .related(entities=False) parameter is honored all the way down (closes #2755994) As of today, such a call will always fill the relation cache by calling .entities() on every single related rset entry. As a consequence, the `limit` parameter handling also had to be fixed. It was bogus in the following ways: * not used in the related_rql, hence potentially huge database requests, but also actually * foolishly used in the .entities()-calling cache routine we now bypass (this changeset ticket's main topic) Now: * we set a limit on the rql expression, and * forbid caching if given a non-None limit (as we don't want to make the cache handling code more complicated than it is already) With this, entity.unrelated gets a better limit implementation (so the code in related/unrelated is nice and symmetric) Risk: * _cw_relation_cache disappears completely, which is good, but this is Python, so you never know ...
2013-03-19 [test/web] fix invisibly bogus test (prepares #2755994)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:17:34 +0100] rev 8734
[test/web] fix invisibly bogus test (prepares #2755994) The test was wrong but that was cancelled out by a cache effect and fuzzy naming. Wiping the entity caches restores sanity: the choices list are the same before and after the SET. Also field.choices uses entity.unrelated but always returns related + unrelated elements. Hence `choice` replaces `unrelated` where it makes sense. AssertIn is used in place of AssertTrue.
(0) -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 tip