#[repr(C)]pub struct dpiDataTypeInfo {Show 21 fields
pub oracleTypeNum: dpiOracleTypeNum,
pub defaultNativeTypeNum: dpiNativeTypeNum,
pub ociTypeCode: u16,
pub dbSizeInBytes: u32,
pub clientSizeInBytes: u32,
pub sizeInChars: u32,
pub precision: i16,
pub scale: i8,
pub fsPrecision: u8,
pub objectType: *mut dpiObjectType,
pub isJson: c_int,
pub domainSchema: *const c_char,
pub domainSchemaLength: u32,
pub domainName: *const c_char,
pub domainNameLength: u32,
pub numAnnotations: u32,
pub annotations: *mut dpiAnnotation,
pub isOson: c_int,
pub vectorDimensions: u32,
pub vectorFormat: u8,
pub vectorFlags: u8,
}Expand description
This structure is used for passing data type information from ODPI-C. It is
part of the structures dpiObjectAttrInfo,
dpiObjectTypeInfo and
dpiQueryInfo.
Fields§
§oracleTypeNum: dpiOracleTypeNumSpecifies the type of the data. It will be one of the values from the
enumeration dpiOracleTypeNum, or 0 if the type
is not supported by ODPI-C.
defaultNativeTypeNum: dpiNativeTypeNumSpecifies the default native type for the data. It will be one of the
values from the enumeration dpiNativeTypeNum, or 0
if the type is not supported by ODPI-C.
ociTypeCode: u16Specifies the OCI type code for the data, which can be useful if the type is not supported by ODPI-C.
dbSizeInBytes: u32Specifies the size in bytes (from the database’s perspective) of the data. This value is only populated for strings and binary data. For all other data the value is zero.
clientSizeInBytes: u32Specifies the size in bytes (from the client’s perspective) of the data. This value is only populated for strings and binary data. For all other data the value is zero.
sizeInChars: u32Specifies the size in characters of the data. This value is only populated for string data. For all other data the value is zero.
precision: i16Specifies the precision of the data. This value is only populated for numeric and interval data. For all other data the value is zero.
scale: i8Specifies the scale of the data. This value is only populated for numeric data. For all other data the value is zero.
fsPrecision: u8Specifies the fractional seconds precision of the data. This value is only populated for timestamp and interval day to second data. For all other data the value is zero.
objectType: *mut dpiObjectTypeSpecifies a reference to the type of the object. This value is only
populated for named type data. For all other data the value is NULL. This
reference is owned by the object attribute, object type or statement and a
call to dpiObjectType_addRef() must be made if the reference is
going to be used beyond the lifetime of the owning object.
isJson: c_intSpecifies if the data contains JSON. This is set to true when columns are
fetched that are of type DPI_ORACLE_TYPE_JSON or if the column fetched
has the check constraint “IS JSON” enabled.
domainSchema: *const c_charSpecifies the schema of the SQL domain associated with the column which is being queried, as a byte string in the encoding used for CHAR data.
domainSchemaLength: u32Specifies the length of the [dpiDataTypeInfo.domainSchema] member,
in bytes.
domainName: *const c_charSpecifies the name of the SQL domain associated with the column which is being queried, as a byte string in the encoding used for CHAR data.
domainNameLength: u32Specifies the length of the [dpiDataTypeInfo.domainName] member,
in bytes.
numAnnotations: u32Specifies the number of annotations associated with the column which is
being fetched. It is the length of [dpiDataTypeInfo.annotations].
annotations: *mut dpiAnnotationSpecifies an array of structures of type
dpiAnnotation. The length of the array is specified
in the [dpiDataTypeInfo.numAnnotations] member.
isOson: c_intSpecifies if the data contains binary encoded OSON. This is set to true when columns are fetched that have the check constraint “IS JSON FORMAT OSON” enabled.
vectorDimensions: u32Specifies the number of dimensions that a vector column contains. This
value will be 0 if [dpiDataTypeInfo.oracleTypeNum] is not
DPI_ORACLE_TYPE_VECTOR or the vector columns uses a flexible number of
dimensions.
vectorFormat: u8Specifies the storage format of the vector column. This value will be 0 if
[dpiDataTypeInfo.oracleTypeNum] is not DPI_ORACLE_TYPE_VECTOR or
the vector column uses a flexible storage format. If a value is set it will
be one of the values in the eneumeration
dpiVectorFormat.
vectorFlags: u8Specifies flags for the vector column. This value will be 0 if
[dpiDataTypeInfo.oracleTypeNum] is not DPI_ORACLE_TYPE_VECTOR or
no flags have been set. If flags have been set, they will be one or more of
the values in the enumeration dpiVectorFlags, or’ed
together.
Trait Implementations§
Source§impl Clone for dpiDataTypeInfo
impl Clone for dpiDataTypeInfo
Source§fn clone(&self) -> dpiDataTypeInfo
fn clone(&self) -> dpiDataTypeInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more