Enum hdbconnect::HdbValue
source · pub enum HdbValue<'a> {
Show 24 variants
NULL,
TINYINT(u8),
SMALLINT(i16),
INT(i32),
BIGINT(i64),
DECIMAL(BigDecimal),
REAL(f32),
DOUBLE(f64),
BINARY(Vec<u8>),
SYNC_CLOB(CLob),
SYNC_NCLOB(NCLob),
SYNC_BLOB(BLob),
SYNC_LOBSTREAM(Option<Arc<Mutex<dyn Read + Send>>>),
BOOLEAN(bool),
STRING(String),
DBSTRING(Vec<u8>),
STR(&'a str),
LONGDATE(LongDate),
SECONDDATE(SecondDate),
DAYDATE(DayDate),
SECONDTIME(SecondTime),
GEOMETRY(Vec<u8>),
POINT(Vec<u8>),
ARRAY(Vec<HdbValue<'a>>),
}
Expand description
Enum for all supported database value types.
Variants§
NULL
Representation of a database NULL value.
TINYINT(u8)
Stores an 8-bit unsigned integer. The minimum value is 0. The maximum value is 255.
SMALLINT(i16)
Stores a 16-bit signed integer. The minimum value is -32,768. The maximum value is 32,767.
INT(i32)
Stores a 32-bit signed integer. The minimum value is -2,147,483,648. The maximum value is 2,147,483,647.
BIGINT(i64)
Stores a 64-bit signed integer. The minimum value is -9,223,372,036,854,775,808. The maximum value is 9,223,372,036,854,775,807.
DECIMAL(BigDecimal)
Representation for fixed-point decimal values.
REAL(f32)
Stores a single-precision 32-bit floating-point number.
DOUBLE(f64)
Stores a double-precision 64-bit floating-point number. The minimum value is -1.7976931348623157E308, the maximum value is 1.7976931348623157E308 . The smallest positive DOUBLE value is 2.2250738585072014E-308 and the largest negative DOUBLE value is -2.2250738585072014E-308.
BINARY(Vec<u8>)
Stores binary data.
SYNC_CLOB(CLob)
Stores a large ASCII character string.
SYNC_NCLOB(NCLob)
Stores a large Unicode string.
SYNC_BLOB(BLob)
Stores a large binary string.
SYNC_LOBSTREAM(Option<Arc<Mutex<dyn Read + Send>>>)
Used for streaming LOBs to the database (see
PreparedStatement::execute_row()
).
BOOLEAN(bool)
BOOLEAN stores boolean values, which are TRUE or FALSE.
STRING(String)
The DB returns all valid Strings as type STRING, independent of the concrete column type.
DBSTRING(Vec<u8>)
In rare cases, when the database sends invalid CESU-8, we fall back to this type.
STR(&'a str)
Can be used for avoiding cloning when sending large Strings to the database (see
PreparedStatement::execute_row()
).
LONGDATE(LongDate)
Timestamp with 10^-7 seconds precision, uses eight bytes.
SECONDDATE(SecondDate)
TIMESTAMP with second precision.
DAYDATE(DayDate)
DATE with day precision.
SECONDTIME(SecondTime)
TIME with second precision.
GEOMETRY(Vec<u8>)
Spatial type GEOMETRY.
POINT(Vec<u8>)
Spatial type POINT.
ARRAY(Vec<HdbValue<'a>>)
HANA’s array type
Implementations§
source§impl HdbValue<'static>
impl HdbValue<'static>
sourcepub fn try_into<'x, T>(self) -> Result<T, HdbError>where
T: Deserialize<'x>,
pub fn try_into<'x, T>(self) -> Result<T, HdbError>where
T: Deserialize<'x>,
Deserialize into a rust type.
§Errors
HdbError::DeserializationError
if the target type does not fit.
sourcepub fn try_into_blob(self) -> Result<BLob, HdbError>
pub fn try_into_blob(self) -> Result<BLob, HdbError>
sourcepub fn try_into_clob(self) -> Result<CLob, HdbError>
pub fn try_into_clob(self) -> Result<CLob, HdbError>
Trait Implementations§
source§impl DbValue for HdbValue<'static>
impl DbValue for HdbValue<'static>
§fn try_into<'de, T>(self) -> Result<T, DeserializationError>where
T: Deserialize<'de>,
fn try_into<'de, T>(self) -> Result<T, DeserializationError>where
T: Deserialize<'de>,
DbValue
into a plain rust value. Read more