@@ -15,24 +15,25 @@ Thin Mode Changes
1515
1616#) Added support for asyncio
1717 (`issue 6 <https://github.com/oracle/python-oracledb/issues/6 >`__).
18- #) Added support for an Oracle Database 23c JSON feature allowing for field
19- names with more than 255 UTF-8 encoded bytes.
20- #) Added support for an Oracle Database 23c JSON feature improving JSON
21- storage usage.
2218#) Added parameter :attr: `ConnectParams.sdu ` for configuring the Session Data
2319 Unit (SDU) size for sizing internal buffers used for tuning communication
2420 with the database.
21+ #) Added parameter :data: `ConnectParams.ssl_context ` to modify the SSL context
22+ used when connecting via TLS
23+ (`issue 259 <https://github.com/oracle/python-oracledb/issues/259 >`__).
24+ #) Added support for an Oracle Database 23c JSON feature allowing field names
25+ with more than 255 UTF-8 encoded bytes.
26+ #) Added support for the ``FAILOVER `` clause in full connect descriptors.
2527#) Fixed bug in detecting the current time zone
2628 (`issue 257 <https://github.com/oracle/python-oracledb/issues/257 >`__).
27- #) Added connection establishment parameter :data: `ConnectParams.ssl_context `
28- (`issue 259 <https://github.com/oracle/python-oracledb/issues/259 >`__).
2929#) Fixed bug in handling database response in certain unusual circumstances.
3030#) Fixed bug in handling exceptions raised during connection establishment.
3131#) Fixed bug in identifying bind variables in SQL statements containing
3232 multiple line comments with multiple asterisks before the closing slash.
33- #) Added support for the ``FAILOVER `` clause in full connect descriptors.
3433#) A more meaningful error is raised when the wrong type of data is passed to
3534 :meth: `LOB.write() `.
35+ #) Internal change to support an Oracle Database 23c JSON feature improving
36+ JSON storage usage.
3637#) Internal change to ensure that all connections in a pool have been closed
3738 gracefully before the pool is closed.
3839#) Internal changes to improve handling of the network protocol between
@@ -48,7 +49,12 @@ Thick Mode Changes
4849Common Changes
4950++++++++++++++
5051
51- #) Dropped support for Python 3.6 and added support for Python 3.12.
52+ #) Dropped support for Python 3.6.
53+ #) The attribute ``oracledb.__future__.old_json_col_as_obj `` no longer needs to
54+ be set to fetch JSON data from VARCHAR2 and LOB columns (which have the "IS
55+ JSON" constraint) as objects, similar to fetching Oracle Database 21c JSON
56+ columns. An :ref: `output type handler <outputtypehandlers >` can be used if
57+ the previous default behavior of fetching as VARCHAR2 or LOB is desired.
5258#) Added property :attr: `Cursor.warning ` for database warnings (such as PL/SQL
5359 compilation warnings) generated by calls to :meth: `Cursor.execute() ` or
5460 :meth: `Cursor.executemany() `.
@@ -58,43 +64,42 @@ Common Changes
5864 :attr: `Connection.db_domain `, :attr: `Connection.db_name `,
5965 :attr: `Connection.max_open_cursors `, :attr: `Connection.service_name `
6066 and :attr: `Connection.transaction_in_progress `.
61- #) Added attributes :data: `FetchInfo.domain_schema `,
67+ #) Added property :data: `Connection.proxy_user ` to show the name of the user
68+ which was used as a proxy when connecting (`issue 250
69+ <https://github.com/oracle/python-oracledb/issues/250> `__).
70+ #) Added properties :data: `FetchInfo.domain_schema `,
6271 :data: `FetchInfo.domain_name ` and :data: `FetchInfo.annotations ` for the
6372 `SQL domain <https://docs.oracle.com/en/database/oracle/oracle-database/
6473 23/sqlrf/create-domain.html#GUID-17D3A9C6-D993-4E94-BF6B-CACA56581F41> `__
65- and `annotations <https://docs.oracle.com/en/database/oracle/oracle-database/
66- 23/sqlrf/annotations_clause.html#GUID-1AC16117-BBB6-4435-8794-2B99F8F68052> `__
74+ and `annotations <https://docs.oracle.com/en/database/oracle/
75+ oracle-database/23/sqlrf/annotations_clause.html#
76+ GUID-1AC16117-BBB6-4435-8794-2B99F8F68052> `__
6777 associated with columns that are being fetched. SQL domains and annotations
6878 require Oracle Database 23c. If using python-oracledb Thick mode, Oracle
6979 Client 23c is also required.
70- #) Added attribute :data: `Connection.proxy_user ` as requested
71- (`issue 250 <https://github.com/oracle/python-oracledb/issues/250 >`__).
7280#) Added type :data: `~oracledb.DB_TYPE_XMLTYPE ` to represent data of type
7381 ``SYS.XMLTYPE `` in the database. Previously the value of
7482 :data: `FetchInfo.type_code ` for data of this type was
7583 :data: `~oracledb.DB_TYPE_LONG ` in Thick mode and
7684 :data: `~oracledb.DB_TYPE_OBJECT ` in Thin mode.
77- #) Attribute and element values of :ref: `Oracle Object <dbobject >`
78- instances that are numbers are now returned as integers if the precision
79- and scale allow for it -- in the same way that numbers are fetched from the
85+ #) Attribute and element values of :ref: `Oracle Object <dbobject >` instances
86+ that are numbers are now returned as integers if the precision and scale
87+ allow for it. This is the same way that numbers are fetched from the
8088 database
8189 (`issue 99 <https://github.com/oracle/python-oracledb/issues/99 >`__).
90+ #) Errors that have entries in the
91+ :ref: `troubleshooting documentation <troubleshooting >` now have links to
92+ that documentation shown in the message text.
8293#) Fixed bug with binding boolean values with Oracle Database 23c
8394 (`issue 263 <https://github.com/oracle/python-oracledb/issues/263 >`__).
84- #) Fixed bug with getting unknown attributes from DbObject instances.
95+ #) Fixed bug with getting unknown attributes from :ref: `Oracle Object
96+ <dbobject>` instances.
8597#) Error ``DPY-4029: errors in array DML exceed 65535 `` is now raised when the
8698 number of batch errors exceeds 65535 when calling
8799 :meth: `Cursor.executemany() ` with the parameter ``batcherrors `` set to the
88100 value ``True ``. Note that in thick mode this error is not raised unless the
89101 number of batch errors is a multiple of 65536; instead, the number of batch
90102 errors returned is modulo 65536.
91- #) Errors that have entries in the
92- :ref: `troubleshooting documentation <troubleshooting >` now have links to
93- that documentation included in the message text.
94- #) The attribute ``oracledb.__future__.old_json_col_as_obj `` no longer needs
95- to be set in order to fetch JSON data found in VARCHAR2 and LOB columns in
96- the same way that JSON columns (which requires Oracle Database 21c or
97- higher) are fetched.
98103#) Black is now used to format Python code and ruff to lint Python code.
99104
100105
@@ -145,7 +150,7 @@ Common Changes
145150 statements with the noted invalid syntax. Previously, thick mode gave
146151 ``ORA-1756 `` or ``ORA-1740 ``, respectively, while thin mode did not throw
147152 an error.
148- #) Added missing ">" to repr() of SodaDatabase .
153+ #) Added missing ">" to `` repr() `` of :ref: ` sodadb ` .
149154
150155
151156oracledb 1.4.0 (August 2023)
0 commit comments