@@ -1769,10 +1769,6 @@ pool running out of connections.
1769
1769
When a connection is released, any ongoing transaction on the
1770
1770
connection is rolled back.
1771
1771
1772
- If ResultSets are not released or LOBs are still open when
1773
- ` connection.close() ` is called, then an error * DPI-1054: connection
1774
- cannot be closed when open statements or LOBs exist* will occur.
1775
-
1776
1772
After releasing a connection to a pool, there is no
1777
1773
guarantee a subsequent ` getConnection() ` call gets back the same
1778
1774
database connection. The application must redo any ALTER SESSION
@@ -1845,10 +1841,7 @@ be passed into PL/SQL blocks, or inserted into the database.
1845
1841
1846
1842
When no longer required, Lobs created with ` createLob() ` should be
1847
1843
closed with [ ` lob.close() ` ] ( #lobclose ) because Oracle Database
1848
- resources are held open if temporary LOBs are not closed. If LOBs are
1849
- still open when ` connection.close() ` is called, then an error
1850
- * DPI-1054: connection cannot be closed when open statements or LOBs
1851
- exist* will occur.
1844
+ resources are held open if temporary LOBs are not closed.
1852
1845
1853
1846
Open temporary LOB usage can be monitored using the view
1854
1847
[ ` V$TEMPORARY_LOBS ` ] [ 13 ] .
@@ -2386,10 +2379,6 @@ LOB, such as those created by `createLob()`.
2386
2379
2387
2380
Once a Lob is closed, it cannot be bound.
2388
2381
2389
- If LOBs are still open when ` connection.close() ` is called, then an
2390
- error * DPI-1054: connection cannot be closed when open statements or
2391
- LOBs exist* will occur.
2392
-
2393
2382
See [ Closing Lobs] ( #closinglobs ) for more discussion.
2394
2383
2395
2384
##### Parameters
@@ -2684,10 +2673,6 @@ Closes a ResultSet. Applications should always call this at the end
2684
2673
of fetch or when no more rows are needed. It should also be called if
2685
2674
no rows are ever going to be fetched from the ResultSet.
2686
2675
2687
- If you try to close a connection without closing a ResultSet then an
2688
- error * DPI-1054: connection cannot be closed when open statements or
2689
- LOBs exist* will occur.
2690
-
2691
2676
#### <a name =" getrow " ></a > 7.2.2 ` resultset.getRow() `
2692
2677
2693
2678
##### Prototype
@@ -3698,10 +3683,7 @@ rows can be fetched.
3698
3683
When all rows have been fetched, or the application does not want to
3699
3684
continue getting more rows, then the ResultSet should be freed using
3700
3685
[` close ()` ](#close). The ResultSet should also be explicitly closed
3701
- in the cases where no rows will be fetched from it. If you try to
3702
- close a connection without closing a ResultSet then an error
3703
- *DPI-1054: connection cannot be closed when open statements or LOBs
3704
- exist* will occur.
3686
+ in the cases where no rows will be fetched from it.
3705
3687
3706
3688
REF CURSORS returned from a PL/SQL block via an ` oracledb .CURSOR ` OUT
3707
3689
binds are also available as a ResultSet. See
@@ -5281,16 +5263,6 @@ error *NJS-023: concurrent operations on a Lob are not allowed*.
5281
5263
The connection must be open when calling ` lob .close ()` on a temporary
5282
5264
LOB.
5283
5265
5284
- If you try to close a connection without closing an open Lob, then an
5285
- error *DPI-1054: connection cannot be closed when open statements or
5286
- LOBs exist* will occur. The error helps prevent 'Temporary LOB leaks'
5287
- that would cause the temporary tablespace to fill up. You should
5288
- review the application logic and explicitly close any open Lobs.
5289
- These temporary Lobs will have been created with ` lob .createLob ()` or
5290
- returned from the database, perhaps as the result of a SQL operation
5291
- like ` substr ()` on a Lob column. Persistent LOBs can be closed
5292
- without the connection being open.
5293
-
5294
5266
The ` lob .close ()` method emits the [Node.js Stream][16] 'close' event
5295
5267
unless the Lob has already been closed explicitly or automatically.
5296
5268
@@ -6749,7 +6721,7 @@ When upgrading from node-oracledb version 1.13 to version 2.0:
6749
6721
are closed prior to calling
6750
6722
[` connection .close ()` ](#connectionclose). Otherwise you will get the
6751
6723
error *DPI-1054: connection cannot be closed when open statements or
6752
- LOBs exist*.
6724
+ LOBs exist*. (*Note*: this limitation was removed in node-oracledb 2.1)
6753
6725
6754
6726
- Test applications to check if changes such as the improved property
6755
6727
validation uncover latent problems in your code.
0 commit comments