Skip to content

Commit e9dd940

Browse files
Added "What's New" page containing a summary of the changes from 5.3 to 6.0 as
a convenience.
1 parent 7b7bad3 commit e9dd940

File tree

3 files changed

+174
-0
lines changed

3 files changed

+174
-0
lines changed

doc/src/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Contents:
2424
lob.rst
2525
objecttype.rst
2626
aq.rst
27+
whatsnew.rst
2728
releasenotes.rst
2829
license.rst
2930

doc/src/releasenotes.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1+
.. _releasenotes:
2+
13
cx_Oracle Release Notes
24
=======================
35

46
6.x releases
57
############
68

9+
.. _releasenotes60:
10+
711
Version 6.0 (August 2017)
812
-------------------------
913

doc/src/whatsnew.rst

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
.. _whatsnew:
2+
3+
**********
4+
What's New
5+
**********
6+
7+
cx_Oracle 6.0
8+
=============
9+
10+
This document contains a summary of the changes in cx_Oracle 6 compared to
11+
cx_Oracle 5.3. cx_Oracle 6.0 was released on August 14, 2017. See the
12+
:ref:`release notes <releasenotes60>` for complete details.
13+
14+
Highlights
15+
----------
16+
17+
- Has been re-implemented to use the new
18+
`ODPI-C <https://oracle.github.io/odpi>`__ abstraction layer for Oracle
19+
Database. The cx_Oracle API is unchanged. The cx_Oracle design, build and
20+
linking process has improved because of ODPI-C.
21+
22+
- Now has Python Wheels available for install. This is made possible by the
23+
ODPI-C architecture. Windows installers and Linux RPMs are no longer
24+
produced since PyPI no longer supports them.
25+
26+
- Has less code in Python's Global Interpreter Lock, giving better
27+
scalability.
28+
29+
- Added support for universal rowids.
30+
31+
- Added support for DML returning of multiple rows.
32+
33+
- Now associates LOB locators to LOB objects so they are not overwritten on
34+
database round trips.
35+
36+
37+
Installation Changes
38+
--------------------
39+
40+
- On Linux, cx_Oracle 6 no longer uses instant client RPMs automatically.
41+
You must set LD_LIBRARY_PATH or use ldconfig to locate the Oracle Client
42+
library.
43+
44+
- On platforms other than Windows, if ORACLE_HOME is set (in a database or
45+
full client installation), remove requirement to set LD_LIBRARY_PATH in
46+
order to locate the Oracle Client library
47+
(`issue 20 <https://github.com/oracle/odpi/issues/20>`__).
48+
49+
50+
Connection Management Enhancements
51+
----------------------------------
52+
53+
- Prevent closing the connection when there are any open statements or LOBs
54+
and add new error "DPI-1054: connection cannot be closed when open
55+
statements or LOBs exist" when this situation is detected; this is needed
56+
to prevent crashes under certain conditions when statements or LOBs are
57+
being acted upon while at the same time (in another thread) a connection
58+
is being closed; it also prevents leaks of statements and LOBs when a
59+
connection is returned to a session pool.
60+
61+
- Added attribute :attr:`SessionPool.stmtcachesize` to support getting and
62+
setting the default statement cache size for connections in the pool.
63+
64+
- Added attribute :attr:`Connection.dbop` to support setting the database
65+
operation that is to be monitored.
66+
67+
- Added attribute :attr:`Connection.handle` to facilitate testing the
68+
creation of a connection using a OCI service context handle.
69+
70+
- Added parameters tag and matchanytag to the :meth:`cx_Oracle.connect` and
71+
:meth:`SessionPool.acquire` methods and added parameters tag and retag to
72+
the :meth:`SessionPool.release` method in order to support session
73+
tagging.
74+
75+
- Added parameter edition to the :meth:`cx_Oracle.SessionPool` method.
76+
77+
- Added parameters region, sharding_key and super_sharding_key to the
78+
:meth:`cx_Oracle.makedsn()` method to support connecting to a sharded
79+
database (new in Oracle Database 12.2).
80+
81+
- Removed requirement that encoding and nencoding both be specified when
82+
creating a connection or session pool. The missing value is set to its
83+
default value if one of the values is set and the other is not
84+
(`issue 36 <https://github.com/oracle/python-cx_Oracle/issues/36>`__).
85+
86+
- Permit use of both string and unicode for Python 2.7 for creating session
87+
pools and for changing passwords
88+
(`issue 23 <https://github.com/oracle/python-cx_Oracle/issues/23>`__).
89+
90+
91+
Data Type and Data Handling Enhancements
92+
----------------------------------------
93+
94+
- Added attributes :attr:`Variable.actualElements` and
95+
:attr:`Variable.values` to variables.
96+
97+
- Added support for smallint and float data types in Oracle objects, as
98+
requested
99+
(`issue 4 <https://github.com/oracle/python-cx_Oracle/issues/4>`__).
100+
101+
- Added support for getting/setting attributes of objects or element values
102+
in collections that contain LOBs, BINARY_FLOAT values, BINARY_DOUBLE
103+
values and NCHAR and NVARCHAR2 values. The error message for any types
104+
that are not supported has been improved as well.
105+
106+
- An exception is no longer raised when a collection is empty for methods
107+
:meth:`Object.first()` and :meth:`Object.last()`. Instead, the value None
108+
is returned to be consistent with the methods :meth:`Object.next()` and
109+
:meth:`Object.prev()`.
110+
111+
- Removed requirement for specifying a maximum size when fetching LONG or
112+
LONG raw columns. This also allows CLOB, NCLOB, BLOB and BFILE columns to
113+
be fetched as strings or bytes without needing to specify a maximum size.
114+
The method :meth:`Cursor.setoutputsize` no longer does anything, since
115+
ODPI-C automatically manages buffer sizes of LONG and LONG RAW columns.
116+
117+
- Enable temporary LOB caching in order to avoid disk I/O as suggested
118+
(`issue 10 <https://github.com/oracle/odpi/issues/10>`__).
119+
120+
121+
Error Handling Enhancements
122+
---------------------------
123+
124+
- Provide improved error message when OCI environment cannot be created,
125+
such as when the oraaccess.xml file cannot be processed properly.
126+
127+
- Define exception classes on the connection object in addition to at
128+
module scope in order to simplify error handling in multi-connection
129+
environments, as specified in the Python DB API.
130+
131+
132+
Test Enhancements
133+
-----------------
134+
135+
- Reworked test suite and samples so that they are independent of each
136+
other and so that the SQL scripts used to create/drop schemas are easily
137+
adjusted to use different schema names, if desired.
138+
139+
- Updated DB API test suite stub to support Python 3.
140+
141+
142+
Removals
143+
--------
144+
145+
- Dropped deprecated parameter twophase from the :meth:`cx_Oracle.connect`
146+
method. Applications should set the :attr:`Connection.internal_name` and
147+
:attr:`Connection.external_name` attributes instead to a value
148+
appropriate to the application.
149+
150+
- Dropped deprecated parameters action, module and clientinfo from the
151+
:meth:`cx_Oracle.connect` method. The appcontext parameter should be used
152+
instead as shown in this `sample <https://github.com/oracle/
153+
python-cx_Oracle/blob/master/samples/AppContext.py>`__.
154+
155+
- Dropped deprecated attribute numbersAsString from
156+
:ref:`cursor objects <cursorobj>`. Use an output type handler instead as
157+
shown in this `sample <https://github.com/oracle/python-cx_Oracle/blob/
158+
master/samples/ReturnNumbersAsDecimals.py>`__.
159+
160+
- Dropped deprecated attributes cqqos and rowids from
161+
:ref:`subscription objects <subscrobj>`. Use the qos attribute instead as
162+
shown in this `sample <https://github.com/oracle/python-cx_Oracle/blob/
163+
master/samples/QueryChangeNotification.py>`__.
164+
165+
- Dropped deprecated parameters cqqos and rowids from the
166+
:meth:`Connection.subscribe()` method. Use the qos parameter instead as
167+
shown in this `sample <https://github.com/oracle/python-cx_Oracle/blob/
168+
master/samples/QueryChangeNotification.py>`__.
169+

0 commit comments

Comments
 (0)