summaryrefslogtreecommitdiff
path: root/django/db/backends
AgeCommit message (Collapse)Author
2020-05-19Fixed #31578 -- Dropped support for MySQL 5.6.Mariusz Felisiak
2020-05-18Refs #12990 -- Added DatabaseFeatures.has_json_operators.Tim Graham
CockroachDB also has them.
2020-05-14Fixed #31584 -- Fixed crash when chaining values()/values_list() after ↵Mariusz Felisiak
Exists() annotation and aggregation on Oracle. Oracle requires the EXISTS expression to be wrapped in a CASE WHEN in the GROUP BY clause. Regression in efa1908f662c19038a944129c81462485c4a9fe8.
2020-05-14Fixed #31579 -- Dropped support for PostgreSQL 9.5 and PostGIS 2.2.Mariusz Felisiak
2020-05-11Refs #30116 -- Simplified regex match group access with Match.__getitem__().Jon Dufresne
The method has been available since Python 3.6. The shorter syntax is also marginally faster.
2020-05-08Fixed #12990, Refs #27694 -- Added JSONField model field.sage
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael Michel for mentoring this Google Summer of Code 2019 project and everyone else who helped with the patch. Special thanks to Mads Jensen, Nick Pope, and Simon Charette for extensive reviews. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-05-08Refs #12990 -- Bumped mysqlclient requirement to >= 1.4.0.Mariusz Felisiak
MySQLdb.constants.FIELD_TYPE.JSON was added in mysqlclient 1.4.0rc2.
2020-05-06Fixed a/an typos in "SQL" usage.Adam Johnson
2020-04-30Fixed #20581 -- Added support for deferrable unique constraints.Ian Foote
2020-04-24Refs #30913 -- Added BaseDatabaseSchemaEditor._index_condition_sql().Hannes Ljungberg
2020-04-23Fixed #29224 -- Fixed removing index_together indexes if exists ↵David Wobrock
unique_together constraint on the same fields.
2020-04-21Fixed #31479 -- Added support to reset sequences on SQLite.Jon Dufresne
2020-04-21Refs #30591 -- Adjusted table rebuild for non-pk relationship on SQLite.Simon Charette
The existing code was only accounting for primary key changes and not all unique key fields that can be referenced.
2020-04-21Fixed #31064 -- Recreated auto-created many-to-many tables on primary key ↵Simon Charette
data type change on SQLite. Both local and remote auto-created many-to-many relationships were affected.
2020-04-20Stopped rebuilding referenced tables multiple times on SQLite alterations.Simon Charette
2020-04-20Capitalized Unicode in docs, strings, and comments.Jon Dufresne
2020-04-20Fixed #31477 -- Removed "using" argument from ↵Jon Dufresne
DatabaseOperations.execute_sql_flush().
2020-04-17Fixed #31473 -- Made sql_flush() use RESTART IDENTITY to reset sequences on ↵Jon Dufresne
PostgreSQL. The sql_flush() positional argument sequences is replaced by the boolean keyword-only argument reset_sequences. This ensures that the old function signature can't be used by mistake when upgrading Django. When the new argument is True, the sequences of the truncated tables will reset. Using a single boolean value, rather than a list, allows making a binary yes/no choice as to whether to reset all sequences rather than a working on a completely different set.
2020-04-17Simplified DatabaseOperations.sql_flush() on Oracle and PostgreSQL.Jon Dufresne
Added early return to decrease an indentation level.
2020-04-17Refs #26552 -- Made reloading the database for tests check only loaded ↵Mariusz Felisiak
tables constraints.
2020-04-14Fixed #29501 -- Allowed dbshell to pass options to underlying tool.Adam Johnson
2020-04-09Refs #31411 -- Used RENAME COLUMN on MySQL 8.0.4+.Mariusz Felisiak
MySQL 8.0.3 added support for this syntax but also imposed a restriction against ALTER TABLE RENAME on tables in a foreign key relationship if a LOCK TABLES was active which has been lifted in MySQL 8.0.4+.
2020-04-06Fixed #31030 -- Registered SQLite functions as deterministic on Python 3.8+.Sergey Fedoseev
2020-04-02Fixed #31275 -- Optimized sql_flush() without resetting sequences on MySQL.c-bata
Co-Authored-By: Simon Charette <charettes@users.noreply.github.com>
2020-04-02Refs #31051 -- Optimized serialize_db_to_string() by avoiding creation of ↵Matthijs Kooijman
models list.
2020-04-02Refs #31051 -- Fixed reloading the database with circular related objects ↵Matthijs Kooijman
and natural keys for tests. Made deserialize_db_from_string() do not sort dependencies. deserialize_db_from_string() doesn't use natural keys, so there is no need to sort dependencies in serialize_db_to_string(). Moreover, sorting models cause issues for circular dependencies.
2020-04-02Fixed #31411 -- Used RENAME COLUMN on MariaDB 10.5.2+.Hasan Ramezani
2020-03-31Fixed #31403 -- Added support for returning fields from INSERT statements on ↵Adam Johnson
MariaDB 10.5+.
2020-03-31Refs #31403 -- Made SQLInsertCompiler.execute_sql() always return an ↵Adam Johnson
iterable of rows. List of tuples.
2020-03-25Fixed #31399 -- Made SchemaEditor._alter_field() ignore foreign key ↵Tim Graham
constraints if unsupported.
2020-03-25Fixed #31396 -- Added binary XOR operator to F expressions.Hannes Ljungberg
2020-03-24Fixed #31392 -- Avoided unnecessary SchemaEditor.effective_default() calls ↵Shipeng Feng
when altering a field.
2020-03-20Fixed #31144 -- Relaxed system check for max_length of CharFields on ↵Rohit
MySQL/MariaDB by turning into a warning.
2020-03-19Refs #29548 -- Mentioned MariaDB in database system checks.Mariusz Felisiak
2020-03-18Fixed #31376 -- Optimized nulls ordering when possible on SQLite and MySQL.Simon Charette
Both backends order NULLs first on ascending ordering and last on descending ordering which makes ORDER BY IS (NOT)? NULL wasteful when asc(nulls_first) and desc(nulls_last) are used since it prevents indice usage.
2020-03-11Fixed #31359 -- Deprecated get_random_string() calls without an explicit length.Claude Paroz
2020-03-06Fixed #31345 -- Added BaseDatabaseIntrospection.get_relations().shankarj67
2020-03-05Fixed #31327 -- Deprecated providing_args argument for Signal.Jon Dufresne
2020-03-04Fixed #31333 -- Added BaseDatabaseIntrospection.get_table_description().aryan
2020-03-03Refs #31331 -- Added DatabaseWrapper.sql_mode to MySQL.Mariusz Felisiak
2020-02-28Fixed #31301 -- Fixed crash of QuerySet.bulk_create() with mixed empty and ↵Hans Aarne Liblik
set ForeignKeys to AutoFields on Oracle.
2020-02-27Fixed #31312 -- Properly ordered temporal subtraction params on MySQL.Simon Charette
Regression in 9bcbcd599abac91ea853b2fe10b784ba32df043e. Thanks rick2ricks for the report.
2020-02-18Fixed #31271 -- Preserved ordering when unifying query parameters on Oracle.Mariusz Felisiak
This caused misplacing parameters in logged SQL queries. Regression in 79065b55a70cd220820a260a1c54851b7be0615a. Thanks Hans Aarne Liblik for the report.
2020-02-18Fixed #31228 -- Reallowed aggregates to be used with multiple expressions ↵Taoup
and no DISTINCT on SQLite. Regression in bc05547cd8c1dd511c6b6a6c873a1bc63417b111. Thanks Andy Terra for the report.
2020-02-14Fixed #26552 -- Deferred constraint checks when reloading the database with ↵Matthijs Kooijman
data for tests. deserialize_db_from_string() loads the full serialized database contents, which might contain forward references and cycles. That caused IntegrityError because constraints were checked immediately. Now, it loads data in a transaction with constraint checks deferred until the end of the transaction.
2020-02-06Fixed #31233 -- Closed database connections and cursors after use.Jon Dufresne
2020-02-06Refs #31233 -- Changed DatabaseWrapper._nodb_connection to _nodb_cursor().Jon Dufresne
It is now a method instead of a property and returns a context manager that yields a cursor on entry and closes the cursor and connection upon exit.
2020-02-04Simplified imports from django.db and django.contrib.gis.db.Nick Pope
2020-01-29Fixed #31212 -- Updated psycopg links to HTTPS and new location.Jon Dufresne
2020-01-20Fixed #31183 -- Added a feature flag for "<db> only supports UNBOUNDED ↵Tim Graham
together with PRECEDING and FOLLOWING".