@@ -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+
1194Version 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