[Django] #35054: Add support for oracledb 2.0.

9 views
Skip to first unread message

Django

unread,
Dec 21, 2023, 12:07:59 AM12/21/23
to django-...@googlegroups.com
#35054: Add support for oracledb 2.0.
-------------------------------------+-------------------------------------
Reporter: Mariusz | Owner: Mariusz Felisiak
Felisiak |
Type: Bug | Status: assigned
Component: Database | Version: 5.0
layer (models, ORM) |
Severity: Release | Keywords:
blocker |
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
The Oracle back-end doesn't work with [https://python-
oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-2-0-0-december-2023
oracledb==2.0.0], because it changed converters for `JSONField` and now
returns `dict` instead of `str`:

> ''"Added support for fetching `VARCHAR2` and `LOB` columns which contain
`JSON` (and have the `IS JSON` check constraint enabled) in the same way
as columns of type `JSON` (which requires Oracle Database 21c or higher)
are fetched. In thick mode this requires Oracle Client 19c or higher. The
attribute `oracledb.__future__.old_json_col_as_obj` must be set to the
value True for this behavior to occur. In version 2.0 this will become the
normal behavior and setting this attribute will no longer be needed."''

Check out [https://cjones-oracle.medium.com/python-oracledb-2-0-has-
asyncio-support-2b913e40f9ca Christopher's article].

--
Ticket URL: <https://code.djangoproject.com/ticket/35054>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Dec 21, 2023, 12:08:51 AM12/21/23
to django-...@googlegroups.com
#35054: Add support for oracledb 2.0.
-------------------------------------+-------------------------------------
Reporter: Mariusz Felisiak | Owner: Mariusz

| Felisiak
Type: Bug | Status: assigned
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle python- | Triage Stage:
oracledb | Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* cc: Christopher Jones (added)
* keywords: => oracle python-oracledb


--
Ticket URL: <https://code.djangoproject.com/ticket/35054#comment:1>

Django

unread,
Dec 21, 2023, 12:24:39 AM12/21/23
to django-...@googlegroups.com
#35054: Add support for oracledb 2.0.
-------------------------------------+-------------------------------------
Reporter: Mariusz Felisiak | Owner: Mariusz
| Felisiak
Type: Bug | Status: assigned
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle python- | Triage Stage:
oracledb | Unreviewed
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* has_patch: 0 => 1


Comment:

[https://github.com/django/django/pull/17630 PR]

--
Ticket URL: <https://code.djangoproject.com/ticket/35054#comment:2>

Django

unread,
Dec 22, 2023, 2:22:35 AM12/22/23
to django-...@googlegroups.com
#35054: Add support for oracledb 2.0.
-------------------------------------+-------------------------------------
Reporter: Mariusz Felisiak | Owner: Mariusz
| Felisiak
Type: Bug | Status: assigned
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle python- | Triage Stage: Accepted
oracledb |

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by David Smith):

* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/35054#comment:3>

Django

unread,
Dec 22, 2023, 3:43:55 AM12/22/23
to django-...@googlegroups.com
#35054: Add support for oracledb 2.0.
-------------------------------------+-------------------------------------
Reporter: Mariusz Felisiak | Owner: Mariusz
| Felisiak
Type: Bug | Status: closed

Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution: fixed

Keywords: oracle python- | Triage Stage: Accepted
oracledb |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by GitHub <noreply@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"6c08dba5176606e8a62dd108bb6c9467d678d2f4" 6c08dba]:
{{{
#!CommitTicketReference repository=""
revision="6c08dba5176606e8a62dd108bb6c9467d678d2f4"
Fixed #35054 -- Fixed crash on Oracle when fetching JSONFields with
oracledb 2.0.0.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/35054#comment:4>

Django

unread,
Dec 22, 2023, 3:44:56 AM12/22/23
to django-...@googlegroups.com
#35054: Add support for oracledb 2.0.
-------------------------------------+-------------------------------------
Reporter: Mariusz Felisiak | Owner: Mariusz
| Felisiak
Type: Bug | Status: closed
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution: fixed
Keywords: oracle python- | Triage Stage: Accepted
oracledb |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"42c31f867fa75d52bbbb4b39478f982fbe010ae1" 42c31f86]:
{{{
#!CommitTicketReference repository=""
revision="42c31f867fa75d52bbbb4b39478f982fbe010ae1"
[5.0.x] Fixed #35054 -- Fixed crash on Oracle when fetching JSONFields
with oracledb 2.0.0.

Backport of 6c08dba5176606e8a62dd108bb6c9467d678d2f4 from main
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/35054#comment:5>

Reply all
Reply to author
Forward
0 new messages