fix(sql): split up datatypes more granular, fixes #462

pull/608/head
FabianLars 2 years ago
parent 5b814f56e6
commit 7892a06249
No known key found for this signature in database
GPG Key ID: 838F329885A9C43D

@ -17,14 +17,35 @@ pub(crate) fn to_json(v: PgValueRef) -> Result<JsonValue, Error> {
JsonValue::Null JsonValue::Null
} }
} }
"FLOAT4" | "FLOAT8" => { "FLOAT4" => {
if let Ok(v) = ValueRef::to_owned(&v).try_decode::<f32>() {
JsonValue::from(v)
} else {
JsonValue::Null
}
}
"FLOAT8" => {
if let Ok(v) = ValueRef::to_owned(&v).try_decode::<f64>() { if let Ok(v) = ValueRef::to_owned(&v).try_decode::<f64>() {
JsonValue::from(v) JsonValue::from(v)
} else { } else {
JsonValue::Null JsonValue::Null
} }
} }
"INT2" | "INT4" | "INT8" => { "INT2" => {
if let Ok(v) = ValueRef::to_owned(&v).try_decode::<i16>() {
JsonValue::Number(v.into())
} else {
JsonValue::Null
}
}
"INT4" => {
if let Ok(v) = ValueRef::to_owned(&v).try_decode::<i32>() {
JsonValue::Number(v.into())
} else {
JsonValue::Null
}
}
"INT8" => {
if let Ok(v) = ValueRef::to_owned(&v).try_decode::<i64>() { if let Ok(v) = ValueRef::to_owned(&v).try_decode::<i64>() {
JsonValue::Number(v.into()) JsonValue::Number(v.into())
} else { } else {

Loading…
Cancel
Save