Fixed #36148 -- Enabled native tuple comparison lookups on Oracle >= 23.4 and SQLite >= 3.37. - #19107
Fixed #36148 -- Enabled native tuple comparison lookups on Oracle >= 23.4 and SQLite >= 3.37.#19107charettes wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
This can be handy in bulk_batch_size as if this is supported we can likely avoid considering one placeholder per composite field see https://github.com/django/django/pull/19088/files#r1931008541.
bb6a5aa to
6d0e2ce
Compare
6d0e2ce to
9952fc4
Compare
|
Discovered that SQLite does support native tuple containment checks by digging a bit |
Oracle 23c has been rebranded to Oracle 23ai (starting with version 23.4), which would explain many new features in the "minor" release. |
|
@felixxm I just spent some more time going through the release notes again and I couldn't any mention of it. It might have been a feature that flew the radar though given that support the That would explain why Looking how we circumvented the lack of |
|
There we go it seems that we can work around the It appears that |
Unfortunately we had to revert 175b049 (see 5424151 and ticket-35655). |
The issue might only be for |
9952fc4 to
b6898ff
Compare
b6898ff to
3016df2
Compare
3016df2 to
47ab068
Compare
This should allow third-party backends to define Tuple.as_vendor() overrides that are taken into consideration which calling as_sql() directly prevents.
…port. This should allow backends more easily opt-in or out of native support and rely on the fallback if unavailable.
…+ 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.
1ae16d3 to
bfc7364
Compare
Per discussion
Trac ticket number
ticket-36148
Branch description
I can't get my hands on Oracle <= 23.3 but I know that
ORACLE_VERSION=23.4.0.0 PYTHON_VERSION=3.12 docker compose run --rm oracle --parallel 1 --keepdb composite_pkpassesORACLE_VERSION=23.5.0.0 PYTHON_VERSION=3.12 docker compose run --rm oracle --parallel 1 --keepdb composite_pkpasses