[DB-SIG] cx_Oracle 3.0
Anthony Tuininga
anthony@computronix.com
10 Mar 2003 16:31:48 -0700
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://computronix.com/utilities
What's new?
1) Removed support for connection to Oracle7 databases; it is entirely
possible that it will still work but I no longer have any way of
testing and Oracle has dropped any meaningful support for Oracle7
anyway
2) Fetching of strings is now done with predefined memory areas rather
than dynamic memory areas; dynamic fetching of strings was causing
problems with Oracle 9i in some instances and databases using a
different character set other than US ASCII
3) Fixed bug where segfault would occur if the '/' character preceded
the '@' character in a connect string
4) Added two new cursor methods var() and arrayvar() in order to
eliminate the need for setinputsizes() when defining PL/SQL arrays
and as a generic method of acquiring bind variables directly when
needed
5) Fixed support for binding cursors and added support for fetching
cursors (these are known as ref cursors in PL/SQL)
6) Eliminated discrepancy between the array size used internally and
the array size specified by the interface user; this was done
earlier to avoid bus errors on 64-bit platforms but another way has
been found to get around that issue and a number of people were
getting confused because of the discrepancy
7) Added support for the attribute "connection" on cursors, an optional
DB API extension
8) Added support for passing a dictionary as the second parameter for
the cursor.execute() method in order to comply with the DB API more
closely; the method of passing parameters with keyword arguments is
still supported and is in fact preferred
9) Added support for the attribute "statement" on cursors which is a
reference to the last SQL statement prepared or executed
10) Added support for passing any sequence to callproc() rather than
just lists as before
11) Fixed bug where segfault would occur if the array size was changed
after the cursor was executed but before it was fetched
12) Ignore array size when performing executemany() and use the length
of the list of arguments instead
13) Rollback when connection is closed or destroyed to follow DB API
rather than use the Oracle default (which is commit)
14) Added check for array size too large causing an integer overflow
15) Added support for iterators for Python 2.2 and above
16) Added test suite based on PyUnitTest
17) Added documentation in HTML format similar to the documentation for
the core Python library
--
Anthony Tuininga
anthony@computronix.com
Computronix
Distinctive Software. Real People.
Suite 200, 10216 - 124 Street NW
Edmonton, AB, Canada T5N 4A3
Phone: (780) 454-3700
Fax: (780) 454-3838
http://www.computronix.com