Opened 68 minutes ago
Last modified 63 minutes ago
#37411 assigned New feature
Add support for python-oracledb version 26
| Reported by: | Jacob Walls | Owned by: | Jacob Walls |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 6.1 |
| Severity: | Normal | Keywords: | Oracle |
| Cc: | Mariusz Felisiak | Triage Stage: | Accepted |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Version 26 of the python-oracledb driver was released in September 2026, causing failures in our GIS tests:
django.db.utils.DatabaseError: Problem installing fixture '/django/source/tests/gis_tests/geoapp/fixtures/initial.json.gz':Could not load geoapp.Country(pk=1): ORA-01461: The value at bind position 2 exceeded the maximum VARCHAR2 length. Help: https://docs.oracle.com/error-help/db/ora-01461/
It relates to a behavior change -- you can no longer pass long strings (like this geometry from the test fixture) as parameters by calling setinputsizes(DB_TYPE_CLOB): you must actually create the LOB first. See this issue discussion.
Our Oracle backend already has logic to "request" a CLOB -- I presume the fix is as outlined on the oracledb issue: in those cases, take responsibility for creating the CLOB ourselves.
I presume we will backport to at least mainstream support (6.1) like #36646, and possibly document on lower versions an upper bound on python-oracledb like 99e033694c54b5d0e2cfd796ce598cc1e6c9af4a
Change History (1)
comment:1 by , 63 minutes ago
| Description: | modified (diff) |
|---|---|
| Triage Stage: | Unreviewed → Accepted |