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
.
New 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.New 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.New 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.New 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 isoracledb.DB_TYPE_JSON
as well as when an “IS JSON” constraint is enabled on LOB and VARCHAR2 columns.
- 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.