mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-08-12 09:19:44 +00:00
feat: support inserting into binary value through string (#4197)
feat: support inserting binary by string
This commit is contained in:
@@ -161,6 +161,7 @@ impl ConcreteDataType {
|
||||
| ConcreteDataType::Interval(_)
|
||||
| ConcreteDataType::Duration(_)
|
||||
| ConcreteDataType::Decimal128(_)
|
||||
| ConcreteDataType::Binary(_)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -717,6 +718,7 @@ mod tests {
|
||||
assert!(!ConcreteDataType::int32_datatype().is_stringifiable());
|
||||
assert!(!ConcreteDataType::float32_datatype().is_stringifiable());
|
||||
assert!(ConcreteDataType::string_datatype().is_stringifiable());
|
||||
assert!(ConcreteDataType::binary_datatype().is_stringifiable());
|
||||
assert!(ConcreteDataType::date_datatype().is_stringifiable());
|
||||
assert!(ConcreteDataType::datetime_datatype().is_stringifiable());
|
||||
assert!(ConcreteDataType::timestamp_second_datatype().is_stringifiable());
|
||||
|
||||
@@ -120,6 +120,7 @@ fn parse_string_to_value(
|
||||
.fail()
|
||||
}
|
||||
}
|
||||
ConcreteDataType::Binary(_) => Ok(Value::Binary(s.as_bytes().into())),
|
||||
_ => {
|
||||
unreachable!()
|
||||
}
|
||||
@@ -710,6 +711,14 @@ mod tests {
|
||||
sql_value_to_value("a", &ConcreteDataType::binary_datatype(), &sql_val, None).unwrap();
|
||||
assert_eq!(Value::Binary(Bytes::from(b"Hello world!".as_slice())), v);
|
||||
|
||||
let sql_val = SqlValue::DoubleQuotedString("MorningMyFriends".to_string());
|
||||
let v =
|
||||
sql_value_to_value("a", &ConcreteDataType::binary_datatype(), &sql_val, None).unwrap();
|
||||
assert_eq!(
|
||||
Value::Binary(Bytes::from(b"MorningMyFriends".as_slice())),
|
||||
v
|
||||
);
|
||||
|
||||
let sql_val = SqlValue::HexStringLiteral("9AF".to_string());
|
||||
let v = sql_value_to_value("a", &ConcreteDataType::binary_datatype(), &sql_val, None);
|
||||
assert!(v.is_err());
|
||||
|
||||
Reference in New Issue
Block a user