]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Revert cx_Oracle WITH_UNICODE change under > 5.0
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 28 Jul 2017 19:05:25 +0000 (15:05 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 28 Jul 2017 21:43:10 +0000 (17:43 -0400)
commitedeed24d8727c42f86c7589d76bd2fab71a230c1
treefc2123ea034b7ecd53bd01076d92fa6602e34fdb
parent3544d3c3d82ccb73ed0d882eeb390ab33ea84f53
Revert cx_Oracle WITH_UNICODE change under > 5.0

Fixed performance regression caused by the fix for :ticket:`3937` where
cx_Oracle as of version 5.3 dropped the ``.UNICODE`` symbol from its
namespace,  which was interpreted as cx_Oracle's "WITH_UNICODE" mode being
turned on unconditionally, which invokes functions on the SQLAlchemy
side which convert all strings to unicode unconditionally and causing
a performance impact.  In fact, per cx_Oracle's author the
"WITH_UNICODE" mode has been removed entirely as of 5.1, so the expensive unicode
conversion functions are no longer necessary and are disabled if
cx_Oracle 5.1 or greater is detected under Python 2.  The warning against
"WITH_UNICODE" mode that was removed under :ticket:`3937` is also restored.

Change-Id: Iddd38d81a5adb27c953a5ee2eae5529a21da16e1
Fixes: #4035
(cherry picked from commit 7997d7fdc3634e7dba9fd0113b8b85ef311bfeaa)
doc/build/changelog/unreleased_10/4035.rst [new file with mode: 0644]
lib/sqlalchemy/dialects/oracle/cx_oracle.py