Opened 4 months ago
Last modified 4 months ago
#35655 closed Bug
Django crashes with Oracle database Version > 23.3 — at Version 4
Reported by: | Suraj Shaw | Owned by: | Suraj Shaw |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 5.1 |
Severity: | Release blocker | Keywords: | |
Cc: | Suraj Shaw, Csirmaz Bendegúz, Mariusz Felisiak | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
The recent optimisation in Django for multi-row insert in case of Oracle db version greater than 23+ is crashing with specific db versions. The issue is being reported https://github.com/oracle/python-oracledb/issues/356. The upcoming version 5.1 release have this changes and may cause crashes with database versions greater than 23.3.
Link to the PR which added this optimisation - https://github.com/django/django/pull/17969/
Change History (4)
comment:1 by , 4 months ago
Summary: | Django crashes with oracle_db_version > 23.3 → Django crashes with Oracle database Version > 23.3 |
---|
comment:3 by , 4 months ago
Easy pickings: | unset |
---|
comment:4 by , 4 months ago
Description: | modified (diff) |
---|
Note:
See TracTickets
for help on using tickets.
The issue is reproducible.
Probable Fixes:
1 -> Switch to earlier version for multi-row insert (using select-union combination) till the issue is being resolved.
2-> Migrate to ExecuteMany() instead of Execute() for multi-row insert. When the number of bind variables are higher ExecuteMany() will be performing much better. So yet another reason for migration.
3-> Migrate from NVARCHAR2 to VARCHAR2 as it also resolves the issue with multi-row insert.