Trait odbc_api::parameter::InputParameter
source · [−]pub unsafe trait InputParameter: HasDataType + CData { }
Expand description
Use implementations of this type as arguments to SQL Statements.
Safety
Considerations for implementers
Extend the crate::handles::HasDataType
trait with the guarantee, that the bound parameter
buffer contains at least one element.
Since the indicator provided by implementation is used to indicate the length of the value in the buffer, care must be taken to prevent out of bounds access in case the implementation also is used as an output parameter, and contains truncated values (i.e. the indicator is longer than the buffer and the value within).
Trait Implementations
sourceimpl CData for Box<dyn InputParameter>
impl CData for Box<dyn InputParameter>
sourcefn cdata_type(&self) -> CDataType
fn cdata_type(&self) -> CDataType
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. Read more
sourcefn indicator_ptr(&self) -> *const isize
fn indicator_ptr(&self) -> *const isize
Indicates the length of variable sized types. May be zero for fixed sized types. Used to determine the size or existence of input parameters. Read more
sourcefn value_ptr(&self) -> *const c_void
fn value_ptr(&self) -> *const c_void
Pointer to a value corresponding to the one described by cdata_type
.
sourcefn buffer_length(&self) -> isize
fn buffer_length(&self) -> isize
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
. Read more