[DB-SIG] cx_Oracle 4.0
anthony at computronix.com
Wed Dec 17 12:09:24 EST 2003
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
Where do I get it?
(it may be a few days before the second site is updated)
1) Added support for subclassing connections, cursors and session
pools. The changes involved made it necessary to drop support for
Python 2.1 and earlier although a branch exists in CVS to allow for
support of Python 2.1 and earlier if needed.
2) Connections and session pools can now be created with keyword
parameters, not just sequential parameters.
3) Queries now return integers whenever possible and long integers if
the number will overflow a simple integer. Floats are only returned
when it is known that the number is a floating point nubmer or the
integer conversion fails.
4) Added initial support for user callbacks on OCI functions. See the
documentation for more details.
5) Add support for retrieving the bind variable names associated with a
cursor with a new method bindnames().
6) Add support for temporary LOB variables. This means that
setinputsizes() can be used with the values CLOB and BLOB to create
these temporary LOB variables and allow for the equivalent of
empty_clob() and empty_blob() since otherwise Oracle will treat
empty strings as NULL values.
7) Automatically switch to long strings when the data size exceeds the
maximum string size that Oracle allows (4000 characters) and raise
an error if an attempt is made to set a string variable to a size
that it does not support. This avoids truncation errors as reported
by Jon Franz.
8) Add support for global (distributed) transactions and two phase
9) Force the NLS settings for the session so that test tables are
populated correctly in all circumstances; problems were noted by
Ralf Braun and Allan Poulsen.
10) Display error messages using the environment handle when the error
handle has not yet been created; this provides better error messages
during this rather rare situation.
11) Removed memory leak in callproc() that was reported by Todd
12) Make consistent the calls to manipulate memory; otherwise segfaults
can occur when the pymalloc option is used, as reported by Matt
13) Force a rollback when a session is released back to the session
pool. Apparently the connections are not as stateless as Oracle's
documentation suggests and this makes the logic consistent with
14) Removed module method attach(). This can be replaced with a call to
Connection(handle=) if needed.
anthony at computronix.com
Distinctive Software. Real People.
Suite 200, 10216 - 124 Street NW
Edmonton, AB, Canada T5N 4A3
Phone: (780) 454-3700
Fax: (780) 454-3838
More information about the DB-SIG