@@ -317,28 +317,34 @@ going to be used. In one special case, you may wish to explicitly enable Thin
317317mode to prevent Thick mode from being enabled later.
318318
319319To allow application portability, the driver's internal logic allows
320- applications to initally attempt
321- :ref: `standalone connection <standaloneconnection >` creation in Thin mode, but
322- then lets them :ref: `enable Thick mode <enablingthick >` if that connection is
323- unsuccessful. An example is when trying to connect to an Oracle Database that
324- turns out to be an old version that requires Thick mode. This heuristic means
325- Thin mode is not enforced until the initial connection is successful. Since
326- all connections must be the same mode, any second and subsequent concurrent
327- Thin mode connection attempts will wait for the initial standalone connection
328- to succeed, meaning the driver mode is no longer potentially changeable to
329- Thick mode.
330-
331- This heuristic delay does not impact:
332-
333- - Single-threaded applications using standalone connections.
320+ applications to initally attempt :ref: `standalone connection
321+ <standaloneconnection>` creation in Thin mode, but then lets them :ref: `enable
322+ Thick mode <enablingthick>` if that connection is unsuccessful. An example is
323+ when trying to connect to an Oracle Database that turns out to be an old
324+ version that requires Thick mode. This heuristic means Thin mode is not
325+ enforced until the initial connection is successful. Since all connections
326+ must be the same mode, any second and subsequent concurrent Thin mode
327+ connection attempt will wait for the initial standalone connection to succeed,
328+ meaning the driver mode is no longer potentially changeable to Thick mode.
329+
330+ If you have multiple threads concurrently creating standalone Thin mode
331+ connections, you may wish to call :meth: `oracledb.enable_thin_mode() ` as part
332+ of your application initialization. This is not required but avoids the mode
333+ determination delay.
334+
335+ The mode determination delay does not affect the following cases, so calling
336+ :meth: `~oracledb.enable_thin_mode() ` is not needed for them:
337+
338+ - Single-threaded applications using :ref: `standalone connections
339+ <standaloneconnection>`.
334340- Single or multi-threaded applications using
335341 :ref: `connection pools <connpooling >` (even with ``min `` of 0).
336- - Applications that have already called :func: `oracledb.init_oracle_client() `.
337342
338- In the case that you want to open multiple standalone Thin mode connections in
339- multiple threads, you may wish to force Thin mode by calling
340- :meth: `oracledb.enable_thin_mode() ` as part of your application initialization.
341- This avoids the mode heuristic delay. For example:
343+ The delay also does not affect applications that have already called
344+ :func: `oracledb.init_oracle_client() ` to enable Thick mode.
345+
346+ To explicitly enable Thin mode, call :meth: `~oracledb.enable_thin_mode() `, for
347+ example:
342348
343349.. code-block :: python
344350
0 commit comments