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 Mariusz Felisiak)

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 Mariusz Felisiak, 63 minutes ago

Description: modified (diff)
Triage Stage: Unreviewed → Accepted
Note: See TracTickets for help on using tickets.
Back to Top