summaryrefslogtreecommitdiff
path: root/django
AgeCommit message (Collapse)Author
2013-03-17Fixed #19697 -- Added a deployment checklist.Aymeric Augustin
2013-03-17Fixed #19635 -- Made fields pickleableAnssi Kääriäinen
2013-03-17Merge pull request #902 from evildmp/BLANK_CHOICE_NONEAymeric Augustin
Fixed #20043 -- Removed unused BLANK_CHOICE_NONE
2013-03-17Stopped using non-standard __globals__ and __code__ attributes.Aymeric Augustin
Some alternative implementations don't have them. Closes #19944.
2013-03-17Updated bundled version of six.Aymeric Augustin
2013-03-17Fixed memory leak in testsAnssi Kääriäinen
The AssertNumQueriesContext didn't reset connection's use_debug_cursor in case there was an exception. This resulted in leaking query strings into connection.queries. Maximum memory use pre-patch was around 700MB, post-patch it is around 200MB for Django's test suite.
2013-03-16Merge pull request #910 from bmispelon/ticket-20058Claude Paroz
Fix #20058: Make compilemessages use stdout instead of stderr.
2013-03-16Fix #20058: Make compilemessages use stdout instead of stderr.Baptiste Mispelon
2013-03-16Fix 20061: remove out of date comment.Baptiste Mispelon
2013-03-15Fixed #20055 -- Add url, email, and number input types to admin CSS.Baptiste Mispelon
2013-03-15Fixed #16110 -- Fixed GeometryField odd behaviour regarding null valuesClaude Paroz
Thanks slinkp for the report and the initial patch.
2013-03-14Deprecated django.views.defaults.shortcut.Aymeric Augustin
2013-03-14Fixed #17051 -- Removed some 'invalid' field error messagesClaude Paroz
When the 'invalid' error message is set at field level, it masks the error message raised by the validator, if any.
2013-03-14Add a specific error message for URLValidatorClaude Paroz
2013-03-14Fixed #20039 -- Fixed has_changed form detection for required TypedChoiceFieldsClaude Paroz
Thanks Florian Apolloner for the report and the review. Also fixes #19643.
2013-03-14Fixed #16649 -- Refactored save_base logicAnssi Kääriäinen
Model.save() will use UPDATE - if not updated - INSERT instead of SELECT - if found UPDATE else INSERT. This should save a query when updating, but will cost a little when inserting model with PK set. Also fixed #17341 -- made sure .save() commits transactions only after the whole model has been saved. This wasn't the case in model inheritance situations. The save_base implementation was refactored into multiple methods. A typical chain for inherited save is: save_base() _save_parents(self) for each parent: _save_parents(parent) _save_table(parent) _save_table(self)
2013-03-13removed unused BLANK_CHOICE_NONEDaniele Procida
2013-03-13Fix #20022: Correctly handle prefixes with url-unsafe characters in reverse().Baptiste Mispelon
2013-03-13Improved recovery when the connection is closed in an atomic block.Aymeric Augustin
2013-03-13Made atomic usable when autocommit is off.Aymeric Augustin
Thanks Anssi for haggling until I implemented this. This change alleviates the need for atomic_if_autocommit. When autocommit is disabled for a database, atomic will simply create and release savepoints, and not commit anything. This honors the contract of not doing any transaction management. This change also makes the hack to allow using atomic within the legacy transaction management redundant. None of the above will work with SQLite, because of a flaw in the design of the sqlite3 library. This is a known limitation that cannot be lifted without unacceptable side effects eg. triggering arbitrary commits.
2013-03-13Fixed #20036 -- Improved GEOS version string parsingClaude Paroz
Thanks chikiro.spam at gmail.com for the report.
2013-03-13Refactored qs.add_q() and utils/tree.pyAnssi Kääriäinen
The sql/query.py add_q method did a lot of where/having tree hacking to get complex queries to work correctly. The logic was refactored so that it should be simpler to understand. The new logic should also produce leaner WHERE conditions. The changes cascade somewhat, as some other parts of Django (like add_filter() and WhereNode) expect boolean trees in certain format or they fail to work. So to fix the add_q() one must fix utils/tree.py, some things in add_filter(), WhereNode and so on. This commit also fixed add_filter to see negate clauses up the path. A query like .exclude(Q(reversefk__in=a_list)) didn't work similarly to .filter(~Q(reversefk__in=a_list)). The reason for this is that only the immediate parent negate clauses were seen by add_filter, and thus a tree like AND: (NOT AND: (AND: condition)) will not be handled correctly, as there is one intermediary AND node in the tree. The example tree is generated by .exclude(~Q(reversefk__in=a_list)). Still, aggregation lost connectors in OR cases, and F() objects and aggregates in same filter clause caused GROUP BY problems on some databases. Fixed #17600, fixed #13198, fixed #17025, fixed #17000, fixed #11293.
2013-03-12Fixed #19964 -- Removed relabel_aliases from some structsAnssi Kääriäinen
Before there was need to have both .relabel_aliases() and .clone() for many structs. Now there is only relabeled_clone() for those structs where alias is the only mutable attribute.
2013-03-12Restricted a workaround for a bug in Python to the affected versions.Aymeric Augustin
2013-03-12Fixed #20028 -- Made atomic usable on callable instances.Aymeric Augustin
Thanks Anssi for the report.
2013-03-12Removed unused imports.Aymeric Augustin
One of these functions didn't exist anymore.
2013-03-11Fixed a refactoring error in ba5138b1.Aymeric Augustin
Thanks Florian for tracing the error.
2013-03-11Fixed #20010 -- Make sure `last_executed_query` contains it's associated ↵Simon Charette
parameters on Oracle. Also removed some unused imports.
2013-03-11Fixed #11569 -- Wrapped DatabaseCache._base_set in an atomic block.Aymeric Augustin
The atomic block provides a clean rollback to a savepoint on failed writes. The ticket reported a race condition which I don't know how to test.
2013-03-11Deprecated django.contrib.comments.Jacob Kaplan-Moss
2013-03-11Avoided closing the database connection within a transaction.Aymeric Augustin
Refs #9437.
2013-03-11Ported layermapping for autocommit.Aymeric Augustin
2013-03-11Switched the admin to use @transaction.atomic.Aymeric Augustin
2013-03-11Fixed loaddata command, broken in the previous merge.Aymeric Augustin
2013-03-11Improved the API of set_autocommit.Aymeric Augustin
2013-03-11Abused atomic for transaction handling in TestCase.Aymeric Augustin
It isn't necessary to disable set_autocommit since its use is prohibited inside an atomic block. It's still necessary to disable the legacy transaction management methods for backwards compatibility, until they're removed.
2013-03-11Used commit_on_success_unless_managed in loaddata.Aymeric Augustin
2013-03-11Used commit_on_success_unless_managed to make ORM operations atomic.Aymeric Augustin
2013-03-11Added a safety net for developers messing with autocommit.Aymeric Augustin
2013-03-11Added an option to disable the creation of savepoints in atomic.Aymeric Augustin
2013-03-11Re-ordered functions by deprecation status.Aymeric Augustin
2013-03-11Deprecated TransactionMiddleware and TRANSACTIONS_MANAGED.Aymeric Augustin
Replaced them with per-database options, for proper multi-db support. Also toned down the recommendation to tie transactions to HTTP requests. Thanks Jeremy for sharing his experience.
2013-03-11Implemented atomic_if_autocommit.Aymeric Augustin
It disables transaction management entirely when AUTOCOMMIT is False.
2013-03-11Made transaction management work even before the first SQL query.Aymeric Augustin
Thanks Florian again.
2013-03-11Added some assertions to enforce the atomicity of atomic.Aymeric Augustin
2013-03-11Implemented an 'atomic' decorator and context manager.Aymeric Augustin
Currently it only works in autocommit mode. Based on @xact by Christophe Pettus.
2013-03-11Added support for savepoints in SQLite.Aymeric Augustin
Technically speaking they aren't usable yet.
2013-03-11Refactored implementation of savepoints.Aymeric Augustin
Prepared for using savepoints within transactions in autocommit mode.
2013-03-11Moved standard SQL for savepoints in the base backend.Aymeric Augustin
These methods are only called when uses_savepoints = True anyway.
2013-03-11Deprecated transaction.is_managed().Aymeric Augustin
It's synchronized with the autocommit flag.