@@ -64,7 +64,7 @@ Common Changes
64
64
#) Improvements to data frame fetching with :meth: `Connection.fetch_df_all() `
65
65
and :meth: `Connection.fetch_df_batches() `:
66
66
67
- - Added support for CLOB, BLOB and RAW data types
67
+ - Added support for CLOB, BLOB, and RAW data types
68
68
- Fixed support for BOOLEAN data type
69
69
- Fixed bug when NUMBER data is fetched that does not have a precision or
70
70
scale specified and :attr: `defaults.fetch_decimals ` is set to *True *.
@@ -84,13 +84,13 @@ Common Changes
84
84
a DML RETURNING statement.
85
85
#) An error message that links to :ref: `documentation <ldapconnections >` on
86
86
setting up a protocol hook function is now returned by default for LDAP and
87
- LDAPS URL connection strings in python-oracledb thin mode, or when
87
+ LDAPS URL connection strings in python-oracledb Thin mode, or when
88
88
:attr: `defaults.thick_mode_dsn_passthrough ` is *False *.
89
89
#) Error ``DPY-2062: payload cannot be enqueued since it does not match the
90
90
payload type supported by the queue `` is now raised when the payload of a
91
91
message being enqueued is not supported by the queue. Previously,
92
92
python-oracledb Thick mode raised the error ``DPI-1071: payload type in
93
- message properties must match the payload type of the queue `` and thin mode
93
+ message properties must match the payload type of the queue `` and Thin mode
94
94
raised an internal error.
95
95
#) Improved the test suite and documentation.
96
96
@@ -243,7 +243,7 @@ Common Changes
243
243
(`issue 458 <https://github.com/oracle/python-oracledb/issues/458 >`__).
244
244
#) Error ``DPY-2053: python-oracledb thin mode cannot be used because thick
245
245
mode has already been enabled `` is now raised when attempting to use
246
- asyncio in thick mode
246
+ asyncio in Thick mode
247
247
(`issue 448 <https://github.com/oracle/python-oracledb/issues/448 >`__).
248
248
#) Error ``DPY-2056: registered handler for protocol "{protocol}" failed for
249
249
arg "{arg}" `` is now raised when an exception occurs when calling the
@@ -458,8 +458,8 @@ Common Changes
458
458
different connection. Previously, the attempt may have succeeded or may
459
459
have failed with a number of different unexpected exceptions.
460
460
#) Error ``DPY-1006: cursor is not open `` is now raised consistently when
461
- attempting to bind a closed cursor. Previously, thin mode would result in a
462
- segfault and thick mode would result in unusual errors.
461
+ attempting to bind a closed cursor. Previously, Thin mode would result in a
462
+ segfault and Thick mode would result in unusual errors.
463
463
464
464
465
465
oracledb 2.3.0 (July 2024)
@@ -546,7 +546,7 @@ Common Changes
546
546
:data: `oracledb.POOL_GETMODE_TIMEDWAIT ` and the timeout expires.
547
547
Previously ``asyncio.TimeoutError `` was being raised when using
548
548
:ref: `asyncio <asyncio >` and ``ORA-24457: OCISessionGet() could not find a
549
- free session in the specified timeout period `` was being raised in thick
549
+ free session in the specified timeout period `` was being raised in Thick
550
550
mode.
551
551
#) If both the ``sid `` and ``service_name `` parameters are specified to
552
552
:meth: `oracledb.makedsn() `, now only the ``service_name `` parameter is
@@ -912,7 +912,7 @@ Common Changes
912
912
#) Error ``DPY-4029: errors in array DML exceed 65535 `` is now raised when the
913
913
number of batch errors exceeds 65535 when calling
914
914
:meth: `Cursor.executemany() ` with the parameter ``batcherrors `` set to the
915
- value `` True `` . Note that in thick mode this error is not raised unless the
915
+ value * True * . Note that in Thick mode this error is not raised unless the
916
916
number of batch errors is a multiple of 65536; instead, the number of batch
917
917
errors returned is modulo 65536
918
918
(`issue 262 <https://github.com/oracle/python-oracledb/issues/262 >`__).
@@ -963,8 +963,8 @@ Common Changes
963
963
(`issue 217 <https://github.com/oracle/python-oracledb/issues/217 >`__).
964
964
#) SQL statement parsing now raises ``DPY-2041: missing ending quote (') in
965
965
string `` or ``DPY-2042: missing ending quote (") in identifier `` for
966
- statements with the noted invalid syntax. Previously, thick mode gave
967
- ``ORA-1756 `` or ``ORA-1740 ``, respectively, while thin mode did not throw
966
+ statements with the noted invalid syntax. Previously, Thick mode gave
967
+ ``ORA-1756 `` or ``ORA-1740 ``, respectively, while Thin mode did not throw
968
968
an error.
969
969
#) Added missing ">" to ``repr() `` of :ref: `sodadb `.
970
970
@@ -1059,7 +1059,7 @@ Common Changes
1059
1059
#) Added support for fetching VARCHAR2 and LOB columns which contain JSON (and
1060
1060
have the "IS JSON" check constraint enabled) in the same way as columns of
1061
1061
type JSON (which requires Oracle Database 21c or higher) are fetched. In
1062
- thick mode this requires Oracle Client 19c or higher. The attribute
1062
+ Thick mode this requires Oracle Client 19c or higher. The attribute
1063
1063
``oracledb.__future__.old_json_col_as_obj `` must be set to the value
1064
1064
``True `` for this behavior to occur. In version 2.0 this will become the
1065
1065
normal behavior and setting this attribute will no longer be needed.
@@ -1162,7 +1162,7 @@ Thin Mode Changes
1162
1162
#) Added support for connecting to databases that accept passwords longer than
1163
1163
30 UTF-8 encoded bytes.
1164
1164
#) Detect the time zone on the OS and set the session timezone using this
1165
- value to be consistent with thick mode
1165
+ value to be consistent with Thick mode
1166
1166
(`issue 144 <https://github.com/oracle/python-oracledb/issues/144 >`__).
1167
1167
#) Improved BOOLEAN handling.
1168
1168
#) Error ``DPY-6005: cannot connect to database `` is now raised for all
@@ -1204,7 +1204,7 @@ Thin Mode Changes
1204
1204
of times any session callback must be invoked, and allow connections to
1205
1205
be timed out.
1206
1206
- Removed packet for negotiating network services which are not supported
1207
- in thin mode.
1207
+ in Thin mode.
1208
1208
- Removed unneeded packet for changing the password of the connected user.
1209
1209
1210
1210
@@ -1229,22 +1229,22 @@ Common Changes
1229
1229
#) Added method :meth: `ConnectParams.parse_dsn_with_credentials() ` for parsing
1230
1230
a DSN that contains credentials.
1231
1231
#) Error ``DPY-2038: element at index {index} does not exist `` is now raised
1232
- whenever an element in a database collection is missing. Previously, thick
1233
- mode raised ``DPI-1024: element at index {index} does not exist `` and thin
1232
+ whenever an element in a database collection is missing. Previously, Thick
1233
+ mode raised ``DPI-1024: element at index {index} does not exist `` and Thin
1234
1234
mode raised ``KeyError `` or ``IndexError ``.
1235
1235
#) Error ``DPY-2039: given index {index} must be in the range of {min_index}
1236
1236
to {max_index} `` is now raised whenever an element in a database collection
1237
- is set outside the bounds of the collection. Previously, thick mode raised
1237
+ is set outside the bounds of the collection. Previously, Thick mode raised
1238
1238
``OCI-22165: given index [{index}] must be in the range of [{min_index}] to
1239
- [{max_index}] `` and thin mode raised ``IndexError ``.
1239
+ [{max_index}] `` and Thin mode raised ``IndexError ``.
1240
1240
#) Error ``DPY-2040: parameters "batcherrors" and "arraydmlrowcounts" may only
1241
1241
be true when used with insert, update, delete and merge statements `` is now
1242
- raised when either of the parameters `batcherrors ` and ` arraydmlrowcounts `
1243
- is set to the value `True ` when calling :meth: ` Cursor.executemany() `.
1244
- Previously, thick mode raised ``DPI-1063: modes DPI_MODE_EXEC_BATCH_ERRORS
1245
- and DPI_MODE_EXEC_ARRAY_DML_ROWCOUNTS can only be used with insert, update,
1246
- delete and merge statements `` and thin mode raised
1247
- ``ORA-03137: malformed TTC packet from client rejected ``
1242
+ raised when either of the parameters `` batcherrors `` and
1243
+ `` arraydmlrowcounts `` is set to the value `True ` when calling
1244
+ :meth: ` Cursor.executemany() `. Previously, Thick mode raised ``DPI-1063:
1245
+ modes DPI_MODE_EXEC_BATCH_ERRORS and DPI_MODE_EXEC_ARRAY_DML_ROWCOUNTS can
1246
+ only be used with insert, update, delete and merge statements `` and Thin
1247
+ mode raised ``ORA-03137: malformed TTC packet from client rejected ``
1248
1248
(`issue 128 <https://github.com/oracle/python-oracledb/issues/128 >`__).
1249
1249
#) Internal changes to ensure that errors taking place while raising
1250
1250
exceptions are handled more gracefully.
@@ -1406,7 +1406,7 @@ Thin Mode Changes
1406
1406
1407
1407
#) Added support for getting the LOB chunk size
1408
1408
(`issue 14 <https://github.com/oracle/python-oracledb/issues/14 >`__).
1409
- #) The error `DPY-2030: LOB offset must be greater than zero ` is now raised
1409
+ #) The error `` DPY-2030: LOB offset must be greater than zero ` ` is now raised
1410
1410
when the offset parameter to :func: `LOB.read() ` is zero or negative
1411
1411
(`issue 13 <https://github.com/oracle/python-oracledb/issues/13 >`__).
1412
1412
#) Internally, before a connection is returned from a pool, check for control
@@ -1421,8 +1421,8 @@ Thin Mode Changes
1421
1421
when connecting to a database that the listener configuration file states
1422
1422
exists but actually doesn't
1423
1423
(`issue 51 <https://github.com/oracle/python-oracledb/issues/51 >`__).
1424
- #) The error `DPY-3016: python-oracledb thin mode cannot be used because the
1425
- cryptography package is not installed ` is now raised when the cryptography
1424
+ #) The error `` DPY-3016: python-oracledb thin mode cannot be used because the
1425
+ cryptography package is not installed `` is now raised when the cryptography
1426
1426
package is not installed, instead of an ImportError. This allows platforms
1427
1427
that are not capable of building the cryptography package to still use
1428
1428
Thick mode.
@@ -1458,8 +1458,8 @@ oracledb 1.0.3 (August 2022)
1458
1458
Thin Mode Changes
1459
1459
+++++++++++++++++
1460
1460
1461
- #) The error `DPY-3015: password verifier type is not supported by
1462
- python-oracledb in thin mode ` is now raised when
1461
+ #) The error `` DPY-3015: password verifier type is not supported by
1462
+ python-oracledb in thin mode `` is now raised when
1463
1463
the database sends a password challenge with a verifier type that is not
1464
1464
recognized, instead of `ORA-01017: invalid username/password `
1465
1465
(`issue 26 <https://github.com/oracle/python-oracledb/issues/26 >`__).
@@ -1525,7 +1525,7 @@ Thin Mode Changes
1525
1525
#) Fixed connection retry count handling to work in cases where the database
1526
1526
listener is running but the service is down
1527
1527
(`issue 3 <https://github.com/oracle/python-oracledb/issues/3 >`__).
1528
- #) Return the same value for TIMESTAMP WITH TIME ZONE columns as thick mode
1528
+ #) Return the same value for TIMESTAMP WITH TIME ZONE columns as Thick mode
1529
1529
(`issue 7 <https://github.com/oracle/python-oracledb/issues/7 >`__).
1530
1530
#) Fixed order in which bind data is sent to the server when LONG and
1531
1531
non-LONG column data is interspersed
@@ -1692,10 +1692,10 @@ cx_Oracle 8.2 (May 2021)
1692
1692
Initial work was done in `PR 549
1693
1693
<https://github.com/oracle/python-cx_Oracle/pull/549> `__.
1694
1694
#) Enhanced dead connection detection. If an Oracle Database error indicates
1695
- that a connection is no longer usable, the error `DPI-1080: connection was
1696
- closed by ORA-%d ` is now returned. The `%d ` will be the Oracle error
1695
+ that a connection is no longer usable, the error `` DPI-1080: connection was
1696
+ closed by ORA-%d `` is now returned. The `%d ` will be the Oracle error
1697
1697
causing the connection to be closed. Using the connection after this will
1698
- give `DPI-1010: not connected `. This behavior also applies for
1698
+ give `` DPI-1010: not connected ` `. This behavior also applies for
1699
1699
:data: `Connection.call_timeout ` errors that result in an unusable
1700
1700
connection.
1701
1701
#) Eliminated a memory leak when calling :meth: `SodaOperation.filter() ` with a
@@ -2177,8 +2177,8 @@ cx_Oracle 6.4.1 (July 2018)
2177
2177
Oracle number format
2178
2178
(`ODPI-C issue 67 <https://github.com/oracle/odpi/issues/67 >`__).
2179
2179
2180
- #) Prevent error " cx_Oracle.ProgrammingError: positional and named binds
2181
- cannot be intermixed" when calling cursor.setinputsizes() without any
2180
+ #) Prevent error `` cx_Oracle.ProgrammingError: positional and named binds
2181
+ cannot be intermixed `` when calling cursor.setinputsizes() without any
2182
2182
parameters and then calling cursor.execute() with named bind parameters
2183
2183
(`issue 199 <https://github.com/oracle/python-cx_Oracle/issues/199 >`__).
2184
2184
@@ -2221,7 +2221,7 @@ cx_Oracle 6.4 (July 2018)
2221
2221
(`issue 193 <https://github.com/oracle/python-cx_Oracle/issues/193 >`__).
2222
2222
- If the statement should be deleted from the statement cache, first check
2223
2223
to see that there is a statement cache currently being used; otherwise,
2224
- the error " ORA-24300: bad value for mode" will be raised under certain
2224
+ the error `` ORA-24300: bad value for mode `` will be raised under certain
2225
2225
conditions.
2226
2226
2227
2227
#) Added support for using the cursor as a context manager
@@ -2278,8 +2278,8 @@ cx_Oracle 6.3 (April 2018)
2278
2278
- Fixed binding of LONG data (values exceeding 32KB) when using the
2279
2279
function :meth: `Cursor.executemany() `.
2280
2280
- Added code to verify that a CQN subscription is open before permitting it
2281
- to be used. Error " DPI-1060: subscription was already closed" will now be
2282
- raised if an attempt is made to use a subscription that was closed
2281
+ to be used. Error `` DPI-1060: subscription was already closed `` will now
2282
+ be raised if an attempt is made to use a subscription that was closed
2283
2283
earlier.
2284
2284
- Stopped attempting to unregister a CQN subscription before it was
2285
2285
completely registered. This prevents errors encountered during
@@ -2345,8 +2345,8 @@ cx_Oracle 6.2 (March 2018)
2345
2345
<https://oracle.github.io/odpi/doc/releasenotes.html#
2346
2346
version-2-2-1-march-5-2018> `__.
2347
2347
2348
- - eliminate error " DPI-1054: connection cannot be closed when open
2349
- statements or LOBs exist" (`issue 138
2348
+ - eliminate error `` DPI-1054: connection cannot be closed when open
2349
+ statements or LOBs exist `` (`issue 138
2350
2350
<https://github.com/oracle/python-cx_Oracle/issues/138> `__).
2351
2351
- avoid a round trip to the database when a connection is released back to
2352
2352
the pool by preventing a rollback from being called when no transaction
@@ -2463,7 +2463,7 @@ cx_Oracle 6.0.3 (November 2017)
2463
2463
- Prevent use of uninitialized data in certain cases (`issue 77
2464
2464
<https://github.com/oracle/python-cx_Oracle/issues/77> `__).
2465
2465
- Attempting to ping a database earlier than 10g results in error
2466
- " ORA-1010: invalid OCI operation" , but that implies a response from the
2466
+ `` ORA-1010: invalid OCI operation `` , but that implies a response from the
2467
2467
database and therefore a successful ping, so treat it that way!
2468
2468
- Correct handling of conversion of some numbers to NATIVE_FLOAT.
2469
2469
- Prevent use of NaN with Oracle numbers since it produces corrupt data
@@ -2536,11 +2536,11 @@ cx_Oracle 6.0 (August 2017)
2536
2536
#version-2-0-august-14-2017> `__.
2537
2537
2538
2538
- Prevent closing the connection when there are any open statements or
2539
- LOBs and add new error " DPI-1054: connection cannot be closed when open
2540
- statements or LOBs exist" when this situation is detected; this is
2541
- needed to prevent crashes under certain conditions when statements or
2542
- LOBs are being acted upon while at the same time (in another thread) a
2543
- connection is being closed; it also prevents leaks of statements and
2539
+ LOBs and add new error `` DPI-1054: connection cannot be closed when
2540
+ open statements or LOBs exist `` when this situation is detected; this
2541
+ is needed to prevent crashes under certain conditions when statements
2542
+ or LOBs are being acted upon while at the same time (in another thread)
2543
+ a connection is being closed; it also prevents leaks of statements and
2544
2544
LOBs when a connection is returned to a session pool.
2545
2545
- On platforms other than Windows, if the regular method for loading the
2546
2546
Oracle Client libraries fails, try using $ORACLE_HOME/lib/libclntsh.so
0 commit comments