- Notifications
You must be signed in to change notification settings - Fork 96
Closed
Labels
Description
Hi, I'm working on a pull request django/django#15841 which replaces the use of cx_Oracle module with oracledb in django.
However, there is a failed test that related to DB_TYPE_OBJECT.
The reason seems to be that DB_TYPE_OBJECT is not supported in oracledb.thin_impl.MessageWithData._process_column_data.
This test could be passed with cx_Oracle. Is it possible to add the same support to oracledb.thin_impl.MessageWithData._process_column_data?
Related codes:
- django/contrib/gis/db/backends/oracle/introspection.py
Here django maps itsGeometryFieldtooracledb.DB_TYPE_OBJECT(previouslycx_Oracle.OBJECT). - django/tests/gis_tests/inspectapp/tests.py
Here is the code to the test.
- What versions are you using?
It's an internal database used in the CI of django. I think is version should be 19.
- Is it an error or a hang or a crash?
crash - What error(s) or behavior you are seeing?
Traceback (most recent call last): File "/home/jenkins/workspace/pull-requests-oracle/database/oragis19/label/oracle/python/python3.10/django/db/backends/utils.py", line 89, in _execute return self.cursor.execute(sql, params) File "/home/jenkins/workspace/pull-requests-oracle/database/oragis19/label/oracle/python/python3.10/django/db/backends/oracle/base.py", line 566, in execute return self.cursor.execute(query, self._param_generator(params)) File "/home/jenkins/workspace/pull-requests-oracle/database/oragis19/label/oracle/python/python3.10/tests/.env/lib/python3.10/site-packages/oracledb/cursor.py", line 378, in execute impl.execute(self) File "src/oracledb/impl/thin/cursor.pyx", line 121, in oracledb.thin_impl.ThinCursorImpl.execute File "src/oracledb/impl/thin/protocol.pyx", line 375, in oracledb.thin_impl.Protocol._process_single_message File "src/oracledb/impl/thin/protocol.pyx", line 376, in oracledb.thin_impl.Protocol._process_single_message File "src/oracledb/impl/thin/protocol.pyx", line 336, in oracledb.thin_impl.Protocol._process_message File "src/oracledb/impl/thin/protocol.pyx", line 315, in oracledb.thin_impl.Protocol._process_message File "src/oracledb/impl/thin/messages.pyx", line 281, in oracledb.thin_impl.Message.process File "src/oracledb/impl/thin/messages.pyx", line 789, in oracledb.thin_impl.MessageWithData._process_message File "src/oracledb/impl/thin/messages.pyx", line 869, in oracledb.thin_impl.MessageWithData._process_row_data File "src/oracledb/impl/thin/messages.pyx", line 595, in oracledb.thin_impl.MessageWithData._process_column_data File "/home/jenkins/workspace/pull-requests-oracle/database/oragis19/label/oracle/python/python3.10/tests/.env/lib/python3.10/site-packages/oracledb/errors.py", line 103, in _raise_err raise exc_type(_Error(message)) from cause oracledb.exceptions.NotSupportedError: DPY-3007: database type "DB_TYPE_OBJECT" is not supported - Does your application call init_oracle_client()?
No.
- Include a runnable Python script that shows the problem.