Skip to content

Commit 2b77729

Browse files
Small doc changes.
1 parent ef3ac12 commit 2b77729

26 files changed

+251
-185
lines changed

doc/src/api_manual/soda.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,9 @@ SodaOperation Methods
323323

324324
.. seealso::
325325

326-
Oracle Database SQL Tuning Guide documentation `MONITOR and NO_MONITOR
327-
Hints <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-
328-
19E0F73C-A959-41E4-A168-91E436DEE1F1>`__ and `Monitoring Database
326+
Oracle AI Database SQL Tuning Guide documentation `MONITOR and
327+
NO_MONITOR Hints <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&
328+
id=GUID-19E0F73C-A959-41E4-A168-91E436DEE1F1>`__ and `Monitoring Database
329329
Operations <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=
330330
GUID-C941CE9D-97E1-42F8-91ED-4949B2B710BF>`__
331331

doc/src/user_guide/appendix_a.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ For more details see :ref:`driverdiff` and :ref:`upgrading83`.
258258
- Yes
259259
- Yes
260260
* - Oracle Transactional Event Queues and Advanced Queuing (AQ) (see :ref:`aqusermanual`)
261-
- Yes - only "Classic" queues are supported (RAW, named Oracle object, and JSON payloads)
261+
- Yes
262262
- Yes
263263
- Yes
264264
* - Call timeouts (see :attr:`Connection.call_timeout`)
@@ -367,13 +367,13 @@ For more details see :ref:`driverdiff` and :ref:`upgrading83`.
367367
Supported Oracle Database Data Types
368368
====================================
369369

370-
The following table lists the Oracle Database types that are supported in the
371-
python-oracledb driver. See `Oracle Database Types <https://www.oracle.com/
372-
pls/topic/lookup?ctx=dblatest&id=GUID-A3C0D836-BADB-44E5-A5D4-265BA5968483>`__
373-
and `PL/SQL Types <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID
374-
-391C58FD-16AF-486C-AF28-173E309CDBA5>`__. The python-oracledb constant shown
375-
is the common one. In some python-oracledb APIs you may use other types, for
376-
example when binding numeric values.
370+
The following table lists the Oracle Database types that are supported in
371+
the python-oracledb driver. See `Oracle Database Types <https://www.oracle.
372+
com/pls/topic/lookup?ctx=dblatest&id=GUID-A3C0D836-BADB-44E5-A5D4-
373+
265BA5968483>`__ and `PL/SQL Types <https://www.oracle.com/pls/topic/lookup?
374+
ctx=dblatest&id=GUID-391C58FD-16AF-486C-AF28-173E309CDBA5>`__. The
375+
python-oracledb constant shown is the common one. In some python-oracledb
376+
APIs you may use other types, for example when binding numeric values.
377377

378378
.. list-table-with-summary:: Oracle Database Data Types Supported
379379
:header-rows: 1

doc/src/user_guide/appendix_c.rst

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ to python-oracledb:
2525
See :ref:`installation` for details.
2626

2727
- By default, python-oracledb runs in a 'Thin' mode which connects directly to
28-
Oracle Database. This mode does not need Oracle Client libraries. However,
29-
some :ref:`additional functionality <featuresummary>` is available when
30-
python-oracledb uses them. Python-oracledb is said to be in 'Thick' mode
31-
when Oracle Client libraries are used. See :ref:`enablingthick`. Both modes
32-
have comprehensive functionality supporting the Python Database API v2.0
33-
Specification. The Thick mode is equivalent to cx_Oracle.
28+
Oracle Database. This mode does not need Oracle Client libraries.
29+
However, some :ref:`additional functionality <featuresummary>` is available
30+
when python-oracledb uses them. Python-oracledb is said to be in 'Thick'
31+
mode when Oracle Client libraries are used. See :ref:`enablingthick`. Both
32+
modes have comprehensive functionality supporting the Python Database API
33+
v2.0 Specification. The Thick mode is equivalent to cx_Oracle.
3434

3535
cx_Oracle always runs in a Thick mode using Oracle Client libraries. The
36-
features in python-oracledb Thick mode and cx_Oracle 8.3 are the same, subject
37-
to the :ref:`new features <releasenotes>`, some :ref:`deprecations
36+
features in python-oracledb Thick mode and cx_Oracle 8.3 are the same,
37+
subject to the :ref:`new features <releasenotes>`, some :ref:`deprecations
3838
<deprecations>`, and to other changes noted in the documentation.
3939

