#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.

Reply via email to