mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 16:10:43 +00:00
fix: schema inference issue (#3128)
This commit is contained in:
@@ -163,6 +163,7 @@ fn convert_data_type(
|
||||
| (DataType::Int64, DataType::Utf8) => {
|
||||
fields.insert(key.to_string(), Field::new(key, data_type, true));
|
||||
}
|
||||
(DataType::Int64, DataType::Boolean) | (DataType::UInt64, DataType::Boolean) => {}
|
||||
(DataType::UInt64, DataType::Float64) | (DataType::UInt64, DataType::Utf8) => {
|
||||
fields.insert(key.to_string(), Field::new(key, data_type, true));
|
||||
}
|
||||
|
||||
@@ -176,6 +176,13 @@ pub fn cast_to_schema_v1(
|
||||
if val.is_i64() {
|
||||
continue;
|
||||
}
|
||||
if val.is_boolean() {
|
||||
value.insert(
|
||||
field_name_str,
|
||||
Value::Number(bool_to_serde_json_number(val.as_bool().unwrap())),
|
||||
);
|
||||
continue;
|
||||
}
|
||||
let val = get_string_value(val);
|
||||
match val.parse::<i64>() {
|
||||
Ok(val) => {
|
||||
@@ -188,6 +195,13 @@ pub fn cast_to_schema_v1(
|
||||
if val.is_u64() {
|
||||
continue;
|
||||
}
|
||||
if val.is_boolean() {
|
||||
value.insert(
|
||||
field_name_str,
|
||||
Value::Number(bool_to_serde_json_number(val.as_bool().unwrap())),
|
||||
);
|
||||
continue;
|
||||
}
|
||||
let val = get_string_value(val);
|
||||
match val.parse::<u64>() {
|
||||
Ok(val) => {
|
||||
@@ -200,6 +214,13 @@ pub fn cast_to_schema_v1(
|
||||
if val.is_f64() {
|
||||
continue;
|
||||
}
|
||||
if val.is_boolean() {
|
||||
value.insert(
|
||||
field_name_str,
|
||||
Value::Number(bool_to_serde_json_number(val.as_bool().unwrap())),
|
||||
);
|
||||
continue;
|
||||
}
|
||||
let val = get_string_value(val);
|
||||
match val.parse::<f64>() {
|
||||
Ok(val) => {
|
||||
@@ -399,6 +420,11 @@ async fn add_record(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn bool_to_serde_json_number(value: bool) -> serde_json::Number {
|
||||
let num = value as i64;
|
||||
serde_json::Number::from(num)
|
||||
}
|
||||
|
||||
struct StreamMeta<'a> {
|
||||
org_id: String,
|
||||
stream_name: String,
|
||||
|
||||
Reference in New Issue
Block a user