4040
- python-oracledb Thin and Thick modes have the same level of support for the
@@ -400,12 +400,12 @@ need to be made in addition to the common :ref:`commonupgrade`:
400400
``network/admin/`` subdirectory may not be automatically loaded in Thin mode
401401
on some platforms. A ``tnsnames.ora`` file identified by the Windows
402402
registry, or in ``$ORACLE_BASE/homes/XYZ/network/admin/`` (in a read-only
403-
Oracle Database home) will never be automatically located by python-oracledb
404-
Thin mode.
403+
Oracle Database home) will never be automatically located by
404+
python-oracledb Thin mode.
405405

406-
Only python-oracledb Thick mode will read :ref:`sqlnet.ora <optnetfiles>` and
407-
:ref:`oraaccess.xml <optclientfiles>` files. The Thin mode lets equivalent
408-
properties be set in the application when connecting.
406+
Only python-oracledb Thick mode will read :ref:`sqlnet.ora <optnetfiles>`
407+
and :ref:`oraaccess.xml <optclientfiles>` files. The Thin mode lets
408+
equivalent properties be set in the application when connecting.
409409

410410
6. To use python-oracledb Thin mode in an ``ORACLE_HOME`` database installation
411411
environment, you must use an explicit connection string since the

doc/src/user_guide/appendix_d.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Pooled Connections in SQLAlchemy
110110

111111
Most multi-user applications should use a :ref:`connection pool <connpooling>`.
112112
The python-oracledb pool is preferred because of its high availability
113-
support. Some single-user applications may also benfit from these availability
113+
support. Some single-user applications may also benefit from these availability
114114
features.
115115

116116
To use a python-oracledb connection pool in SQLAlchemy:

doc/src/user_guide/aq.rst

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ Queuing. They were previously called AQ Sharded Queues.
1919

2020
.. note::
2121

22-
Transactional Event Queues are only supported in python-oracledb
23-
:ref:`Thick mode <enablingthick>`.
22+
Transactional Event Queues with JMS payloads are only supported in
23+
python-oracledb :ref:`Thick mode <enablingthick>`.
2424

2525
Python-oracledb API calls are the same for Transactional Event Queues and
2626
Classic Queues, however there are differences in support for some payload
@@ -37,17 +37,15 @@ types which are detailed below.
3737
- Transactional Event Queues
3838
* - RAW
3939
- Supported
40-
- Supported for single and array message enqueuing and dequeuing when using Oracle Client 19c (or later) and connected to Oracle Database 19c (or later).
40+
- Supported for single and array message enqueuing and dequeuing when using Oracle Database 19c (or later). In python-oracledb Thick mode, Oracle Client libraries 19c (or later) are needed.
4141
* - Named Oracle Objects
4242
- Supported
43-
- Supported for single and array message enqueuing and dequeuing when using Oracle Client 19c (or later) and connected to Oracle Database 19c (or later).
43+
- Supported for single and array message enqueuing and dequeuing when using Oracle Database 19c (or later). In python-oracledb Thick mode, Oracle Client libraries 19c (or later) are needed.
4444
* - JSON
4545
- Supported when using Oracle Database 21c (or later). In python-oracle Thick mode, Oracle Client libraries 21c (or later) are also needed.
4646

4747
Buffered messaging using the :data:`~oracledb.MSG_BUFFERED` delivery mode is not supported for JSON payloads.
48-
- Supported for single message enqueuing and dequeuing when using Oracle Client libraries 21c (or later) and Oracle Database 21c (or later).
49-
50-
Array enqueuing and dequeuing is not supported for JSON payloads.
48+
- Supported for single and array message enqueuing and dequeuing when using Oracle Database 21c (or later). In python-oracledb Thick mode, Oracle Client libraries 21c (or later) are needed.
5149

5250
Buffered messaging using the :data:`~oracledb.MSG_BUFFERED` delivery mode is not supported for JSON payloads.
5351
* - JMS
@@ -56,9 +54,13 @@ types which are detailed below.
5654

5755
**Usage Notes**
5856

