diff --git a/src/sql/src/statements.rs b/src/sql/src/statements.rs index c251c26dfd..1510335c77 100644 --- a/src/sql/src/statements.rs +++ b/src/sql/src/statements.rs @@ -37,7 +37,7 @@ use common_time::Timestamp; use datatypes::prelude::ConcreteDataType; use datatypes::schema::{ColumnDefaultConstraint, ColumnSchema, COMMENT_KEY}; use datatypes::types::TimestampType; -use datatypes::value::Value; +use datatypes::value::{OrderedF32, OrderedF64, Value}; use snafu::{ensure, OptionExt, ResultExt}; use crate::ast::{ @@ -128,12 +128,12 @@ fn parse_hex_string(s: &str) -> Result { } macro_rules! parse_number_to_value { - ($data_type: expr, $n: ident, $(($Type: ident, $PrimitiveType: ident)), +) => { + ($data_type: expr, $n: ident, $(($Type: ident, $PrimitiveType: ident, $Target: ident)), +) => { match $data_type { $( ConcreteDataType::$Type(_) => { let n = parse_sql_number::<$PrimitiveType>($n)?; - Ok(Value::from(n)) + Ok(Value::$Type($Target::from(n))) }, )+ _ => ParseSqlValueSnafu { @@ -149,17 +149,17 @@ pub fn sql_number_to_value(data_type: &ConcreteDataType, n: &str) -> Result