]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Use cx_oracle.LONG_STRING /LONG_BINARY for CLOB/BLOB
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 7 May 2020 17:56:38 +0000 (13:56 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 9 May 2020 13:51:36 +0000 (09:51 -0400)
commit02a5abb745606021bfc7e56c4afdab13c7e8bd66
tree47e18281b44918632ee2bb2ae1f4c05dcff3310d
parentfdfc2954420ebb83fbbdc7f2ae5aeb3742e2b167
Use cx_oracle.LONG_STRING /LONG_BINARY for CLOB/BLOB

Changed the implementation of fetching CLOB and BLOB objects to use
cx_Oracle's native implementation which fetches CLOB/BLOB objects inline
with other result columns, rather than performing a separate fetch. As
always, this can be disabled by setting auto_convert_lobs to False.

As part of this change, the behavior of a CLOB that was given a blank
string on INSERT now returns None on SELECT, which is now consistent with
that of VARCHAR on Oracle.

Fixes: #5314
Change-Id: I7b46c91704b6f5d6c157e083505dac6e0cb3ef6e
(cherry picked from commit fb28e40b31797dc9ad72f11a8edd4f2eb555a36d)
doc/build/changelog/unreleased_13/5314.rst [new file with mode: 0644]
lib/sqlalchemy/dialects/oracle/cx_oracle.py
lib/sqlalchemy/testing/suite/test_types.py
test/dialect/oracle/test_dialect.py
test/requirements.py