]> 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>
Fri, 8 May 2020 18:22:46 +0000 (14:22 -0400)
commitfb28e40b31797dc9ad72f11a8edd4f2eb555a36d
treea9d061b2e94a6149d56746e06fa2b7d01f3b4f1b
parent9821bddfcb3c94cea13b7f19bcb27845b0dc1ed8
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
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