﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
28498	Add cx_Oracle 6 support	Mariusz Felisiak	Mariusz Felisiak	"cx_Oracle 6 causes a tests failures due to this change:

''Prevent closing the connection when there are any open statements or LOBs and add new error “DPI-1054: connection cannot be closed when open statements or LOBs exist” when this situation is detected; this is needed to prevent crashes under certain conditions when statements or LOBs are being acted upon while at the same time (in another thread) a connection is being closed; it also prevents leaks of statements and LOBs when a connection is returned to a session pool.'' (see cx_Oracle [http://cx-oracle.readthedocs.io/en/latest/releasenotes.html#version-6-0-august-2017 release notes]).

Sample exception:
{{{
Traceback (most recent call last):
  File ""./runtests.py"", line 478, in <module>
    options.exclude_tags,
  File ""./runtests.py"", line 286, in django_tests
    extra_tests=extra_tests,
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/test/runner.py"", line 601, in run_tests
    old_config = self.setup_databases()
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/test/runner.py"", line 548, in setup_databases
    self.parallel, **kwargs
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/test/utils.py"", line 176, in setup_databases
    serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/db/backends/base/creation.py"", line 54, in create_test_db
    self._create_test_db(verbosity, autoclobber, keepdb)
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/db/backends/oracle/creation.py"", line 100, in _create_test_db
    self._maindb_connection.close()  # done with main user -- test user and tablespaces created
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/db/backends/base/base.py"", line 281, in close
    self._close()
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/db/backends/base/base.py"", line 243, in _close
    return self.connection.close()
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/db/utils.py"", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File ""/home/jenkins/workspace/django-oracle-master/database/oracle12/label/trusty/python/python3.6/django/db/backends/base/base.py"", line 243, in _close
    return self.connection.close()
django.db.utils.DatabaseError: DPI-1054: connection cannot be closed when open statements or LOBs exist}}}"	Cleanup/optimization	closed	Database layer (models, ORM)	1.11	Release blocker	fixed	cx_Oracle oracle		Ready for checkin	1	0	0	0	0	0