59-
For classic queues, the use of :data:`oracledb.ENQ_IMMEDIATE` with bulk
60-
enqueuing, and JMS payloads are only supported in python-oracledb
61-
:ref:`Thick mode <enablingthick>`.
57+
For Classic Queues and Transactional Event Queues, the use of
58+
:data:`oracledb.ENQ_IMMEDIATE` with bulk enqueuing, and JMS payloads are only
59+
supported in python-oracledb :ref:`Thick mode <enablingthick>`.
60+
61+
The ``payload_type`` parameter in :meth:`Connection.queue()` must be
62+
specified when the payload is JSON or Named Oracle Objects. This parameter need
63+
not be specified for RAW payloads.
6264

6365
Transactional Event Queues do not support :attr:`EnqOptions.transformation`,
6466
:attr:`DeqOptions.transformation`, or :ref:`Recipient Lists <reciplists>`.

doc/src/user_guide/asyncio.rst

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
Concurrent Programming with asyncio and Pipelining
77
**************************************************
88

9-
:ref:`concurrentprogramming` and :ref:`Oracle Database Pipelining <pipelining>`
10-
significantly enhances the overall performance and responsiveness of
11-
applications.
9+
:ref:`concurrentprogramming` and :ref:`Oracle Database Pipelining
10+
<pipelining>` significantly enhances the overall performance and responsiveness
11+
of applications.
1212

1313
.. _concurrentprogramming:
1414

@@ -169,10 +169,10 @@ Executing SQL Using Asynchronous Methods
169169
This section covers executing SQL using the asynchronous programming model.
170170
For discussion of synchronous programming, see :ref:`sqlexecution`.
171171

172-
Your application communicates with Oracle Database by executing SQL
173-
statements. Statements such as queries (statements beginning with SELECT or
174-
WITH), Data Manipulation Language (DML), and Data Definition Language (DDL) are
175-
executed using the asynchronous methods :meth:`AsyncCursor.execute()` or
172+
Your application communicates with Oracle Database by executing SQL statements.
173+
Statements such as queries (statements beginning with SELECT or WITH), Data
174+
Manipulation Language (DML), and Data Definition Language (DDL) are executed
175+
using the asynchronous methods :meth:`AsyncCursor.execute()` or
176176
:meth:`AsyncCursor.executemany()`. Rows can be iterated over, or fetched using
177177
one of the methods :meth:`AsyncCursor.fetchone()`,
178178
:meth:`AsyncCursor.fetchone()`, :meth:`AsyncCursor.fetchmany()`, or
@@ -363,9 +363,9 @@ Pipelined operations are executed sequentially by the database. They do not
363363
execute concurrently. It is local tasks that can be executed at the same time
364364
the database is working.
365365

366-
Effective use of Oracle Database Pipelining can increase the responsiveness of
367-
an application and improve overall system throughput. Pipelining is useful when
368-
many small operations are being performed in rapid succession. It is most
366+
Effective use of Oracle Database Pipelining can increase the responsiveness
367+
of an application and improve overall system throughput. Pipelining is useful
368+
when many small operations are being performed in rapid succession. It is most
369369
beneficial when the network to the database is slow. This is because of its
370370
reduction in :ref:`round-trips <roundtrips>` compared with those required if
371371
the equivalent SQL statements were individually executed with calls like
@@ -381,8 +381,8 @@ about Oracle Database Pipelining.
381381

382382
.. note::
383383

384-
True pipelining only occurs when you are connected to Oracle Database
385-
version 23, or later.
384+
True pipelining only occurs when you are connected to Oracle AI Database
385+
26ai, or later.
386386

387387
When you connect to an older database, operations are sequentially
388388
executed by python-oracledb. Each operation concludes before the next is
@@ -439,7 +439,6 @@ operation. The objects contain information about the execution of the relevant
439439
operation, such as any error number, PL/SQL function return value, or any query
440440
rows and column metadata.
441441

442-
443442
The :attr:`Connection.call_timeout` value has no effect on pipeline operations.
444443
To limit the time for a pipeline, use an `asyncio timeout
445444
<https://docs.python.org/3/library/asyncio-task.html#timeouts>`__, available

doc/src/user_guide/authentication_methods.rst

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ Database Authentication
2121

