[Django] #36148: Enable native tuple comparison lookups on Oracle >= 23.4.

16 views
Skip to first unread message

Django

unread,
Jan 27, 2025, 8:04:57 PM1/27/25
to django-...@googlegroups.com
#36148: Enable native tuple comparison lookups on Oracle >= 23.4.
-------------------------------------+-------------------------------------
Reporter: Simon | Owner: (none)
Charette |
Type: | Status: assigned
Cleanup/optimization |
Component: Database | Version: 5.2
layer (models, ORM) |
Severity: Normal | Keywords:
Triage Stage: | Has patch: 1
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
While I couldn't find the exact release note mention it appears that
Oracle 23.4+ finally supports native tuple operations which makes most of
the `tuple_lookups` Oracle specialization unnecessary on these versions.
--
Ticket URL: <https://code.djangoproject.com/ticket/36148>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jan 28, 2025, 3:52:06 AM1/28/25
to django-...@googlegroups.com
#36148: Enable native tuple comparison lookups on Oracle >= 23.4.
-------------------------------------+-------------------------------------
Reporter: Simon Charette | Owner: Simon
Type: | Charette
Cleanup/optimization | Status: assigned
Component: Database layer | Version: 5.2
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* cc: Mariusz Felisiak (added)
* owner: (none) => Simon Charette
* stage: Unreviewed => Accepted

Comment:

I also couldn't find a release note
--
Ticket URL: <https://code.djangoproject.com/ticket/36148#comment:1>

Django

unread,
Feb 9, 2025, 9:16:13 AM2/9/25
to django-...@googlegroups.com
#36148: Enable native tuple comparison lookups on Oracle >= 23.4.
-------------------------------------+-------------------------------------
Reporter: Simon Charette | Owner: Simon
Type: | Charette
Cleanup/optimization | Status: assigned
Component: Database layer | Version: 5.2
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* stage: Accepted => Ready for checkin

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

Django

unread,
Feb 9, 2025, 11:45:48 AM2/9/25
to django-...@googlegroups.com
#36148: Enable native tuple comparison lookups on Oracle >= 23.4.
-------------------------------------+-------------------------------------
Reporter: Simon Charette | Owner: Simon
Type: | Charette
Cleanup/optimization | Status: assigned
Component: Database layer | Version: 5.2
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
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:"a0a765ddeb5056c85e084773d3f6432e2a426638" a0a765dd]:
{{{#!CommitTicketReference repository=""
revision="a0a765ddeb5056c85e084773d3f6432e2a426638"
Refs #36148 -- Relied on a feature switch to define tuple lookups support.

This should allow backends more easily opt-in or out of native support and
rely
on the fallback if unavailable.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36148#comment:3>

Django

unread,
Feb 9, 2025, 11:45:48 AM2/9/25
to django-...@googlegroups.com
#36148: Enable native tuple comparison lookups on Oracle >= 23.4.
-------------------------------------+-------------------------------------
Reporter: Simon Charette | Owner: Simon
Type: | Charette
Cleanup/optimization | Status: closed
Component: Database layer | Version: 5.2
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak <felisiak.mariusz@…>):

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

Comment:

In [changeset:"4a3ad9eebbc16ce80b348644b557c84ecc741be7" 4a3ad9ee]:
{{{#!CommitTicketReference repository=""
revision="4a3ad9eebbc16ce80b348644b557c84ecc741be7"
Fixed #36148 -- Enabled native tuple comparison lookups on SQLite 3.37+
and Oracle 23.4+.

VALUES must be explicitly specified when declaring a sequence of tuples
on SQLite < 3.37 but it's not required on >= 3.37.

See sqlite/sqlite@9289f51 which addressed the last remaining issue with
IN.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36148#comment:4>

Django

unread,
Feb 11, 2025, 3:18:56 AM2/11/25
to django-...@googlegroups.com
#36148: Enable native tuple comparison lookups on Oracle >= 23.4.
-------------------------------------+-------------------------------------
Reporter: Simon Charette | Owner: Simon
Type: | Charette
Cleanup/optimization | Status: closed
Component: Database layer | Version: 5.2
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Sarah Boyce <42296566+sarahboyce@…>):

In [changeset:"f8fce8d4dce7cf6d272a29351faddd5fa76f1aa0" f8fce8d]:
{{{#!CommitTicketReference repository=""
revision="f8fce8d4dce7cf6d272a29351faddd5fa76f1aa0"
[5.2.x] Refs #36148 -- Relied on a feature switch to define tuple lookups
support.

This should allow backends more easily opt-in or out of native support and
rely
on the fallback if unavailable.

Backport of a0a765ddeb5056c85e084773d3f6432e2a426638 from main.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36148#comment:5>
Reply all
Reply to author
Forward
0 new messages