9. 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.
9.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 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 data use case domain associated with the fetched column. If there is no data use case domain, the value None is returned. Data use case 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 data use case domain associated with the fetched column. If there is no data use case domain, the value None is returned. Data use case 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 True when the type code is
oracledb.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 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.
- 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.
- FetchInfo.vector_is_sparse
This read-only attribute returns a boolean that indicates whether the vector is sparse or not.
If the column contains vectors that are SPARSE, the value returned is True. If the column contains vectors that are DENSE, the value returned is False. If the column is not a VECTOR column, the value returned is
None.Added in version 3.0.0.