Aymeric Augustin
83a416f5e7
Made atomic usable when autocommit is off.
...
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-13 15:17:40 +01:00
Aymeric Augustin
1b12e248ea
Fixed #11569 -- Wrapped DatabaseCache._base_set in an atomic block.
...
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-11 22:19:48 +01:00
Aymeric Augustin
ba5138b1c0
Deprecated transaction.commit/rollback_unless_managed.
...
Since "unless managed" now means "if database-level autocommit",
committing or rolling back doesn't have any effect.
Restored transactional integrity in a few places that relied on
automatically-started transactions with a transitory API.
2013-03-11 14:48:54 +01:00
Tomek Paczkowski
99edbe0e27
Fixed #19253 -- Extracted template cache key building logic
...
Introduced a public function
django.core.cache.utils.make_template_fragment_key
Thanks @chrismedrela for fruitful cooperation.
2013-02-24 14:32:45 +01:00
Bas Peschier
5a9b2bce24
Fixed #19810 -- MemcachedCache now uses pickle.HIGHEST_PROTOCOL
2013-02-24 13:56:15 +01:00
George Song
44164c5c30
Fixed #19896 -- Committed after clearing cache in the database.
2013-02-24 12:15:02 +01:00
Simon Charette
ec469ade2b
Fixed #19689 -- Renamed `Model._meta.module_name` to `model_name`.
2013-02-05 04:16:07 -05:00
Claude Paroz
7c5b244826
Fixed #17061 -- Factored out importing object from a dotted path
...
Thanks Carl Meyer for the report.
2013-02-04 16:38:25 +01:00
Aymeric Augustin
59351247bd
Removed django.core.cache.backends.memcached.CacheClass.
2012-12-29 21:59:07 +01:00
Aymeric Augustin
6c69de80bd
Tweaked cache key creation to avoid strict typing.
...
This is a provisional change. See #19221 for details.
2012-11-11 21:23:45 +01:00
Aymeric Augustin
4c5cea7073
Merge pull request #218 from mgrouchy/ticket_18582
...
Fixed #18582 -- Added a no-op close to BaseCache
2012-11-11 07:18:45 -08:00
Anssi Kääriäinen
cc0ac26f4a
Fixed #19273 -- Fixed DB cache backend on pg 9.0+ and py3
...
There was a problem caused by Postgres 9.0+ having bytea_output default
value of 'hex' and cache backend inserting the content as 'bytes' into
a column of type TEXT. Fixed by converting the bytes value to a string
before insert.
2012-11-10 19:42:20 +02:00
Claude Paroz
04a7ea3283
Removed an impossible code path in cache function
2012-11-10 15:42:27 +01:00
Claude Paroz
79dd751b0b
Fixed #14315 -- Made memcached backend handle negative incr/decr values
...
Thanks Michael Manfre for the report and initial patch and
Tobias McNulty for the review.
2012-11-06 12:22:42 +01:00
Alex Gaynor
335a9f9cf1
Removed many uses of bare "except:", which were either going to a) silence real issues, or b) were impossible to hit.
2012-09-07 15:08:07 -04:00
Claude Paroz
ae88e73fa6
Replaced some smart_xxx by force_xxx equivalent
...
smart_str/smart_text should only be used when a potential lazy
string should be preserved in the result of the function call.
2012-08-30 15:46:16 +02:00
Claude Paroz
ebc773ada3
Replaced many smart_bytes by force_bytes
...
In all those occurrences, we didn't care about preserving the
lazy status of the strings, but we really wanted to obtain a
real bytestring.
2012-08-29 11:20:32 +02:00
Aymeric Augustin
2284419a2c
[py3] Fixed cache tests.
2012-08-18 11:15:05 +02:00
Claude Paroz
24de85c419
[py3] Fixed more encoding issues in cache tests
2012-08-15 22:48:09 +02:00
Claude Paroz
4e17f4589a
Fixed #18770 -- memcached cache backend expects byte strings as keys
...
Thanks thecore for the report.
2012-08-15 16:57:17 +02:00
Aymeric Augustin
212a512984
[py3] Avoided the deprecated base64 interface.
...
This fixes a deprecation warning under Python 3.
2012-08-14 23:45:12 +02:00
Claude Paroz
45baaabafb
[py3] Fixed encoding issues in cache key generation
2012-08-13 12:56:59 +02:00
Claude Paroz
ac37c9e495
[py3] Encoded value before feeding it to hashlib.md5
2012-08-12 22:49:10 +02:00
Aymeric Augustin
c5ef65bcf3
[py3] Ported django.utils.encoding.
...
* Renamed smart_unicode to smart_text (but kept the old name under
Python 2 for backwards compatibility).
* Renamed smart_str to smart_bytes.
* Re-introduced smart_str as an alias for smart_text under Python 3
and smart_bytes under Python 2 (which is backwards compatible).
Thus smart_str always returns a str objects.
* Used the new smart_str in a few places where both Python 2 and 3
want a str.
2012-08-07 12:00:22 +02:00
Aymeric Augustin
ca07fda2ef
[py3] Switched to Python 3-compatible imports.
...
xrange/range will be dealt with in a separate commit due to the huge
number of changes.
2012-07-22 09:29:56 +02:00
Aymeric Augustin
0d914d08a0
[py3] Updated urllib/urllib2/urlparse imports.
...
Lots of functions were moved. Use explicit imports in all cases
to keey it easy to identify where the functions come from.
2012-07-22 09:29:55 +02:00
Aymeric Augustin
3cb2457f46
[py3] Replaced basestring by six.string_types.
2012-07-22 09:29:54 +02:00
Mike Grouchy
a2e927b7ed
BaseCache now has a no-op close method as per ticket #18582
...
Also removed the hasattr check when firing request_finished signal for
caches with a 'close' method. Should be safe to call `cache.close`
everywhere now
2012-07-18 14:16:55 -04:00
Anssi Kääriäinen
d3c2eb103f
Fixed #18330 - Made cache culling 3rd party db backend friendly
...
This is Ian Kelly's patch from #15580 with minor modifications.
2012-07-05 17:20:48 +03:00
Claude Paroz
865cd35c9b
Made more extensive usage of context managers with open.
2012-05-05 14:06:36 +02:00
Aymeric Augustin
e84f79f051
Fixed #18042 -- Advanced deprecation warnings.
...
Thanks Ramiro for the patch.
2012-05-03 15:27:01 +02:00
Claude Paroz
3904b74a3f
Fixed #18013 -- Use the new 'as' syntax for exceptions.
...
Thanks Clueless for the initial patch.
Note that unittest has been purposely left out (external package only used by Python 2.6).
2012-04-29 20:57:15 +02:00
Claude Paroz
eefb00f301
Fixed #18220 -- Removed the CACHE_BACKEND setting, as per official deprecation timeline.
...
Thanks Ramiro Morales for the review.
2012-04-29 20:47:36 +02:00
Claude Paroz
a1ffb02107
Fixed #18029 -- Removed mod_python as of deprecation process. Thanks Aymeric Augustin for the review.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17835 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-03-31 10:34:11 +00:00
Claude Paroz
23d3459761
Fixed #17965 -- Definitely dropped support for Python 2.5. Thanks jonash for the initial patch and Aymeric Augustin for the review.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17834 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-03-31 08:24:29 +00:00
Claude Paroz
9383a2761c
Removed with_statement imports, useless in Python >= 2.6. Refs #17965 . Thanks jonash for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17828 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-03-30 08:02:08 +00:00
Jannis Leidel
c609b792f7
Fixed #17286 -- Made sure all cache backends are set up to connect to the signal handler that closes the cache connection when the request has been processed. Thanks, gnosek.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17479 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2012-02-09 18:58:25 +00:00
Alex Gaynor
e4919f64b0
Clean up the the locmem cache backend and utils.synch by using context managers. Puch prettier.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17152 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-11-27 04:28:31 +00:00
Carl Meyer
1086a9a845
Fixed #17287 -- Prevented LocMemCache.incr/decr from changing key expiry time. Thanks Ivan Virabyan for report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17151 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-11-26 22:27:16 +00:00
Paul McMillan
0506facd86
Fixed #16378 . Locmem now uses pickle.HIGHEST_PROTOCOL for better compatibility with other hash backends. Thanks aaugustin for the initial patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17136 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-11-21 22:25:49 +00:00
Aymeric Augustin
7075e93256
Made the database cache backend, which bypasses the ORM, compatible with time zone support.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17119 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-11-20 10:17:12 +00:00
Alex Gaynor
67dde2f52f
Fixed #16162 . Added timeout arg to `DummyCache.set_many`, for compatiblity with other caches. Thanks to aaugustin for the patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16778 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-09-10 17:09:23 +00:00
Jannis Leidel
ddaca29d3d
Fixed a bunch of imports of the email stdlib module now that we are on Python 2.5 to ease the Python 3 port. Thanks, Martin von Löwis.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16731 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-09-09 16:18:38 +00:00
Ramiro Morales
2d51abfeb5
Fixed #16481 -- Adapted one raw SQL query in cull immplementation of the database-based cache backend so it works with Oracle. Thanks Aymeric Augustin for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16635 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-21 17:19:35 +00:00
Jannis Leidel
db594f90ba
Fixed #16533 -- Stopped the memcache cache backend from raising an exception if the timeout value isn't an integer. Thanks, Jeff Balogh.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16556 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-07-29 09:39:23 +00:00
Jannis Leidel
24f4764a48
Fixed #16225 -- Removed unused imports. Many thanks to Aymeric Augustin for the work on the patch and Alex for reviewing.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16539 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-07-13 09:35:51 +00:00
Jannis Leidel
90b6181657
Fixed #16410 -- Fixed get_cache to behave gracefully when given a string that can't be split. Thanks, jedie.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16511 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-07-05 09:10:58 +00:00
Ramiro Morales
dff31de20a
Fixed #16155 -- Removed Python 2.4 compatibility constructs from code and mentions from docs. Thanks Aymeric Augustin for the report and patch.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16349 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-09 20:01:28 +00:00
Russell Keith-Magee
e6a5e41cdf
Added missing warnings import
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16001 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-02 13:46:09 +00:00
Russell Keith-Magee
576606a6f2
Advanced deprecations in core.cache.
...
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15977 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-02 08:37:15 +00:00