| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-01-16 | Refs #36822 -- Hoisted bulk_batch_size() implementations to base backend. | JaeHyuck Sa | |
| 2025-12-26 | Fixed #36112 -- Added fallback in last_executed_query() on Oracle and ↵ | VIZZARD-X | |
| PostgreSQL. | |||
| 2025-11-21 | Fixed #36718 -- Added JSONField support for negative array indexing on ↵ | Clifford Gama | |
| Oracle 21c+. | |||
| 2025-10-11 | Fixed #36646 -- Added compatibility for oracledb 3.4.0. | Simon Charette | |
| The Database.Binary, Date, and Timestamp attributes were changed from aliases to bytes, datetime.date, and datetime.datetime to factory functions in oracle/python-oracledb@869a887819cdac7fcd610f9d9d463ade49ea7 which made their usage inadequate for isinstance checks. Thanks John Wagenleitner for the report and Natalia for the triage. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2025-09-23 | Fixed #36616 -- Added DatabaseOperations.adapt_durationfield_value(). | Tim Graham | |
| 2025-08-28 | Refs #27222 -- Adapted RETURNING handling to be usable for UPDATE queries. | Simon Charette | |
| Renamed existing methods and abstractions used for INSERT … RETURNING to be generic enough to be used in the context of UPDATEs as well. This also consolidates SQL compliant implementations on BaseDatabaseOperations. | |||
| 2025-07-23 | Refs #36500 -- Rewrapped long docstrings and block comments via a script. | django-bot | |
| Rewrapped long docstrings and block comments to 79 characters + newline using script from https://github.com/medmunds/autofix-w505. | |||
| 2025-07-23 | Removed double spaces after periods and within phrases. | Sarah Boyce | |
| 2025-01-29 | Fixed #36118 -- Accounted for multiple primary keys in bulk_update ↵ | Sarah Boyce | |
| max_batch_size. Co-authored-by: Simon Charette <charette.s@gmail.com> | |||
| 2025-01-25 | Fixed #36111 -- Fixed test --debug-sql crash on Oracle when no prior query ↵ | Jacob Walls | |
| has executed. | |||
| 2025-01-15 | Refs #33817 -- Removed support for cx_Oracle per deprecation timeline. | Sarah Boyce | |
| 2024-12-09 | Refs #35982 -- Made BaseDatabaseOperations.adapt_decimalfield_value() a no-op. | Simon Charette | |
| 2024-08-03 | Fixed #35655 -- Reverted "Fixed #35295 -- Used INSERT with multiple rows on ↵ | Sarah Boyce | |
| Oracle 23c." This reverts commit 175b04942afaff978013db61495f3b39ea12989b due to a crash when Oracle > 23.3. | |||
| 2024-04-15 | Fixed ↵ | Mariusz Felisiak | |
| backends.oracle.tests.TransactionalTests.test_hidden_no_data_found_exception() on oracledb >= 2.1.2. python-oracledb 2.1.2+ no longer hides 'ORA-1403: no data found' exceptions raised in database triggers: https://github.com/oracle/python-oracledb/issues/321 | |||
| 2024-03-14 | Fixed #35295 -- Used INSERT with multiple rows on Oracle 23c. | Mariusz Felisiak | |
| 2024-03-11 | Optimized DatabaseOperations.bulk_insert_sql() a bit on Oracle. | Mariusz Felisiak | |
| 2024-02-15 | Fixed #34060 -- Fixed migrations crash when adding check constraints with ↵ | Albert Defler | |
| JSONField __exact lookup on Oracle. | |||
| 2024-01-23 | Refs #33517 -- Prevented __second lookup from returning fractional seconds ↵ | Hisham Mahmood | |
| on Oracle. | |||
| 2024-01-16 | Fixed #35111 -- Fixed compilation of DateField __in/__range rhs on SQLite ↵ | Simon Charette | |
| and MySQL. Also removed tests that ensured that adapt_(date)timefield backend operations where able to deal with expressions when it's not the case for any other adapt methods. | |||
| 2024-01-01 | Updated DatabaseFeatures.bare_select_suffix on Oracle 23c. | Nick Pope | |
| https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/application-development.html#GUID-4EB70EB9-4EE3-4FE2-99C4-86F7AAC60F12 | |||
| 2023-08-10 | Fixed #33817 -- Added support for python-oracledb and deprecated cx_Oracle. | Jingbei Li | |
| 2023-05-08 | Fixed #34544 -- Avoided DBMS_LOB.SUBSTR() wrapping with IS NULL condition on ↵ | Mariusz Felisiak | |
| Oracle. Regression in 09ffc5c1212d4ced58b708cbbf3dfbfb77b782ca. Thanks Michael Smith for the report. This also reverts commit 1e4da439556cdd69eb9f91e07f99cf77997e70d2. | |||
| 2022-11-25 | Fixed #34103 -- Fixed logging SQL queries with duplicate parameters on Oracle. | David Sanders | |
| 2022-07-09 | Refs CVE-2022-34265 -- Unified DatabaseOperations._convert_*_to_tz() hook names. | Mariusz Felisiak | |
| 2022-07-06 | Refs CVE-2022-34265 -- Properly escaped Extract() and Trunc() parameters. | Simon Charette | |
| Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2022-07-05 | Fixed #33815 -- Fixed last_executed_query() on Oracle when parameter names ↵ | Mariusz Felisiak | |
| overlap. | |||
| 2022-03-29 | Updated Oracle docs links to Oracle 21c. | Mariusz Felisiak | |
| 2022-02-07 | Refs #33476 -- Refactored code to strictly match 88 characters line length. | Mariusz Felisiak | |
| 2022-02-07 | Refs #33476 -- Reformatted code with Black. | django-bot | |
| 2022-02-03 | Refs #33476 -- Refactored problematic code before reformatting by Black. | Mariusz Felisiak | |
| In these cases Black produces unexpected results, e.g. def make_random_password( self, length=10, allowed_chars='abcdefghjkmnpqrstuvwxyz' 'ABCDEFGHJKLMNPQRSTUVWXYZ' '23456789', ): or cursor.execute(""" SELECT ... """, [table name], ) | |||
| 2022-01-25 | Fixed broken link to cx_Oracle docs. | Ian Foote | |
| 2021-12-09 | Fixed #33340 -- Fixed unquoted column names in queries used by DatabaseCache. | Arsa | |
| 2021-11-12 | Fixed #33279 -- Fixed handling time zones with "-" sign in names. | Can Sarigol | |
| Thanks yakimka for the report. Regression in fde9b7d35e4e185903cc14aa587ca870037941b1. | |||
| 2021-07-09 | Fixed #27021 -- Allowed lookup expressions in annotations, aggregations, and ↵ | Ian Foote | |
| QuerySet.filter(). Thanks Hannes Ljungberg and Simon Charette for reviews. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2021-05-11 | Fixed #32722 -- Fixed comparing to TruncTime() on Oracle. | Mariusz Felisiak | |
| 2021-04-30 | Fixed #32653 -- Made quoting names in the Oracle backend consistent with ↵ | Mariusz Felisiak | |
| db_table. | |||
| 2021-02-03 | Refs #32390 -- Bumped required cx_Oracle to 7.0. | Mariusz Felisiak | |
| 2021-01-14 | Refs #31369 -- Removed models.NullBooleanField per deprecation timeline. | Mariusz Felisiak | |
| 2020-10-14 | Fixed #31640 -- Made Trunc() truncate datetimes to Date/TimeField in a ↵ | David-Wobrock | |
| specific timezone. | |||
| 2020-10-02 | Fixed #32060 -- Added Random database function. | Nick Pope | |
| 2020-07-17 | Fixed #31731 -- Removed unreachable code for resetting sequences of ↵ | Ravindar Sharma | |
| auto-created m2m tables in sequence_reset_sql(). Unreachable because f.remote_field.through is truthy for all m2m fields. Resetting sequences of auto-created m2m tables in sequence_reset_sql() is also unnecessary: - in sqlsequencereset since c39ec6dccb389fbb4047e44f5247e18bb76ae598 because auto-created tables are included in model_list, - in loaddata because there is no it need to reset sequences for models not loaded directly. - in create_default_site() because it doesn't have m2m fields. | |||
| 2020-07-16 | Stopped adapting DecimalField values to strings on Oracle. | Mariusz Felisiak | |
| cx_Oracle handles decimal.Decimal. expressions_case.tests.CaseExpressionTests.test_update_decimal fails without this change. Follow up to 9c5c9bd7091b60fdccc405890dc4f44a8010e954. | |||
| 2020-05-08 | Fixed #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-04-17 | Fixed #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-17 | Simplified DatabaseOperations.sql_flush() on Oracle and PostgreSQL. | Jon Dufresne | |
| Added early return to decrease an indentation level. | |||
| 2020-03-31 | Refs #31403 -- Made SQLInsertCompiler.execute_sql() always return an ↵ | Adam Johnson | |
| iterable of rows. List of tuples. | |||
| 2020-03-25 | Fixed #31396 -- Added binary XOR operator to F expressions. | Hannes Ljungberg | |
| 2020-02-04 | Simplified imports from django.db and django.contrib.gis.db. | Nick Pope | |
| 2020-01-03 | Fixed #31133 -- Fixed crash when subtracting against a subquery annotation. | Simon Charette | |
| The subtract_temporals() database operation was not handling expressions returning SQL params in mixed database types. Regression in 35431298226165986ad07e91f9d3aca721ff38ec. Thanks Reupen Shah for the report. | |||
| 2019-11-21 | Refs #25367 -- Moved conditional expression wrapping to the Exact lookup. | Simon Charette | |
