9. API: FetchInfo Objects
9.1. FetchInfo Class
- class oracledb.FetchInfo
Identifies metadata of columns that are being fetched.
A FetchInfo object is created internally when a query is executed. They are found in the sequence
This object is an extension to the DB API definition.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 attributesname,type_code,display_size,internal_size,precision,scale, andnull_okin that order. For example, iffetch_infois of type FetchInfo, thenfetch_info[2]is the same asfetch_info.display_size.Added in version 1.4.0.
9.2. FetchInfo Attributes
- property FetchInfo.annotations: dict | None
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 version 23, or later. If using python-oracledb Thick mode, Oracle Client version 23 or later is also required.
Added in version 2.0.0.
- property FetchInfo.display_size: int | None
This read-only attribute returns the display size of the column.
- property FetchInfo.domain_name: str | None
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 version 23, or later. If using python-oracledb Thick mode, Oracle Client version 23 or later is also required.
Added in version 2.0.0.
- property FetchInfo.domain_schema: str | None
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 version 23, or later. If using python-oracledb Thick mode, Oracle Client version 23 or later is also required.
Added in version 2.0.0.
- property FetchInfo.internal_size: int | None
This read-only attribute returns the internal size of the column as mandated by the Python Database API.
- property FetchInfo.is_json: bool
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.
- property FetchInfo.is_oson: bool
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.
- property FetchInfo.name: str
This read-only attribute returns the name of the column as mandated by the Python Database API.
- property FetchInfo.null_ok: bool
This read-only attribute returns whether nulls are allowed in the column as mandated by the Python Database API.
- property FetchInfo.precision: int | None
This read-only attribute returns the precision of the column as mandated by the Python Database API.
- property FetchInfo.scale: int | None
This read-only attribute returns the scale of the column as mandated by the Python Database API.
- property FetchInfo.type: DbType | DbObjectType
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.
- property FetchInfo.type_code: DbType
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.
- property FetchInfo.vector_dimensions: int | None
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.
- property FetchInfo.vector_format: VectorFormat | None
This read-only attribute returns the storage type 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.
- property FetchInfo.vector_is_sparse: bool | None
This read-only attribute returns a boolean indicating if 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.