8. API: FetchInfo Objects

FetchInfo objects are created internally when a query is executed. They are found in the sequence Cursor.description. There is one FetchInfo object for each column. For compatibility with the Python Database API, this object behaves as a 7-tuple containing the values for the attributes name, type_code, display_size, internal_size, precision, scale, and null_ok in that order. For example, if fetch_info is of type FetchInfo, then fetch_info[2] is the same as fetch_info.display_size.

Added in version 1.4.0.

Note

This object is an extension the DB API.

8.1. FetchInfo Attributes

FetchInfo.annotations

This read-only attribute returns a dictionary containing the annotations associated with the fetched column. If there are no annotations, the value None is returned. Annotations require Oracle Database 23c. If using python-oracledb Thick mode, Oracle Client 23c is also required.

Added in version 2.0.0.

FetchInfo.display_size

This read-only attribute returns the display size of the column as mandated by the Python Database API.

FetchInfo.domain_name

This read-only attribute returns the name of the SQL domain associated with the fetched column. If there is no SQL domain, the value None is returned. SQL domains require Oracle Database 23c. If using python-oracledb Thick mode, Oracle Client 23c is also required.

Added in version 2.0.0.

FetchInfo.domain_schema

This read-only attribute returns the schema of the SQL domain associated with the fetched column. If there is no SQL domain, the value None is returned. SQL domains require Oracle Database 23c. If using python-oracledb Thick mode, Oracle Client 23c is also required.

Added in version 2.0.0.

FetchInfo.internal_size

This read-only attribute returns the internal size of the column as mandated by the Python Database API.

FetchInfo.is_json

This read-only attribute returns whether the column is known to contain JSON data. This will be True when the type code is oracledb.DB_TYPE_JSON as well as when an “IS JSON” constraint is enabled on LOB and VARCHAR2 columns.

FetchInfo.is_oson

This read-only attribute returns whether the column is known to contain binary encoded OSON data. This will be True when an “IS JSON FORMAT OSON” check constraint is enabled on BLOB columns.

Added in version 2.1.0.

FetchInfo.name

This read-only attribute returns the name of the column as mandated by the Python Database API.

FetchInfo.null_ok

This read-only attribute returns whether nulls are allowed in the column as mandated by the Python Database API.

FetchInfo.precision

This read-only attribute returns the precision of the column as mandated by the Python Database API.

FetchInfo.scale

This read-only attribute returns the scale of the column as mandated by the Python Database API.

FetchInfo.type

This read-only attribute returns the type of the column. This will be an Oracle Object Type if the column contains Oracle objects; otherwise, it will be one of the database type constants defined at the module level.

FetchInfo.type_code

This read-only attribute returns the type of the column as mandated by the Python Database API. The type will be one of the database type constants defined at the module level.