summaryrefslogtreecommitdiff
path: root/django/db/backends/oracle/base.py
Commit message (Collapse)AuthorAgeFilesLines
* Fixed #31090 -- Logged transaction management queries.Ilya Bass2022-11-211-1/+2
| | | | | Thanks to Petter Strandmark for the original idea and Mariusz Felisiak for advice during the DjangoConUS 2022 Sprint!
* Used more augmented assignment statements.Nick Pope2022-10-311-3/+3
| | | | | | Identified using the following command: $ git grep -I '\(\<[_a-zA-Z0-9]\+\>\) *= *\1 *[-+/*^%&|<>@]'
* Fixed #33379 -- Added minimum database version checks.Hasan Ramezani2022-02-181-0/+4
| | | | Thanks Tim Graham for the review.
* Refs #33476 -- Refactored code to strictly match 88 characters line length.Mariusz Felisiak2022-02-071-6/+21
|
* Refs #33476 -- Reformatted code with Black.django-bot2022-02-071-119/+137
|
* Refs #31369 -- Removed models.NullBooleanField per deprecation timeline.Mariusz Felisiak2021-01-141-2/+0
|
* Fixed #32201 -- Removed obsolete isort:skip's.Seamus Quinn2020-11-191-8/+8
| | | Obsolete as of isort 5.
* Refs #32061 -- Unified DatabaseClient.runshell() in db backends.Simon Charette2020-10-291-13/+2
|
* Fixed #31751 -- Fixed database introspection with cx_Oracle 8.Mariusz Felisiak2020-06-301-0/+4
|
* Fixed #12990, Refs #27694 -- Added JSONField model field.sage2020-05-081-0/+2
| | | | | | | | | | | 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>
* Fixed #20581 -- Added support for deferrable unique constraints.Ian Foote2020-04-301-1/+9
|
* Capitalized Unicode in docs, strings, and comments.Jon Dufresne2020-04-201-2/+2
|
* Fixed #31271 -- Preserved ordering when unifying query parameters on Oracle.Mariusz Felisiak2020-02-181-1/+4
| | | | | | | This caused misplacing parameters in logged SQL queries. Regression in 79065b55a70cd220820a260a1c54851b7be0615a. Thanks Hans Aarne Liblik for the report.
* Fixed #31233 -- Closed database connections and cursors after use.Jon Dufresne2020-02-061-2/+3
|
* Simplified imports from django.db and django.contrib.gis.db.Nick Pope2020-02-041-2/+2
|
* Fixed #30987 -- Added models.PositiveBigIntegerField.Caio Ariede2019-11-191-0/+2
|
* Fixed #30661 -- Added models.SmallAutoField.Nick Pope2019-08-021-0/+1
|
* Fixed #30451 -- Added ASGI handler and coroutine-safety.Andrew Godwin2019-06-201-0/+3
| | | | | This adds an ASGI handler, asgi.py file for the default project layout, a few async utilities and adds async-safety to many parts of Django.
* Fixed #30307 -- Fixed incorrect quoting of database user password when using ↵msg2019-04-041-1/+1
| | | | | | dbshell on Oracle. Regression in acfc650f2a6e4a79e80237eabfa923ea3a05d709.
* Refs #27753 -- Favored force/smart_str() over force/smart_text().Aymeric Augustin2019-02-061-2/+2
|
* Refs #29444 -- Renamed DatabaseFeatures.can_return_id* to be generic for ↵Johannes Hoppe2019-01-301-1/+1
| | | | other columns.
* Fixed #21171 -- Avoided starting a transaction when a single (or atomic ↵Florian Apolloner2018-10-171-16/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fixed various comments in django/db/backends/oracle/base.py.Mariusz Felisiak2018-10-131-6/+3
|
* Fixed #29836 -- Bumped required cx_Oracle to 6.0.Mariusz Felisiak2018-10-111-2/+0
|
* Made DatabaseWrapper.oracle_version() return a full version tuple.Mariusz Felisiak2018-09-261-9/+2
|
* Removed Oracle's fetchmany() and fetchall() wrappers.Sergey Fedoseev2018-07-101-8/+0
| | | Follow up to e06cab260049bb58eafdc4f60ac50a5f3759c38c.
* Fixed #29541 -- Fixed Cursor.execute() crash when setinputsizes() is called ↵Mariusz Felisiak2018-07-041-2/+4
| | | | without arguments wit cx_Oracle 6.4.
* Fixed #29199 -- Fixed crash when database user password contains @ sign on ↵Mariusz Felisiak2018-03-131-9/+12
| | | | | Oracle. Thanks Shane Allgeier for the report and Tim Graham for the review.
* Fixed #28932 -- Prevented Oracle from truncating trailing zeros in the ↵Sergey Fedoseev2017-12-201-1/+9
| | | | | | fractional part of DecimalField. Fixes the test added in 6fd6d8383f48ea2fe4e058725fa30529a083e9a5. Regression in 7c1f3901bcdabb1340a621e7df9b24f3acd0d6f3.
* Fixed #28934 -- Prevented Cast from truncating microseconds on Oracle.Mariusz Felisiak2017-12-201-0/+2
|
* Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.Nick Pope2017-12-111-3/+3
|
* Fixed #28860 -- Removed unnecessary len() calls.Дилян Палаузов2017-12-041-1/+1
|
* Removed useless condition from Oracle's NullBooleanField's check constraint.Mariusz Felisiak2017-09-051-1/+1
| | | | | | NULL cannot be compare with standard operators on Oracle, it works only with IS NULL and IS NOT NULL operators. Therefore 'OR ... IS NULL' condition in NullBooleanField's check constraint is redundant. Nullability is checked in a separate constraint.
* Removed unnecessary assignment in Oracle's ↵Srinivas Reddy Thatiparthy2017-08-071-1/+0
| | | | | FormatStylePlaceholderCursor._fix_for_params(). Obsolete since fae56427e1987ff8c8bd24d6331007f9c53e7abc.
* Fixed #28411 -- Used cx_Oracle.Cursor.outputtypehandler instead of ↵Mariusz Felisiak2017-07-191-51/+29
| | | | | _rowfactory() on Oracle. Thanks Tim Graham for the review.
* Removed unused branch in __getattr__() of Oracle and MySQL cursor wrappers.Sergey Fedoseev2017-07-141-4/+1
|
* Replaced Oracle CursorIterator with generator expression.Sergey Fedoseev2017-07-141-17/+1
|
* Fixed #26682 -- Added support for Oracle identity columns.Mariusz Felisiak2017-06-011-2/+2
| | | | Thanks Shai Berger and Tim Graham for reviews.
* Fixed #28249 -- Removed unnecessary dict.keys() calls.Jon Dufresne2017-05-271-1/+1
| | | iter(dict) is equivalent to iter(dict.keys()).
* Fixed #27859 -- Ignored db_index for TextField/BinaryField on Oracle and MySQL.Mariusz Felisiak2017-05-231-0/+5
| | | Thanks Zubair Alam for the initial patch and Tim Graham for the review.
* Refs #27859 -- Added DatabaseWrapper.display_name.Mariusz Felisiak2017-05-231-0/+1
| | | Thanks Tim Graham for the review.
* Fixed #28138 -- Used ​output type handler instead of numbersAsStrings on ↵Mariusz Felisiak2017-04-281-2/+15
| | | | | Oracle ​cursor. Thanks Tim Graham for the review.
* Refs #27795 -- Removed unneeded force_text calls from the Oracle backend.Mariusz Felisiak2017-04-171-1/+1
|
* Updated cx_Oracle arraysize comment.Tim Graham2017-03-281-1/+1
|
* Fixed #27924 -- Added support for cx_Oracle 5.3.Mariusz Felisiak2017-03-101-1/+2
| | | | | | | - Fixed Oracle backend due to cx_Oracle 5.3 change in the Cursor.description behavior i.e. "Use None instead of 0 for items in the Cursor.description attribute that do not have any validity.". - Used cx_Oracle.Object.size() instead of len(). Thanks Tim Graham for the review.
* Refs #27656 -- Updated django.db docstring verbs according to PEP 257.Anton Samarchyan2017-02-281-2/+2
|
* Refs #23919, #27778 -- Removed obsolete mentions of unicode.Vytis Banaitis2017-01-261-1/+1
|
* Refs #23919 -- Removed misc Python 2/3 references.Tim Graham2017-01-251-2/+1
|
* Refs #23919 -- Replaced super(ClassName, self) with super().chillaranand2017-01-251-1/+1
|
* Refs #23919 -- Replaced six.reraise by raiseClaude Paroz2017-01-221-3/+1
|