Bertrand Bordage
da4e21b515
Adds `CACHALOT_DATABASES` and removes dynamic setting support.
...
Dynamic setting support is removed because it’s not thread-safe.
2017-06-04 18:37:39 +02:00
Bertrand Bordage
8d334f9855
Python optimisations.
2017-06-03 19:53:01 +02:00
Bertrand Bordage
b5827cd936
Removes a useless check.
2017-06-03 18:47:06 +02:00
Bertrand Bordage
b634d18dc5
Correctly adds the `long` type.
2017-06-03 18:27:58 +02:00
Bertrand Bordage
2d5ad63fbd
Adds the Python type `long` to the cachable param types.
2017-06-03 18:25:07 +02:00
Bertrand Bordage
412f82061e
Prints again a debug line to understand why Travis CI is failing… -_-
2017-06-03 18:09:45 +02:00
Bertrand Bordage
4522106632
Supports RawSQL.
2017-06-03 17:59:21 +02:00
Bertrand Bordage
cb877355ac
Adds bytearray to the list of cachable params.
2017-06-03 12:21:25 +02:00
Bertrand Bordage
799fbf28e0
Displays uncachable params to debug an issue only on Travis CI.
2017-06-03 12:07:53 +02:00
Bertrand Bordage
85ebf42353
Fixes Python 2.
2017-06-03 11:00:54 +02:00
Bertrand Bordage
f86a56d110
Fixes Django 1.11 compatibility.
2017-06-03 02:00:15 +02:00
David Jean Louis
179d8f2e21
Fixed django>=1.11 support.
...
Since Django 1.11 the ``query`` argument of the SQLCompiler constructor has always a ``subquery`` property, in fact if the SQL query has no real sub query it is set to False.
As a result, the test done by Django-cachalot in the ``_get_tables`` function is no more accurate and cause a dramatic slow down on 1.11 django installs.
This fix should be backwards compatible with older versions of Django.
2017-06-02 17:29:11 +02:00
Bertrand Bordage
f6cfeb6226
Stops automatically invalidating other caches than `CACHALOT_CACHE`.
...
This had a negative impact on performance, and it was not working reliably.
It is clearer to invalidate only `CACHALOT_CACHE`, and to detail what
to do in the docs when we change `CACHALOT_CACHE`.
2016-09-29 19:11:21 +02:00
Bertrand Bordage
c5d5ee7907
Never caches `select_for_update` queries.
2016-09-29 11:57:38 +02:00
Bertrand Bordage
246873b42f
Don’t invalidate uncachable queries.
2016-09-07 00:44:51 +02:00
Bertrand Bordage
522b5af899
Use CACHALOT_TIMEOUT in 3 remaining places.
2016-09-06 23:21:01 +02:00
Bertrand Bordage
944ebb9b73
Removes old Django 1.7 code.
2016-07-21 12:19:31 +02:00
Bertrand Bordage
e0841077e2
Revert "Simplifies the cache key hashing."
...
This reverts commit beac70251f
.
2016-02-17 19:38:41 +01:00
Bertrand Bordage
cfcd0f2805
Changes two documented types.
2016-01-12 11:42:57 +01:00
Bertrand Bordage
58fd71c925
Small Python optimisations & simplifications.
2016-01-11 22:57:42 +01:00
Bertrand Bordage
beac70251f
Simplifies the cache key hashing.
2016-01-11 22:06:16 +01:00
Bertrand Bordage
3e7a9a0808
Prevents queries with Now from being cached.
2015-12-28 05:51:38 +01:00
Bertrand Bordage
3a97912f3d
Handles and tests JSONField.
2015-12-28 03:14:57 +01:00
Bertrand Bordage
2ffe564e3e
Fixes Django 1.7+1.8 compatibility.
2015-12-18 17:07:53 +01:00
Bertrand Bordage
746616b7b1
Fixes version number comparison.
2015-12-18 16:46:00 +01:00
Bertrand Bordage
885d68b008
Fixes Django 1.9 compatibility.
2015-12-18 15:56:28 +01:00
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