Update documentation for the latest features and minor updates in the connection properties for edge cases

This commit is contained in:
Sharad Chandran R 2023-10-30 20:43:49 +05:30
parent 4c9594317d
commit bd8da281c8
4 changed files with 72 additions and 15 deletions

View File

@ -104,6 +104,29 @@ The properties of a *Connection* object are listed below.
`ALTER SESSION SET CURRENT_SCHEMA <https://www.oracle.com/pls/topic/lookup?
ctx=dblatest&id=GUID-DC7B8CDD-4F89-40CC-875F-F70F673711D4>`__.
.. attribute:: connection.dbDomain
.. versionadded:: 6.3
This read-only property is a string that specifies the Oracle Database
domain name associated with the connection. This property returns the
same value as the SQL expression::
SELECT UPPER(VALUE) FROM V$PARAMETER WHERE NAME = 'db_domain';
The above SQL expression returns NULL if the domain name is not specified.
The ``dbDomain`` property returns an empty string in this case.
.. attribute:: connection.dbName
.. versionadded:: 6.3
This read-only property is a string that specifies the name of the Oracle
Database associated with the connection. This property returns the same
value as the SQL expression::
SELECT UPPER(NAME) FROM V$DATABASE;
.. attribute:: connection.dbOp
.. versionadded:: 4.1
@ -140,6 +163,23 @@ The properties of a *Connection* object are listed below.
associated with the connection. It returns the same value as the SQL expression
``sys_context('userenv', 'instance_name')``.
.. attribute:: connection.maxOpenCursors
.. versionadded:: 6.3
This read-only property is a number that indicates the maximum number of
SQL statements that can be concurrently opened in one connection. This
value can be specified in the `server parameter file
<https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-4590634E-
85B1-4BA8-8293-FE9960D4E2C2>`__ using the
`open_cursors <https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=
GUID-FAFD1247-06E5-4E64-917F-AEBD4703CF40>`__ parameter. This property
returns the same value as the SQL expression::
SELECT VALUE FROM V$PARAMETER WHERE NAME = 'open_cursors';
This property requires Oracle Database 12.1 or later.
.. attribute:: connection.module
This write-only property is a string and it is the `module
@ -177,6 +217,16 @@ The properties of a *Connection* object are listed below.
or later, client libraries. Otherwise it will show the base release such
as “18.0.0.0.0” instead of “18.3.0.0.0”.
.. attribute:: connection.serviceName
.. versionadded:: 6.3
This read-only property is a string that identifies the Oracle Database
service name associated with the connection. This property returns the
same value as the SQL expression::
SELECT UPPER(SYS_CONTEXT('USERENV', 'SERVICE_NAME')) FROM DUAL;
.. attribute:: connection.stmtCacheSize
This read-only property is a number that identifies the number of
@ -282,6 +332,16 @@ The properties of a *Connection* object are listed below.
This property can only be used in the node-oracledb Thick mode. See
:ref:`enablingthick`.
.. attribute:: connection.transactionInProgress
.. versionadded:: 6.3
This read-only property is a boolean that indicates whether a transaction
is currently in progress in the connection. If the value is *True*, then it
indicates that the specified connection has an active transaction. If the
value is *False*, then the specified connection does not have an active
transaction.
.. _connectionmethods:
Connection Methods

View File

@ -13,19 +13,6 @@ node-oracledb `v6.3.0 <https://github.com/oracle/node-oracledb/compare/v6.2.0...
Common Changes
++++++++++++++
#) Added following attributes to query column metadata:
- ``annotations`` <https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/annotations_clause.html#GUID-1AC16117-BBB6-4435-8794-2B99F8F68052>__
- ``domainName`` <https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/create-domain.html#GUID-17D3A9C6-D993-4E94-BF6B-CACA56581F41>__
- ``domainSchema`` <https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/create-domain.html#GUID-17D3A9C6-D993-4E94-BF6B-CACA56581F41>__
- ``isJson`` Indicates if the column is known to contain JSON data.
Thin Mode Changes
++++++++++++++++++
#) Improved overall pool connection creation time by caching information
during the first connection establishment.
#) Added new connection properties :attr:`connection.dbDomain`,
:attr:`connection.dbName`, :attr:`connection.maxOpenCursors`,
:attr:`connection.serviceName` and :attr:`connection.transactionInProgress`
@ -33,6 +20,16 @@ Thin Mode Changes
number of cursors that can be opened per connection, database service name
and status of any ongoing transactions on the connection respectively.
#) Added new extended :ref:`metadata <execmetadata>` information such as
``annotations``, ``domainName``, ``domainSchema`` and ``isJson`` for a
fetched column.
Thin Mode Changes
++++++++++++++++++
#) Improved overall pool connection creation time by caching information
during the first connection establishment.
node-oracledb `v6.2.0 <https://github.com/oracle/node-oracledb/compare/v6.1.0...v6.2.0>`__ (11 Oct 2023)
--------------------------------------------------------------------------------------------------------

View File

@ -321,7 +321,7 @@ class AuthMessage extends Message {
let portReleaseNum;
let portUpdateNum;
this.conn.dbDomain = this.sessionData['AUTH_SC_DB_DOMAIN'] || undefined;
this.conn.dbDomain = this.sessionData['AUTH_SC_DB_DOMAIN'];
this.conn.dbName = this.sessionData['AUTH_SC_DBUNIQUE_NAME'];
this.conn.maxOpenCursors = Number(this.sessionData['AUTH_MAX_OPEN_CURSORS']);
this.conn.serviceName = this.sessionData['AUTH_SC_SERVICE_NAME'];

View File

@ -190,7 +190,7 @@ describe('193. connProps.js', function() {
if (result.rows[0][0]) {
assert.deepStrictEqual(result.rows[0][0], conn.dbDomain.toUpperCase());
} else {
assert.deepStrictEqual(conn.dbDomain, undefined);
assert.deepStrictEqual(conn.dbDomain, '');
}
await conn.close();
}); // 193.7