@@ -8,6 +8,89 @@ cx_Oracle Release Notes
8
8
9
9
.. _releasenotes70 :
10
10
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
+
11
94
Version 7.0 (September 2018)
12
95
----------------------------
13
96
@@ -37,8 +120,9 @@ Version 7.0 (September 2018)
37
120
#) SQL objects that are created or fetched from the database are now tracked
38
121
and marked unusable when a connection is closed. This was done in order
39
122
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.
42
126
#) Improved error messages when the Oracle Client or Oracle Database need to
43
127
be at a minimum version in order to support a particular feature.
44
128
#) When a connection is used as a context manager, the connection is now
0 commit comments