Enum odbc_api::buffers::BufferKind [−][src]
pub enum BufferKind {
}Expand description
This class is used together with crate::buffers::BufferDescription to specify the layout of
buffers bound to ODBC cursors and statements.
Variants
Variable sized binary buffer, holding up to length bytes per value.
Show fields
Fields of Binary
length: usizeMaximum number of bytes per value.
Text buffer holding strings with binary length of up to max_str_len.
Show fields
Fields of Text
max_str_len: usizeMaximum string length. Terminating zero is excluded, i.e. memory for it will be implicitly allocated if required.
UTF-16 encoded text buffer holding strings with length of up to max_str_len. Length is in
terms of 2-Byte characters.
Show fields
Fields of WText
max_str_len: usizeMaximum string length. Terminating zero is excluded, i.e. memory for it will be implicitly allocated if required.
64 bit floating point
32 bit floating point
Describes a buffer holding crate::sys::Date values.
Describes a buffer holding crate::sys::Time values.
Describes a buffer holding crate::sys::Timestamp values.
Signed 8 Bit integer
Signed 16 Bit integer
Signed 32 Bit integer
Signed 64 Bit integer
Unsigned 8 Bit integer
Can either be zero or one
Implementations
Describe a buffer which fits best the SQL Data Type.
use odbc_api::{DataType, buffers::BufferKind}; assert_eq!(BufferKind::from_data_type(DataType::Unknown), None); assert_eq!( BufferKind::from_data_type(DataType::Numeric { precision: 2, scale: 0 }), Some(BufferKind::I8) ); assert_eq!( BufferKind::from_data_type(DataType::Numeric { precision: 9, scale: 0 }), Some(BufferKind::I32) ); assert_eq!( BufferKind::from_data_type(DataType::Numeric { precision: 18, scale: 0 }), Some(BufferKind::I64) ); assert_eq!( BufferKind::from_data_type(DataType::Numeric { precision: 20, scale: 5 }), Some(BufferKind::Text { max_str_len: 20 + 2 }) ); assert_eq!( BufferKind::from_data_type(DataType::Varchar { length: 42 }), Some(BufferKind::Text { max_str_len: 42 }) ); // We do not care about the encoding in the datasource. WVarchar is mapped to `Text`, too // (instead of `WText`). assert_eq!( BufferKind::from_data_type(DataType::WVarchar { length: 42 }), Some(BufferKind::Text { max_str_len: 42 }) ); assert_eq!( BufferKind::from_data_type(DataType::BigInt), Some(BufferKind::I64) ); assert_eq!( BufferKind::from_data_type(DataType::Integer), Some(BufferKind::I32) ); assert_eq!( BufferKind::from_data_type(DataType::SmallInt), Some(BufferKind::I16) ); assert_eq!( BufferKind::from_data_type(DataType::TinyInt), Some(BufferKind::I8) ); assert_eq!( BufferKind::from_data_type(DataType::Float), Some(BufferKind::F32) ); assert_eq!( BufferKind::from_data_type(DataType::Double), Some(BufferKind::F64) ); assert_eq!( BufferKind::from_data_type(DataType::Date), Some(BufferKind::Date) ); assert_eq!( BufferKind::from_data_type(DataType::Time { precision: 0 }), Some(BufferKind::Time) ); assert_eq!( BufferKind::from_data_type(DataType::Bit), Some(BufferKind::Bit) ); assert_eq!( BufferKind::from_data_type(DataType::Time { precision: 3 }), Some(BufferKind::Text { max_str_len: 12 }) ); assert_eq!( BufferKind::from_data_type(DataType::Timestamp { precision: 3 }), Some(BufferKind::Timestamp) );
Trait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for BufferKindimpl Send for BufferKindimpl Sync for BufferKindimpl Unpin for BufferKindimpl UnwindSafe for BufferKindBlanket Implementations
Mutably borrows from an owned value. Read more