#28859: Django hides exception from database with Oracle backend.
-------------------------------------+-------------------------------------
Reporter: Jani | Owner: nobody
Tiainen |
Type: Bug | Status: new
Component: Database | Version: 1.11
layer (models, ORM) |
Severity: Normal | Keywords: oracle
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
Attached minimal project to demonstrate the problem.
Traceback from Django:
{{{
Traceback (most recent call last):
File "/home/jtiai/projects/django-oracle-
bug/django_oracle_bug/django_oracle_bug/tests.py", line 6, in
test_trigger_failure
obj = MyModel.objects.create()
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/query.py", line 394, in create
obj.save(force_insert=True, using=self.db)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/base.py", line 808, in save
force_update=force_update, update_fields=update_fields)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/base.py", line 838, in save_base
updated = self._save_table(raw, cls, force_insert, force_update,
using, update_fields)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/base.py", line 924, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk,
raw)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/base.py", line 963, in _do_insert
using=using, raw=raw)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/query.py", line 1076, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/models/sql/compiler.py", line 1114, in execute_sql
return self.connection.ops.fetch_returned_insert_id(cursor)
File "/home/jtiai/.pyenv/versions/django-oracle-bug/lib/python3.6/site-
packages/django/db/backends/oracle/operations.py", line 245, in
fetch_returned_insert_id
return int(cursor._insert_id_var.getvalue())
TypeError: int() argument must be a string, a bytes-like object or a
number, not 'NoneType'
}}}
Real error that happend:
{{{
ORA-01403: no data found
ORA-06512: at "ORA_TEST.TG_FAILING", line 4
ORA-04088: error during execution of trigger 'ORA_TEST.TG_FAILING'
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/28859>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/048.6c7f1eed932305aef0a753e125018ca6%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.