Commit graph

622 commits

Author SHA1 Message Date
Andrew Chen Wang
9ba75c2eec
Change CHANGELOG latest version to 2.5.0 from 2.5.6 2022-01-14 18:32:10 -05:00
Andrew Chen Wang
ab2306b4eb
Bump version to 2.5.0 2022-01-14 18:31:46 -05:00
Dominik Bartenstein
434a5759de
Add final SQL check when looking up involved tables (#199) 2021-12-27 12:30:44 -05:00
Andrew Chen Wang
f1087da6f9
Add Django 4.0 support, drop Python 3.6 and Django 3.1 (#208)
* Fix tox.ini and use exclude for ci.yml
* runtests_urls.py had an issue from using pre-Django 2.2 import of urls
* tox.ini forgot to remove 3.7 from Django 4.0 env
* Use re_path
* Avoid system error in Django test
* Fix read/test_union.py
* Test assertion error for read/test_union
* Fix remaining read/test_intersection test
* Bump version
2021-12-07 18:44:25 -05:00
Andrew Chen Wang
a9c5d4d01c
Add Python 3.10 Support (fixes #205) (#206) 2021-11-03 15:05:44 -04:00
Andrew-Chen-Wang
8ef611a1cb Bump vesrion to 2.4.4 2021-11-03 13:04:38 -04:00
Lars Kruse
42af2e0126
Handle queryset implementations without lhs/rhs attribute (#204)
The `ExtraJoinRestriction` class used by django-taggit lacks the
attributes "rhs" and "lhs".
Thus projects cannot use django-taggit together with cachalot.

Closes: #121
2021-10-26 16:34:45 -04:00
Andrew Chen Wang
c8d6af575a
Bump cachalot version [ci skip] 2021-08-23 10:55:34 -04:00
Andrew Chen Wang
f7753ae104
Update CHANGELOG [ci skip] 2021-08-23 10:54:26 -04:00
Andrew Chen Wang
53c99af2c4
Fix Django 3.2 default_app_config deprecation (#198)
* Fix ImportError from setup.py
2021-08-21 20:55:33 -04:00
Dominik Bartenstein
76d4ab4c8d
Simplify annotation handling by using the flatten method: (#197)
* Simplify annotation handling by using the flatten method:
f42ccdd835/django/db/models/expressions.py (L370)

Handle annotated cases when Subquery is part of the When.

* Before Django 3.2 flatten did not check for existence of flatten in the processed nodes.

* Add type BaseExpression to function "flatten".

* Add test case with annotated Coalesce.

* Add support for annotated raw SQL.

* Remove unnecessary code.

* Use as_sql instead of repr.

* Reorganize code

* Fix var name

* Improve naming: element -> expression

Co-authored-by: Dominik Bartenstein <db@zemtu.com>
Co-authored-by: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com>
2021-08-21 20:55:01 -04:00
Andrew Chen Wang
b15027a627
Check for annotated case (#196) 2021-08-19 15:01:56 -04:00
Andrew Chen Wang
4fb23ab029
Check for Uncachables (i.e. Now) in annotations (#195)
* Check for Uncachables for annotations

* Add test case

* Update CHANGELOG.rst
2021-08-19 15:00:47 -04:00
Andrew Chen Wang
5814968b7a
Fix PostgreSQL test cases 2021-08-19 14:14:49 -04:00
Andrew Chen Wang
9d528656d5
Remove duplicate code _find_rhs_lhs_subquery (#190) 2021-06-06 14:17:49 -04:00
Andrew-Chen-Wang
c2696398a8 Bump version [ci skip] 2021-05-26 22:58:44 -04:00
Andrew-Chen-Wang
2c318e0855 Fix proper Python versions for Django main test 2021-05-26 22:58:23 -04:00
Andrew-Chen-Wang
18dd8a7ad9 Updated CHANGELOG 2021-05-26 22:31:05 -04:00
Andrew-Chen-Wang
e88bd18901 Added Django main-branch CI on cron job 2021-05-26 22:30:54 -04:00
Andrew Chen Wang
fe08ef3d28
Drop Django 3.0 support (#189)
* Drop Django 3.0 support
* Extended support for Django 3.0 was ended on April 6, 2021
* Update docs to reflect dropped Django 3.0 version
* Updated links in docs to reflect updated Django docs anchor tag implementation
2021-05-24 22:46:24 -04:00
Andrew Chen Wang
0937680be0
Add CACHALOT_ONLY_CACHABLE_APPS & CACHALOT_UNCACHABLE_APPS (Fixes #186) (#187) 2021-05-24 22:46:00 -04:00
Andrew-Chen-Wang
1569ff75f0 Update setup.py meta and README with constraint [ci skip] 2021-05-13 12:56:49 -04:00
Andrew-Chen-Wang
986431143e Bump correct requirements (Fixes #185) 2021-05-13 12:53:50 -04:00
Andrew Chen Wang
70e970e46f
Update README with compatibility needs [ci skip] 2021-05-13 01:31:07 -04:00
Andrew Chen Wang
5eaffb4958
Add CACHALOT_ADDITIONAL_TABLES for unmanaged models (#183)
* Add CACHALOT_ADDITIONAL_TABLES for unmanaged models
- Fixes #182
- For doc purposes, we do not want to use table_names and want to continue using django_table_names from connection.introspection to avoid a query to the db every request.
2021-05-13 00:44:41 -04:00
Andrew Chen Wang
165cdb6a00
Add Django 3.2 Support and drop error dependency check (#181)
* Remove system check for Django version
* Closes #175
* Bump version and amend CHANGELOG
* Update with GitHub action CI
* Update README with Python and Django versions
* Limit Django version to 3.2, inclusively.
* Add note on Django constraints to README
* Bump minor version
* Justified by dropping support for dependency versions
* Drop support for Django 2.0-2.1, Python 3.5
* Change CI badge in README to GitHub actions
* Add support for Pymemcache for Django 3.2+
* Add Django 3.2 to test matrix
* Fix MySQL test_explain
* Allow filebased delta leniency in tests
* Allow Subquery in finding more Subqueries (Fixes #156)
* Reverts #157 with proper fix. The initial problem was due to `django.db.models.expressions.Subquery` allowing both QuerySet and sql.Query to be used.
* Fixes Django 3.2 test_subquery and test_invalidate_subquery testing by also checking the lhs
* Fix Django 2.2 Subquery having no query attr
* Fix filebased test time delta
* Fix test_invalidate_having due to new inner_query
* The new inner_query replaces subquery for Django 3.2 where subquery is now a boolean. That's why I initially used that TypeError in _get_tables_from_sql. inner_query looks to be a sql.Query
* Add PyMemcacheCache to supported cache backends

Co-authored-by: Dominik George <nik@naturalnet.de>
2021-05-13 00:27:14 -04:00
Andrew Chen Wang
6108d8e5b6
Use GitHub actions & remove Travis (#173) 2021-04-30 14:26:28 -04:00
Andrew-Chen-Wang
76cb929cf5 v2.3.5 2021-04-01 13:52:44 -04:00
Stepan Henek
6826ec6e4d
Fix cachalot_disabled (#174)
unused varialbe LOCAL_STORAGE.enabled was configured
instead of LOCAL_STORAGE.cachalot_enabled which is later used
to turn of the caching
2021-03-30 18:44:47 -04:00
Andrew-Chen-Wang
f02b7f57a2 v2.3.4 2021-03-22 23:12:35 -04:00
Dominik George
ac814e5cd4
Do not throw exception on externally invalidated cache keys (#169)
Closes #120
2021-03-21 19:27:16 -04:00
Andrew-Chen-Wang
d0b5213014 v2.3.3
* Fix a comment block disabling incorrectly RST form for cachalot_disabled
* Update CHANGELOG.rst
* Several points did I incorrectly say that 50 modifications per second was too much. It was supposed to say minute. You'd have to have a LARGE website to really get to that point since inserts from an external DB would typically take a 250-1000ms/1s per INSERT/UPDATE
* Add Python 3.9 support in the docs and setup.py
* Move chat to Discord and reflect in the docs
2020-11-08 21:01:14 -05:00
Andrew-Chen-Wang
e41150abd5 Merge branch 'update-py39' 2020-11-04 16:07:25 -05:00
Mattias Naarttijärvi
d632a79015
Remove deprecated signal argument (#165)
* Remove signal's providing_args deprecated argument
* Update docs for signal

In PR #165

Co-authored-by: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com>
2020-10-16 10:39:20 -04:00
Andrew-Chen-Wang
7b22ba5c3f Add Python 3.9 support 2020-10-16 09:42:10 -04:00
Andrew Chen Wang
72be2c07b3 v2.3.2 2020-09-16 13:54:07 +00:00
Denick
d24e3b37ca
Cast memoryview objects to bytes to be able to pickle them. (#163)
Fixes #125
2020-09-09 16:12:11 -04:00
Andrew-Chen-Wang
689f679ad3 v2.3.1 2020-08-10 17:15:13 -04:00
Andrew-Chen-Wang
d699c5b8c3 Squashed commit of the following:
commit 4a33e7b68196bf6e0ee0b7f942a992532495b616
Author: Andrew-Chen-Wang <acwangpython@gmail.com>
Date:   Mon Aug 10 16:04:26 2020 -0400

    Replace f-strings with join for Python 3.5

commit dcb33232d605c01025469e776c4ed8eb6ae0a326
Author: Andrew-Chen-Wang <acwangpython@gmail.com>
Date:   Mon Aug 10 15:55:09 2020 -0400

    Fix sql_flush for dj versions below 3.1
    * Removed any other instances of JSONField for Django 3.1 removed many things like JsonAdapter in favor of regular json module

commit 74195e9ff5a52dba2449a55e543a27ebd99e4fc9
Author: Andrew-Chen-Wang <acwangpython@gmail.com>
Date:   Mon Aug 10 09:17:03 2020 -0400

    Add Django 3.1 to Travis
    * Specify Django version when checking if JSONField exists

commit da5c1fa4c8b2f2efba0b12d7b27460c544e2473a
Author: Andrew-Chen-Wang <acwangpython@gmail.com>
Date:   Wed Aug 5 17:39:58 2020 -0400

    Added support for Django 3.1
    * Some fields were removed, others were deprecated. They are now in a list of deprecation to follow. Some new fields were added like PositiveBigIntegerField that won't be tested
    * monkey_patch.py has a try/except import for EmptyResultSet that was from archaic Django. Removed apparently due to compatibility issues
2020-08-10 16:49:46 -04:00
Andrew-Chen-Wang
6781b9b98a Added changes to CHANGELOG.rst 2020-07-29 16:10:14 -04:00
John-Paul Stanford
71dcf73dd7
Attempt to fix issue #156 by handling subquieries (#157)
* Combine child_class passing to minimize if's

Co-authored-by: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com>
2020-07-29 14:57:16 -04:00
Andrew Chen Wang
f40a56dfe1
Add support for disabling cachalot (#158)
* This context manager allows for disabling cachalot using a context manager
* Allow for disabling all queries within context manager
2020-07-29 14:00:04 -04:00
Karthikeyan Singaravelan
6935629785
Fix warning regarding ABC import from collections (#160) 2020-07-26 13:30:47 -04:00
Andrew-Chen-Wang
8a55454557 Support benchmarks for MacOS
* Added how to run benchmarks in docs and README
2020-07-09 18:33:05 -04:00
Andrew-Chen-Wang
b80195fb00 Moved tests requirements file 2020-07-09 16:58:35 -04:00
Andrew-Chen-Wang
6379e41316 Re-organized requirements and other files
* Added hacking and usage section to README
2020-07-09 16:57:41 -04:00
Andrew-Chen-Wang
27b74b7ba9 Use GitHub's version of python package publish 2020-06-25 15:47:59 -04:00
Andrew-Chen-Wang
6ef0287735 Fix GitHub action publish.yml 2020-06-25 15:41:51 -04:00
Andrew-Chen-Wang
6feafb178c v2.2.2
* Dropped Python 2.7 and Django 1.11 support
* Added support for the subqueries issue
2020-06-25 15:33:17 -04:00
Andrew Chen Wang
a8a69e0a1a
Update README with Travis-ci.com change
* Migrated from Travis-ci.org to Travis-ci.com for more features.
2020-06-22 12:31:11 -04:00