summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3/features.py
AgeCommit message (Collapse)Author
2025-12-22Fixed #36818 -- Ensured SQLite connection before accessing max_query_params.guro-Ishiguro
Regression in 358fd21c47cdf7bda520ce73c5cfd82bba57827b.
2025-12-12Fixed #36735 -- Added UUID4 and UUID7 database functions.Lily Acorn
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2025-11-17Fixed #24920 -- Added support for DecimalField with no precision.Mariusz Felisiak
Thanks Lily for the review.
2025-10-18Fixed #36671 -- Dropped support for SQLite < 3.37.Mariusz Felisiak
2025-09-14Refs #27222 -- Refreshed GeneratedFields values on save() initiated update.Simon Charette
This required implementing UPDATE RETURNING machinery that heavily borrows from the INSERT one.
2025-05-20Fixed #34262 -- Added support for AnyValue for SQLite, MySQL, Oracle, and ↵ontowhee
Postgresql 16+. Thanks Simon Charette for the guidance and review. Thanks Tim Schilling for the documentation review. Thanks David Wobrock for investigation and solution proposals.
2025-05-08Fixed #36143 -- Made max_query_params respect SQLITE_LIMIT_VARIABLE_NUMBER.Sage Abdullah
Co-authored-by: Xavier Frankline <xf.xavierfrank@gmail.com>
2025-04-30Refs #36052, #32234 -- Removed create_test_table_with_composite_primary_key ↵Simon Charette
flag in favor of using CompositePrimaryKey. Now that Django properly supports creating models with composite primary keys, the tests should use a `CompositePrimaryKey` field instead of a feature flag to inline backend specific SQL for creating a composite PK. Specifcially, the inspectdb's test_composite_primary_key was adjusted to use schema editor instead of per-backend raw SQL.
2025-03-03Fixed #35444 -- Added generic support for Aggregate.order_by.Chris Muthig
This moves the behaviors of `order_by` used in Postgres aggregates into the `Aggregate` class. This allows for creating aggregate functions that support this behavior across all database engines. This is shown by moving the `StringAgg` class into the shared `aggregates` module and adding support for all databases. The Postgres `StringAgg` class is now a thin wrapper on the new shared `StringAgg` class. Thank you Simon Charette for the review.
2025-02-09Fixed #36148 -- Enabled native tuple comparison lookups on SQLite 3.37+ and ↵Simon Charette
Oracle 23.4+. VALUES must be explicitly specified when declaring a sequence of tuples on SQLite < 3.37 but it's not required on >= 3.37. See sqlite/sqlite@9289f51 which addressed the last remaining issue with IN.
2025-02-09Refs #36148 -- Relied on a feature switch to define tuple lookups support.Simon Charette
This should allow backends more easily opt-in or out of native support and rely on the fallback if unavailable.
2024-12-16Refs #35842 -- Fixed test_lookups_special_chars_double_quotes on SQLite 3.47+.Sage Abdullah
2024-12-03Refs #35842 -- Fixed handling of quotes in JSONField key lookups on Oracle.Sage Abdullah
2024-11-11Fixed typo in django/db/backends/sqlite3/features.py.Mariusz Felisiak
2024-09-16Fixed #34887 -- Added support for unlimited models.CharField on SQLite.saJaeHyukc
Signed-off-by: saJaeHyukc <wogur981208@gmail.com>
2024-04-29Fixed #35412 -- Dropped support for SQLite < 3.31.Mariusz Felisiak
2024-03-06Fixed #35021 -- Fixed capturing queries when using client-side parameters ↵Michail Chatzis
binding with psycopg 3+.
2023-11-02Refs #31300 -- Allowed testing GeneratedField without collation.Tim Graham
CockroachDB and Snowflake don't support it.
2023-10-30Refs #29850 -- Added exclusion support to window frames.Sarah Boyce
2023-09-07Fixed #31300 -- Added GeneratedField model field.Jeremy Nauta
Thanks Adam Johnson and Paolo Melchiorre for reviews. Co-Authored-By: Lily Foote <code@lilyf.org> Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-08-04Fixed #34760 -- Dropped support for SQLite < 3.27.Mariusz Felisiak
2023-05-12Fixed #470 -- Added support for database defaults on fields.Ian Foote
Special thanks to Hannes Ljungberg for finding multiple implementation gaps. Thanks also to Simon Charette, Adam Johnson, and Mariusz Felisiak for reviews.
2022-12-08Fixed #34201 -- Bumped minimum supported SQLite to 3.21.0.Mariusz Felisiak
2022-11-28Refs #31169 -- Skipped test_get_test_db_clone_settings_not_supported on not ↵Mariusz Felisiak
in-memory SQLite database. multiprocessing's start method is checked only for in-memory SQLite databases.
2022-11-24Used DatabaseFeatures.django_test_skips to skip ↵Christophe Baldy
AssertNumQueriesUponConnectionTests tests.
2022-11-24Fixed #29062 -- Prevented possibility of database lock when using ↵baldychristophe
LiveServerTestCase with in-memory SQLite database. Thanks Chris Jerdonek for the implementation idea.
2022-11-08Fixed #10070 -- Added support for pyformat style parameters on SQLite.Ryan Cheley
Co-authored-by: Nick Pope <nick@nickpope.me.uk>
2022-11-01Refs #33768 -- Fixed ordering compound queries by NULLs on SQLite < 3.30.Simon Charette
The lack of support for native nulls last/first on SQLite 3.28 and 3.29 requires the compound query to be wrapped for emulation layer to work properly.
2022-06-01Fixed #32234 -- Made inspectdb inform about composite primary keys.Anv3sh
2022-02-18Fixed #33379 -- Added minimum database version checks.Hasan Ramezani
Thanks Tim Graham for the review.
2022-02-11Refs #32502 -- Avoided table rebuild when removing fields on SQLite 3.35.5+.Mariusz Felisiak
ALTER TABLE ... DROP COLUMN was introduced in SQLite 3.35+ however a data corruption issue was fixed in SQLite 3.35.5.
2022-02-07Refs #33476 -- Refactored code to strictly match 88 characters line length.Mariusz Felisiak
2022-02-07Refs #33476 -- Reformatted code with Black.django-bot
2022-01-19Fixed #31685 -- Added support for updating conflicts to QuerySet.bulk_create().sean_c_hsu
Thanks Florian Apolloner, Chris Jerdonek, Hannes Ljungberg, Nick Pope, and Mariusz Felisiak for reviews.
2021-12-27Refs #29517 -- Removed obsolete PositiveIntegerField test skip.Tim Graham
2021-12-10Fixed DatabaseFeatures.requires_literal_defaults on SQLite.Mariusz Felisiak
This flag is currently unused on SQLite because it doesn't support dropping a DEFAULT clause, however it requires literal defaults, rather than parameterized ones, so we can set it for clarity.
2021-12-07Fixed #31765 -- Enforced enhanced ALTER TABLE behavior for SQLite connections.Adam Johnson
2021-11-25Removed unneeded can_use_chunked_reads feature flag on SQLite.Mariusz Felisiak
Unneeded since c0e3c65b9d1b26cfc38137b7666ef0e108aab77f.
2021-11-02Fixed #33224 -- Removed ↵Hasan Ramezani
DatabaseFeatures.supports_mixed_date_datetime_comparisons.
2021-10-28Fixed #33228 -- Changed value of ↵Chinmoy
BaseDatabaseFeatures.has_case_insensitive_like to False.
2021-04-12Fixed #32416 -- Made ThreadedWSGIServer close connections after each thread.Chris Jerdonek
ThreadedWSGIServer is used by LiveServerTestCase.
2021-04-07Fixed #32501 -- Added support for returning fields from INSERT statements on ↵girishsontakke
SQLite 3.35+.
2021-03-29Fixed #31487 -- Added precision argument to Round().Nick Pope
2021-01-14Refs #26167 -- Changed default value of ↵Hannes Ljungberg
DatabaseFeatures.supports_expression_indexes to True.
2021-01-13Fixed #26167 -- Added support for functional indexes.Hannes Ljungberg
Thanks Simon Charette, Mads Jensen, and Mariusz Felisiak for reviews. Co-authored-by: Markus Holtermann <info@markusholtermann.eu>
2020-12-10Fixed #32178 -- Allowed database backends to skip tests and mark expected ↵Hasan Ramezani
failures. Co-authored-by: Tim Graham <timograham@gmail.com>
2020-12-02Fixed #32179 -- Added JSONObject database function.Artur Beltsov
2020-11-25Fixed #32224 -- Avoided suppressing connection errors in supports_json_field ↵Mariusz Felisiak
on SQLite.` Regression in 6789ded0a6ab797f0dcdfa6ad5d1cfa46e23abcd. Thanks Juan Garcia Alvite for the report.
2020-09-21Fixed #31777 -- Added support for database collations to Char/TextFields.Tom Carrick
Thanks Simon Charette and Mariusz Felisiak for reviews.
2020-08-11Fixed #21181 -- Added Collate database function.Tom Carrick
Thanks Simon Charette for reviews.