cx_Oracle 4.4

Anthony Tuininga anthony.tuininga at gmail.com
Thu Jun 12 06:20:03 CEST 2008


What is cx_Oracle?

cx_Oracle is a Python extension module that allows access to Oracle and
conforms to the Python database API 2.0 specifications with a few
exceptions.


Where do I get it?

http://cx-oracle.sourceforge.net


What's new?

1) Fix setup.py to handle the Oracle instant client and Oracle XE on
both Linux and Windows as pointed out by many. Thanks also to the many
people who also provided patches.

2) Set the default array size to 50 instead of 1 as the DB API
suggests because the performance difference is so drastic and many
people have recommended that the default be changed.

3) Added Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS around each
blocking call for LOBs as requested by Jason Conroy who also provided
an initial patch and performed a number of tests that demonstrate the
new code is much more responsive.

4) Add support for acquiring cursor.description after a parse.

5) Defer type assignment when performing executemany() until the last
possible moment if the value being bound in is null as suggested by
Dragos Dociu.

6) When dropping a connection from the pool, ignore any errors that
occur during the rollback; unfortunately, Oracle decides to commit
data even when dropping a connection from the pool instead of rolling
it back so the attempt still has to be made.

7) Added support for setting CLIENT_DRIVER in V$SESSION_CONNECT_INFO
in Oracle 11g and higher.

8) Use cx_Oracle.InterfaceError rather than the builtin RuntimeError
when unable to create the Oracle environment object as requested by
Luke Mewburn since the error is specific to Oracle and someone
attempting to catch any exception cannot simply use cx_Oracle.Error.

9) Translated some error codes to OperationalError as requested by
Matthew Harriger; translated if/elseif/else logic to switch statement
to make it more readable and to allow for additional translation if
desired.

10) Transformed documentation to new format using restructured text.
Thanks to Waldemar Osuch for contributing the initial draft of the new
documentation.

11) Allow the password to be overwritten by a new value as requested
by Alex VanderWoude; this value is retained as a convenience to the
user and not used by anything in the module; if changed externally it
may be convenient to keep this copy up to date.

12) Cygwin is on Windows so should be treated in the same way as noted
by Matthew Cahn.

13) Add support for using setuptools if so desired as requested by Shreya Bhatt.

14) Specify that the version of Oracle 10 that is now primarily used
is 10.2, not 10.1.

Anthony Tuininga


More information about the Python-announce-list mailing list