Commit graph

44 commits

Author SHA1 Message Date
Bertrand Bordage
87ed73390f Tests and handles Decimal type in query parameters. 2015-10-28 17:08:03 +01:00
Bertrand Bordage
6d6bbdeb6f Tests FloatField and cache queries using it. 2015-10-28 16:51:26 +01:00
Bertrand Bordage
9cf0cd318a Adds tests for UUIDField and DurationField and cache their queries. 2015-10-28 16:19:33 +01:00
Bertrand Bordage
ce29686429 Handles IP address caching with PostgreSQL. 2015-10-28 16:16:15 +01:00
Bertrand Bordage
d959f3e42f Waits until the end of transaction before triggering the signal, and trigger the signal on all invalidations. 2015-10-28 12:54:39 +01:00
Bertrand Bordage
43bd5e1b38 Fixes the independence issue when nesting atomic block of different databases. 2015-10-26 02:42:13 +01:00
Bertrand Bordage
a8b77c6e32 Adds CACHALOT_ONLY_CACHABLE_TABLES. 2015-10-05 20:10:19 +02:00
Bertrand Bordage
3a6f7bbc29 Tests all django.contrib.postgres reading possibilities + makes caching work for most array and hstore queries. 2015-10-04 22:14:18 +02:00
Bertrand Bordage
f05b143e4c Tiny optimisation. 2015-10-04 21:02:10 +02:00
Bertrand Bordage
e72c6c5e85 Mark datetime types as valid SQL param types (for psycopg2). 2015-10-02 20:45:43 +02:00
Bertrand Bordage
9938b54123 Merge branch 'master' into django-1.8
Conflicts:
	cachalot/cache.py
	cachalot/monkey_patch.py
	cachalot/tests/read.py
	cachalot/utils.py
	tox.ini
2015-10-02 18:39:04 +02:00
Bertrand Bordage
4ae8bccf96 Fixes Python 3 compatibility. 2015-06-19 19:46:10 +02:00
Bertrand Bordage
709513db65 Avoids caching queries with an unknown parameter type.
This fixes #21.
2015-06-19 19:32:46 +02:00
Bertrand Bordage
7f86cfe1cc Python optimisations. 2015-06-18 03:07:04 +02:00
Bertrand Bordage
d9e19a8ca5 Simplifications. 2015-06-17 22:39:39 +02:00
Bertrand Bordage
5cc4d3ae93 Adds an UNCACHABLE_TABLES setting to fix some migrations issues in tests and significantly speed up tests. 2015-06-17 21:24:49 +02:00
Bertrand Bordage
a32f86ffb4 Optimizes automatic invalidation. 2015-05-24 19:34:24 +02:00
Bertrand Bordage
720480359b Stops caching queries with random subqueries. 2015-05-24 19:29:50 +02:00
Bertrand Bordage
e89fe83992 Fixes the AttributeError happening when excluding through a M2M on a multi-table inheritance child model. 2015-05-24 18:28:16 +02:00
Bertrand Bordage
3798a1c97d Adds a signal to trigger post-invalidation behaviours. 2015-04-17 20:06:18 +02:00
Bertrand Bordage
389aded5bf Fixes the invalidation error discovered by @helenwarren. 2015-04-17 18:11:44 +02:00
Bertrand Bordage
b6c255aaa6 Merge branch 'master' into django-1.8
Conflicts:
	cachalot/utils.py
2015-04-11 02:42:17 +02:00
Bertrand Bordage
630d7d239b Always hash table cache keys because of an inconsistency between python-memcached 1.53 & 1.54. 2015-04-11 02:38:52 +02:00
Bertrand Bordage
16e14c9219 Drops Django 1.6 & Python 2.6 support. 2015-04-11 01:57:13 +02:00
Bertrand Bordage
d14293ca55 Fixes unicode table issue with python-memcached3. 2015-03-09 21:59:31 +01:00
Bertrand Bordage
193758ff9c Fixes unicode table names support on Python 2. 2015-03-09 20:36:53 +01:00
Bertrand Bordage
beacea0a8b Handles nested subqueries in Django 1.7. 2015-02-18 01:20:17 +01:00
Bertrand Bordage
9e1447f6ff Handles rare complex queries. 2015-02-18 00:32:51 +01:00
Bertrand Bordage
1687d16502 Uses query.table_map instead of query.alias_map. 2015-02-16 21:04:53 +01:00
Bertrand Bordage
6dc06ab9b9 Use table names instead of aliases to prevent unnecessary cache sets. 2015-02-16 19:56:30 +01:00
Bertrand Bordage
352fb2d829 Small Python optimizations.
While keeping code compatible with Python 2.6 to 3.4, of course…
2015-01-03 06:38:16 +01:00
Bertrand Bordage
45e4cd543b Rewrites invalidation for a better speed & memory performance. 2014-11-24 12:05:00 +01:00
Bertrand Bordage
cf53a6e683 Makes sure a cache key wasn’t invalidated in the meantime. 2014-11-20 14:33:26 +01:00
Bertrand Bordage
6200a12b20 Invalidates raw queries. 2014-11-04 01:17:35 +01:00
Bertrand Bordage
47142ca910 Adds some docstrings. 2014-10-31 14:10:48 +01:00
Bertrand Bordage
d2bedc0d95 Handles import_string in Django 1.6. 2014-10-30 04:24:29 +01:00
Bertrand Bordage
83618b69cd Adds QUERY_KEYGEN & TABLE_KEYGEN. 2014-10-30 04:17:48 +01:00
Bertrand Bordage
ddfbfba75d Caches all queries resulting of a `Queryset.extra`. 2014-10-29 19:38:33 +01:00
Bertrand Bordage
8316cde175 Adds an infinite cache timeout. 2014-10-29 14:36:40 +01:00
Bertrand Bordage
bc31429394 Adds an API. 2014-10-28 22:41:51 +01:00
Bertrand Bordage
6036a525c4 Checks that SQL queries weren’t concurrently invalidated during their execution. 2014-10-28 19:51:14 +01:00
Bertrand Bordage
b872e22cdc Small Python optimizations. 2014-10-21 13:56:58 +02:00
Bertrand Bordage
19f306054d Adds multi-database support. 2014-10-20 23:43:10 +02:00
Bertrand Bordage
441506f3f0 Rewrites caching in transactions for a better multi-threading/processing handling. 2014-10-19 20:15:57 +02:00