dpiDataTypeInfo

Struct dpiDataTypeInfo 

Source
#[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: dpiOracleTypeNum

Specifies 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: dpiNativeTypeNum

Specifies 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: u16

Specifies the OCI type code for the data, which can be useful if the type is not supported by ODPI-C.

§dbSizeInBytes: u32

Specifies 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: u32

Specifies 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: u32

Specifies the size in characters of the data. This value is only populated for string data. For all other data the value is zero.

§precision: i16

Specifies the precision of the data. This value is only populated for numeric and interval data. For all other data the value is zero.

§scale: i8

Specifies the scale of the data. This value is only populated for numeric data. For all other data the value is zero.

§fsPrecision: u8

Specifies 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 dpiObjectType

Specifies 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_int

Specifies 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_char

Specifies 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: u32

Specifies the length of the [dpiDataTypeInfo.domainSchema] member, in bytes.

§domainName: *const c_char

Specifies 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: u32

Specifies the length of the [dpiDataTypeInfo.domainName] member, in bytes.

§numAnnotations: u32

Specifies the number of annotations associated with the column which is being fetched. It is the length of [dpiDataTypeInfo.annotations].

§annotations: *mut dpiAnnotation

Specifies an array of structures of type dpiAnnotation. The length of the array is specified in the [dpiDataTypeInfo.numAnnotations] member.

§isOson: c_int

Specifies 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: u32

Specifies 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: u8

Specifies 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: u8

Specifies 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

Source§

fn clone(&self) -> dpiDataTypeInfo

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for dpiDataTypeInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for dpiDataTypeInfo

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Copy for dpiDataTypeInfo

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.