summaryrefslogtreecommitdiff
path: root/django/db
AgeCommit message (Collapse)Author
2018-11-13Refs #29641 -- Refactored database schema constraint creation.Simon Charette
Added a test for constraint names in the database. Updated SQLite introspection to use sqlparse to allow reading the constraint name for table check and unique constraints. Co-authored-by: Ian Foote <python@ian.feete.org>
2018-11-09Fixed #29934 -- Added sqlparse as a require dependency.Tim Graham
2018-11-09Removed unused 'tz' variable in typecast_timestamp().Srinivas Reddy Thatiparthy
2018-11-08Fixed #29908 -- Fixed setting of foreign key after related set access if ↵Simon Charette
ForeignKey uses to_field. Adjusted known related objects handling of target fields which relies on from and to_fields and has the side effect of fixing a bug bug causing N+1 queries when using reverse foreign objects. Thanks Carsten Fuchs for the report.
2018-11-04Removed DatabaseOperation.savepoint_create/rollback_sql() on Oracle.Tom Forbes
Obsolete since 918f44e3ae650ff124067425d31c9d3deeba2224.
2018-11-01Fixed #29886 -- Fixed unaccent lookup when PostgreSQL's ↵Jayantha Gumballi
standard_conforming_strings option is off. Thanks Tom McClure for the patch.
2018-10-29Fixed #29547 -- Added support for partial indexes.Mads Jensen
Thanks to Ian Foote, Mariusz Felisiak, Simon Charettes, and Markus Holtermann for comments and feedback.
2018-10-29Fixed #29882 -- Added events and stored routines to MySQL's cloned test ↵thomazzo
databases.
2018-10-29Fixed #29897 -- Fixed autodetector's swappable MTI dependency resolution.Simon Charette
Thanks Steven Ganz for the detailed report.
2018-10-29Refs #29897 -- Moved autodetector swappable dependency resolution to a method.Simon Charette
2018-10-29Refs #23322 -- Removed unnecessary "and" clause in the autodetector.Simon Charette
If the depedency was swappable then it'll be resolved at this point.
2018-10-29Fixed #29868 -- Retained database constraints on SQLite table rebuilds.Simon Charette
Refs #11964. Thanks Scott Stevens for testing this upcoming feature and the report.
2018-10-28Fixed #29896 -- Fixed incorrect Model.save() cache relation clearing for ↵Tim Graham
foreign keys that use to_field. Regression in ee49306176a2d2f1751cb890bd607d42c7c09196.
2018-10-27Fixed #29763 -- Added support for column renaming on SQLite.Hampus Dunström
2018-10-25Refs #27025 -- Removed obsolete sqlite3 transaction management workaround ↵Tim Graham
for Python 3.6+. Obsolete per https://bugs.python.org/issue10740#msg274816.
2018-10-25Fixed #29534 -- Made dbshell use rlwrap on Oracle if available.Mariusz Felisiak
2018-10-25Fixed #29827 -- Fixed reuse of test databases with --keepdb on MySQL.Sergey Fedoseev
Regression in e1253bc26facfa1d0fca161f43925e99c2591ced.
2018-10-25Removed useless check in sqlite's DatabaseWrapper._savepoint_allowed().Tim Graham
Obsolete since 27193aea0088b238e3ee0f0f235364a34a09265c.
2018-10-25Made DatabaseFeatures.uses_savepoints default to True.Tim Graham
2018-10-24Fixed #29869 -- Made UUIDField.to_python() convert integers.Sanyam Khurana
2018-10-24Fixed #29721 -- Ensured migrations are applied and recorded atomically.Sanyam Khurana
2018-10-24Fixed F841 flake8 warning.Mariusz Felisiak
2018-10-22Fixed #27595 -- Made ForeignKey.get_col() follow target chains.Simon Charette
Previously, foreign relationships were followed only one level deep which prevents foreign keys to foreign keys from being resolved appropriately. This was causing issues such as improper database value conversion for UUIDField on SQLite because the resolved expression's output field's internal type wasn't correct. Added tests to make sure unlikely foreign reference cycles don't cause recursion errors. Refs #24343. Thanks oyooyo for the report and Wayne Merry for the investigation.
2018-10-21Fixed #29870 -- Added DurationField introspection for Oracle and PostgreSQL.Mariusz Felisiak
Thanks Tim Graham for the review.
2018-10-17Moved make_hashable() to django.utils and added tests.aspalding
2018-10-17Fixed #21171 -- Avoided starting a transaction when a single (or atomic ↵Florian Apolloner
queries) are executed. Checked the following locations: * Model.save(): If there are parents involved, take the safe way and use transactions since this should be an all or nothing operation. If the model has no parents: * Signals are executed before and after the previous existing transaction -- they were never been part of the transaction. * if `force_insert` is set then only one query is executed -> atomic by definition and no transaction needed. * same applies to `force_update`. * If a primary key is set and no `force_*` is set Django will try an UPDATE and if that returns zero rows it tries an INSERT. The first case is completly save (single query). In the second case a transaction should not produce different results since the update query is basically a no-op then (might miss something though). * QuerySet.update(): no signals issued, single query -> no transaction needed. * Model/Collector.delete(): This one is fun due to the fact that is does many things at once. Most importantly though: It does send signals as part of the transaction, so for maximum backwards compatibility we need to be conservative. To ensure maximum compatibility the transaction here is removed only if the following holds true: * A single instance is being deleted. * There are no signal handlers attached to that instance. * There are no deletions/updates to cascade. * There are no parents which also need deletion.
2018-10-15Fixed #29725 -- Removed unnecessary join in QuerySet.count() and exists() on ↵oliver
a many-to-many relation.
2018-10-15Fixed #29845 -- Fixed Cast crash on MySQL when casting to DecimalField.Mariusz Felisiak
2018-10-13Fixed various comments in django/db/backends/oracle/base.py.Mariusz Felisiak
2018-10-11Fixed #29814 -- Added support for NoneType serialization in migrations.Patrik Sletmo
2018-10-11Fixed #29836 -- Bumped required cx_Oracle to 6.0.Mariusz Felisiak
2018-10-09Simplified handling of DurationField values on MySQL/MariaDB.Sergey Fedoseev
2018-10-09Capitalized "Python" in docs and comments.Jon Dufresne
2018-10-08Replaced kwargs.pop() with keyword-only arguments.Jon Dufresne
2018-10-08Refs #27795 -- Removed force_text() usage in db/models/sql/query.py.Jon Dufresne
2018-10-03Refs #27795 -- Removed force_bytes() usage in MySQL backend.Jon Dufresne
The mysqlclient cursor attribute `_last_executed` is always stored as bytes. Decode it. TextField values are already type str. No need to decode.
2018-10-02Fixed #29745 -- Based Expression equality on detailed initialization signature.Simon Charette
The old implementation considered objects initialized with an equivalent signature different if some arguments were provided positionally instead of as keyword arguments. Refs #11964, #26167.
2018-10-02Refs #29722 -- Added introspection of materialized views for PostgreSQL.Nick Pope
2018-10-02Fixed #29719 -- Added introspection of foreign tables for PostgreSQL.Nick Pope
Thanks infinite-l00p for the initial patch.
2018-10-02Refs #29641 -- Extracted reusable CheckConstraint logic into a base class.Simon Charette
2018-10-02Refs #11964 -- Changed CheckConstraint() signature to use keyword-only ↵Simon Charette
arguments. Also renamed the `constraint` argument to `check` to better represent which part of the constraint the provided `Q` object represents.
2018-10-02Added django.db.backends.utils.names_digest() to remove redundant code.Jon Dufresne
2018-10-02Fixed ResourceWarning in MySQL's _clone_test_db().Jon Dufresne
2018-10-01Fixed #29804 -- Added 'did you mean' suggestions for unsupported lookup error.Abhinav Patil
2018-10-01Fixed #29767 -- Made date-related casts work on SQLiteClaude Paroz
Thanks Rémy Hubscher for the report and Tim Graham and Simon Charette for the reviews.
2018-09-28Refs #28909 -- Simplifed code using unpacking generalizations.Sergey Fedoseev
2018-09-26Fixed #29630 -- Fixed crash of sliced queries with multiple columns with the ↵Mariusz Felisiak
same name on Oracle 12.1. Regression in 0899d583bdb140910698d00d17f5f1abc8774b07. Thanks Tim Graham for the review and Jani Tiainen for help.
2018-09-26Made DatabaseWrapper.oracle_version() return a full version tuple.Mariusz Felisiak
2018-09-26Refs #29784 -- Switched to https:// links where available.Jon Dufresne
2018-09-25Fixed #29778 -- Fixed quoting of unique index names.Oleg
Regression in 3b429c96736b8328c40e5d77282b0d30de563c3c.