2222
Database Authentication is the most basic authentication method that allows
2323
users to connect to Oracle Database by using a valid database username and
24-
their associated password. Oracle Database verifies the username and password
25-
specified in the python-oracledb connection method with the information stored
26-
in the database. See `Database Authentication of Users <https://www.oracle.com
27-
/pls/topic/lookup?ctx=dblatest&id=GUID-1F783131-CD1C-4EA0-9300-C132651B0700>`__
28-
for more information.
24+
their associated password. Oracle Database verifies the username and
25+
password specified in the python-oracledb connection method with the
26+
information stored in the database. See `Database Authentication of Users
27+
<https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-1F783131-CD1C-
28+
4EA0-9300-C132651B0700>`__ for more information.
2929

3030
:ref:`Standalone connections <standaloneconnection>` and
3131
:ref:`pooled connections <connpooling>` can be created in python-oracledb Thin
@@ -149,8 +149,8 @@ Using an Oracle Wallet for External Authentication
149149

150150
The following steps give an overview of using an Oracle Wallet. Wallets should
151151
be kept securely. Wallets can be managed with `Oracle Wallet Manager
152-
<https://docs.oracle.com/en/database/oracle/oracle-database/21/dbimi/using-
153-
oracle-wallet-manager.html#GUID-E3E16C82-E174-4814-98D5-EADF1BCB3C37>`__.
152+
<https://www.oracle.com/pls/topic/lookup?ctx=db21&id=GUID-E3E16C82-E174-4814-
153+
98D5-EADF1BCB3C37>`__.
154154

155155
In this example the wallet is created for the ``myuser`` schema in the
156156
directory ``/home/oracle/wallet_dir``. The ``mkstore`` command is available
@@ -334,8 +334,8 @@ steps give an overview of how to implement OS Authentication on Linux.
334334
------------------------------------ ----------- ------------------------------
335335
os_authent_prefix string ops$
336336

337-
3. Create an Oracle database user using the ``os_authent_prefix`` determined in
338-
step 2, and the operating system user name:
337+
3. Create an Oracle Database user using the ``os_authent_prefix`` determined
338+
in step 2, and the operating system user name:
339339

340340
.. code-block:: sql
341341
@@ -354,7 +354,7 @@ If your database is not on the same computer as Python, you can perform testing
354354
by setting the database configuration parameter ``remote_os_authent=true``.
355355
Beware of security concerns because this is insecure.
356356

357-
See `Oracle Database Security Guide
357+
See `Oracle AI Database Security Guide
358358
<https://www.oracle.com/pls/topic/lookup?ctx=dblatest&
359359
id=GUID-37BECE32-58D5-43BF-A098-97936D66968F>`__ for more information about
360360
Operating System Authentication.
@@ -877,10 +877,10 @@ OAuth 2.0 Token-Based Authentication
877877
Oracle Cloud Infrastructure (OCI) users can be centrally managed in a Microsoft
878878
Entra ID (formerly Microsoft Azure Active Directory) service. Open
879879
Authorization (OAuth 2.0) token-based authentication allows users to
880-
authenticate to Oracle Database using Entra ID OAuth2 tokens. Ensure that you
881-
have a Microsoft Azure account and your Oracle Database is registered with
882-
Microsoft Entra ID. See `Configuring the Oracle Database for Microsoft Entra
883-
ID Integration <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=
880+
authenticate to Oracle Database using Entra ID OAuth2 tokens. Ensure that
881+
you have a Microsoft Azure account and your Oracle Database is registered
882+
with Microsoft Entra ID. See `Configuring the Oracle Database for Microsoft
883+
Entra ID Integration <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=
884884
GUID-0A60F22D-56A3-408D-8EC8-852C38C159C0>`_ for more information. Both Thin
885885
and Thick modes of the python-oracledb driver support OAuth 2.0 token-based
886886
authentication.
@@ -1429,9 +1429,9 @@ information, see `Accessing the Database Using an Instance Principal
14291429
4BCE-91D0-239D287C638B>`__.
14301430

14311431
Also, make sure that external authentication is enabled on Oracle ADB and
1432-
Oracle Database parameter ``IDENTITY_PROVIDER_TYPE`` is set to *OCI_IAM*. For
1433-
the steps, see `Enable IAM Authentication on ADB <https://docs.oracle.com/en/
1434-
cloud/paas/autonomous-database/serverless/adbsb/enable-iam-authentication
1432+
Oracle Database parameter ``IDENTITY_PROVIDER_TYPE`` is set to *OCI_IAM*.
1433+
For the steps, see `Enable IAM Authentication on ADB <https://docs.oracle.com/
1434+
en/cloud/paas/autonomous-database/serverless/adbsb/enable-iam-authentication
14351435
.html>`__.
14361436

