pub unsafe trait CData {
    fn cdata_type(&self) -> CDataType;
fn indicator_ptr(&self) -> *const isize;
fn value_ptr(&self) -> *const c_void;
fn buffer_length(&self) -> isize; }
Expand description

Provides description of C type layout and pointers to it. Used to bind and buffers to ODBC statements.

Safety

In case of variable sized types Self::indicator_ptr must not exceed the value pointed to by Self::value_ptr. This requirement is a bit tricky since, if the same indicator buffer is used in an output paramater the indicator value may be larger in case of truncation.

Required methods

The identifier of the C data type of the value buffer. When it is retrieving data from the data source with fetch, the driver converts the data to this type. When it sends data to the source, the driver converts the data from this type.

Indicates the length of variable sized types. May be zero for fixed sized types. Used to determine the size or existence of input parameters.

Pointer to a value corresponding to the one described by cdata_type.

Maximum length of the type in bytes (not characters). It is required to index values in bound buffers, if more than one parameter is bound. Can be set to zero for types not bound as parameter arrays, i.e. CStr.

Implementations on Foreign Types

Implementors