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
Noneis returned. Annotations require Oracle Database 23ai. If using python-oracledb Thick mode, Oracle Client 23ai 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
Noneis returned. SQL domains require Oracle Database 23ai. If using python-oracledb Thick mode, Oracle Client 23ai 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
Noneis returned. SQL domains require Oracle Database 23ai. If using python-oracledb Thick mode, Oracle Client 23ai 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
Truewhen the type code isoracledb.DB_TYPE_JSONas 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
Truewhen 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.
- FetchInfo.vector_dimensions
This read-only attribute returns the number of dimensions required by VECTOR columns. If the column is not a VECTOR column or allows for any number of dimensions, the value returned is
None.Added in version 2.2.0.
- FetchInfo.vector_format
This read-only attribute returns the storage format used by VECTOR columns. The value of this attribute can be:
oracledb.VECTOR_FORMAT_BINARYwhich represents 8-bit unsigned integersoracledb.VECTOR_FORMAT_INT8which represents 8-bit signed integersoracledb.VECTOR_FORMAT_FLOAT32which represents 32-bit floating-point numbersoracledb.VECTOR_FORMAT_FLOAT64which represents 64-bit floating-point numbers
If the column is not a VECTOR column or allows for any type of storage, the value returned is
None.Added in version 2.2.0.