14371437
**Step 6: Deploy your application on the Compute Instance**

doc/src/user_guide/batch_statement.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,4 +778,5 @@ python-oracledb requirement or API needed to take advantage of the feature.
778778

779779
To use the Memoptimized Rowstore see Oracle Database documentation `Enabling
780780
High Performance Data Streaming with the Memoptimized Rowstore
781-
<https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-9752E93D-55A7-4584-B09B-9623B33B5CCF>`__.
781+
<https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-9752E93D-55A7-
782+
4584-B09B-9623B33B5CCF>`__.

doc/src/user_guide/bind.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
Using Bind Variables
77
********************
88

9-
SQL and PL/SQL statements that pass data to and from Oracle Database should use
10-
placeholders in SQL and PL/SQL statements that mark where data is supplied or
11-
returned. A bind variable placeholder is a colon-prefixed identifier or
9+
SQL and PL/SQL statements that pass data to and from Oracle Database should
10+
use placeholders in SQL and PL/SQL statements that mark where data is supplied
11+
or returned. A bind variable placeholder is a colon-prefixed identifier or
1212
numeral. For example, ``:dept_id`` and ``:dept_name`` are the two bind variable
1313
placeholders in this SQL statement:
1414

@@ -796,9 +796,9 @@ unexpected values or the Python application segfaulting.
796796
Binding Spatial Data Types
797797
==========================
798798

799-
Oracle Spatial data types objects can be represented by Python objects and their
800-
attribute values can be read and updated. The objects can further be bound and
801-
committed to database. This is similar to the examples above.
799+
Oracle Spatial data types objects can be represented by Python objects and
800+
their attribute values can be read and updated. The objects can further be
801+
bound and committed to database. This is similar to the examples above.
802802

803803
An example of fetching SDO_GEOMETRY is in :ref:`Oracle Database Objects and
804804
Collections <fetchobjects>`.
@@ -847,8 +847,8 @@ will accept them but there will be no processing benefit.
847847
It is not uncommon for SQL statements to have low hundreds of
848848
versions. Sometimes this is expected and not a result of any issue. To
849849
determine the reason, find the SQL identifier of the statement and then query
850-
the Oracle Database view `V$SQL_SHARED_CURSOR <https://www.oracle.com/pls/topic
851-
/lookup?ctx=dblatest&id=GUID-4993A6DE-5658-4745-B43E-F5AD9DB8DCCC>`__.
850+
the Oracle Database view `V$SQL_SHARED_CURSOR <https://www.oracle.com/pls/
851+
topic/lookup?ctx=dblatest&id=GUID-4993A6DE-5658-4745-B43E-F5AD9DB8DCCC>`__.
852852

853853
The SQL identifier of a statement can be found in Oracle Database views like
854854
`V$SQLAREA <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-
@@ -1013,8 +1013,8 @@ This will produce the same output as the original example.
10131013

10141014
Reusing the same SQL statement like this for a variable number of values,
10151015
instead of constructing a unique statement per set of values, allows best reuse
1016-
of Oracle Database resources. Additionally, if a statement with a large number
1017-
of bind variable placeholders is executed many times with varying string
1016+
of Oracle Database resources. Additionally, if a statement with a large
1017+
number of bind variable placeholders is executed many times with varying string
10181018
lengths for each execution, then consider using :func:`Cursor.setinputsizes()`
10191019
to reduce Oracle Database's SQL ":ref:`version count <sqlversioncount>`" for
10201020
the statement. For example, if the columns are VARCHAR2(25), then add this
@@ -1079,8 +1079,8 @@ The best way to do the '<something that returns a list of values>' depends on
10791079
how the data is initially represented and the number of items. For example you
10801080
might look at using a global temporary table.
10811081

1082-
One method for large IN lists is to use an Oracle Database collection with the
1083-
``TABLE()`` clause. For example, if the following type was created::
1082+
One method for large IN lists is to use an Oracle Database collection with
1083+
the ``TABLE()`` clause. For example, if the following type was created::
10841084

10851085
SQL> CREATE OR REPLACE TYPE name_array AS TABLE OF VARCHAR2(25);
10861086
2 /

0 commit comments

Comments
 (0)