Skip to content

Commit eae8a2b

Browse files
Preparing to release cx_Oracle 7.1.
1 parent 491e61a commit eae8a2b

File tree

1 file changed

+86
-2
lines changed

1 file changed

+86
-2
lines changed

doc/src/releasenotes.rst

Lines changed: 86 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,89 @@ cx_Oracle Release Notes
88

99
.. _releasenotes70:
1010

11+
Version 7.1 (February 2019)
12+
---------------------------
13+
14+
#) Updated to `ODPI-C 3.1
15+
<https://oracle.github.io/odpi/doc/releasenotes.html#
16+
version-3-1-january-21-2019>`__.
17+
#) Improved support for session tagging in session pools by allowing a
18+
session callback to be specified when creating a pool via
19+
:meth:`cx_Oracle.SessionPool()`. Callbacks can be written in Python or in
20+
PL/SQL and can be used to improve performance by decreasing round trips to
21+
the database needed to set session state. Callbacks written in Python will
22+
be invoked for brand new connections (that have never been acquired from
23+
the pool before) or when the tag assigned to the connection doesn't match
24+
the one that was requested. Callbacks written in PL/SQL will only be
25+
invoked when the tag assigned to the connection doesn't match the one that
26+
was requested.
27+
#) Added attribute :attr:`Connection.tag` to provide access to the actual tag
28+
assigned to the connection. Setting this attribute will cause the
29+
connection to be retagged when it is released back to the pool.
30+
#) Added support for fetching SYS.XMLTYPE values as strings, as requested
31+
(`issue 14 <https://github.com/oracle/python-cx_Oracle/issues/14>`__).
32+
Note that this support is limited to the size of VARCHAR2 columns in the
33+
database (either 4000 or 32767 bytes).
34+
#) Added support for allowing the typename parameter in method
35+
:meth:`Cursor.var()` to be None or a valid object type created by the
36+
method :meth:`Connection.gettype()`, as requested
37+
(`issue 231 <https://github.com/oracle/python-cx_Oracle/issues/231>`__).
38+
#) Added support for getting and setting attributes of type RAW on Oracle
39+
objects, as requested
40+
(`ODPI-C issue 72 <https://github.com/oracle/odpi/issues/72>`__).
41+
#) Added support for performing external authentication with proxy for
42+
standalone connections.
43+
#) Added support for mixing integers, floating point and decimal values in
44+
data passed to :meth:`Cursor.executemany()`
45+
(`issue 241 <https://github.com/oracle/python-cx_Oracle/issues/241>`__).
46+
The error message raised when a value cannot be converted to an Oracle
47+
number was also improved.
48+
#) Adjusted fetching of numeric values so that no precision is lost. If an
49+
Oracle number cannot be represented by a Python floating point number a
50+
decimal value is automatically returned instead.
51+
#) Corrected handling of multiple calls to method
52+
:meth:`Cursor.executemany()` where all of the values in one of the columns
53+
passed to the first call are all None and a subsequent call has a value
54+
other than None in the same column
55+
(`issue 236 <https://github.com/oracle/python-cx_Oracle/issues/236>`__).
56+
#) Added additional check for calling :meth:`Cursor.setinputsizes()` with an
57+
empty dictionary in order to avoid the error "cx_Oracle.ProgrammingError:
58+
positional and named binds cannot be intermixed"
59+
(`issue 199 <https://github.com/oracle/python-cx_Oracle/issues/199>`__).
60+
#) Corrected handling of values that exceed the maximum value of a plain
61+
integer object on Python 2 on Windows
62+
(`issue 257 <https://github.com/oracle/python-cx_Oracle/issues/257>`__).
63+
#) Added error message when attempting external authentication with proxy
64+
without placing the user name in [] (proxy authentication was previously
65+
silently ignored).
66+
#) Exempted additional error messages from forcing a statement to be dropped
67+
from the cache
68+
(`ODPI-C issue 76 <https://github.com/oracle/odpi/issues/76>`__).
69+
#) Improved dead session detection when using session pools for Oracle Client
70+
12.2 and higher.
71+
#) Ensured that the connection returned from a pool after a failed ping (such
72+
as due to a killed session) is not itself marked as needing to be dropped
73+
from the pool.
74+
#) Eliminated memory leak under certain circumstances when pooled connections
75+
are released back to the pool.
76+
#) Eliminated memory leak when connections are dropped from the pool.
77+
#) Eliminated memory leak when calling :meth:`Connection.close()` after
78+
fetching collections from the database.
79+
#) Adjusted order in which memory is freed when the last references to SODA
80+
collections, documents, document cursors and collection cursors are
81+
released, in order to prevent a segfault under certain circumstances.
82+
#) Improved code preventing a statement from binding itself, in order to avoid
83+
a potential segfault under certain circumstances.
84+
#) Worked around OCI bug when attempting to free objects that are PL/SQL
85+
records, in order to avoid a potential segfault.
86+
#) Improved test suite and samples. Note that default passwords are no longer
87+
supplied. New environment variables can be set to specify passwords if
88+
desired, or the tests and samples will prompt for the passwords when
89+
needed. In addition, a Python script is now available to create and drop
90+
the schemas used for the tests and samples.
91+
#) Improved documentation.
92+
93+
1194
Version 7.0 (September 2018)
1295
----------------------------
1396

@@ -37,8 +120,9 @@ Version 7.0 (September 2018)
37120
#) SQL objects that are created or fetched from the database are now tracked
38121
and marked unusable when a connection is closed. This was done in order
39122
to avoid a segfault under certain circumstances.
40-
#) Re-enabled pool pinging functionality for Oracle Client 12.2 and higher
41-
to handle classes of connection errors such as resource profile limits.
123+
#) Re-enabled dead session detection functionality when using pools for Oracle
124+
Client 12.2 and higher in order to handle classes of connection errors such
125+
as resource profile limits.
42126
#) Improved error messages when the Oracle Client or Oracle Database need to
43127
be at a minimum version in order to support a particular feature.
44128
#) When a connection is used as a context manager, the connection is now

0 commit comments

Comments
 (0)