Trait tidb_query_datatype::codec::convert::ConvertTo [−][src]
A trait for converting a value to T
Required methods
fn convert(&self, ctx: &mut EvalContext) -> Result<T>[src]
Converts the given value to T value
Implementations on Foreign Types
impl ConvertTo<f64> for i64[src]
fn convert(&self, _: &mut EvalContext) -> Result<f64>[src]
impl ConvertTo<f64> for u64[src]
fn convert(&self, _: &mut EvalContext) -> Result<f64>[src]
impl ConvertTo<f64> for &[u8][src]
fn convert(&self, ctx: &mut EvalContext) -> Result<f64>[src]
This function parse the str to float, if the num represent by the str is too large, it will handle truncated using ctx, and return f64::MIN or f64::MAX according to whether isNeg of the str
Port from TiDB’s types.StrToFloat
impl ConvertTo<f64> for Cow<'_, [u8]>[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<f64>[src]
impl ConvertTo<Decimal> for i64[src]
fn convert(&self, _: &mut EvalContext) -> Result<Decimal>[src]
impl ConvertTo<Decimal> for u64[src]
fn convert(&self, _: &mut EvalContext) -> Result<Decimal>[src]
impl ConvertTo<Decimal> for f64[src]
fn convert(&self, _: &mut EvalContext) -> Result<Decimal>[src]
Convert a float number to decimal.
This function will use float’s canonical string representation rather than the accurate value the float represent.
impl ConvertTo<Decimal> for &[u8][src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Decimal>[src]
impl ConvertTo<Decimal> for Cow<'_, [u8]>[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Decimal>[src]
impl ConvertTo<Json> for i64[src]
fn convert(&self, _: &mut EvalContext) -> Result<Json>[src]
impl ConvertTo<Json> for f64[src]
fn convert(&self, _: &mut EvalContext) -> Result<Json>[src]
Implementors
impl ConvertTo<f64> for Decimal[src]
fn convert(&self, _: &mut EvalContext) -> Result<f64>[src]
This function should not return err, if it return err, then the err because of bug.
Port from TiDB’s MyDecimal::ToFloat64.
impl ConvertTo<f64> for Duration[src]
fn convert(&self, _: &mut EvalContext) -> Result<f64>[src]
impl ConvertTo<f64> for Json[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<f64>[src]
Keep compatible with TiDB’s ConvertJSONToFloat function.
impl ConvertTo<f64> for Time[src]
fn convert(&self, _: &mut EvalContext) -> Result<f64>[src]
This function should not return err, if it return err, then the err is because of bug.
impl ConvertTo<f64> for Bytes[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<f64>[src]
impl ConvertTo<Decimal> for Duration[src]
fn convert(&self, _: &mut EvalContext) -> Result<Decimal>[src]
This function should not return err, if it return err, then the err is because of bug.
Port from TiDB’ Duration::ToNumber
impl ConvertTo<Decimal> for Json[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Decimal>[src]
Port from TiDB’s types.ConvertJSONToDecimal
impl ConvertTo<Decimal> for Time[src]
fn convert(&self, _: &mut EvalContext) -> Result<Decimal>[src]
impl ConvertTo<Decimal> for Bytes[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Decimal>[src]
impl ConvertTo<Decimal> for Real[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Decimal>[src]
impl ConvertTo<Duration> for Time[src]
fn convert(&self, _: &mut EvalContext) -> Result<Duration>[src]
Port from TiDB’s Time::ConvertToDuration
impl ConvertTo<Json> for Decimal[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Json>[src]
impl ConvertTo<Json> for Duration[src]
fn convert(&self, _: &mut EvalContext) -> Result<Json>[src]
impl ConvertTo<Json> for Time[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Json>[src]
impl ConvertTo<Json> for Real[src]
fn convert(&self, _: &mut EvalContext) -> Result<Json>[src]
impl<'a> ConvertTo<f64> for JsonRef<'a>[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<f64>[src]
Keep compatible with TiDB’s ConvertJSONToFloat function.
impl<'a> ConvertTo<NotNan<f64>> for JsonRef<'a>[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Real>[src]
impl<'a> ConvertTo<Decimal> for JsonRef<'a>[src]
fn convert(&self, ctx: &mut EvalContext) -> Result<Decimal>[src]
Port from TiDB’s types.ConvertJSONToDecimal
impl<'a> ConvertTo<String> for JsonRef<'a>[src]
fn convert(&self, _: &mut EvalContext) -> Result<String>[src]
impl<'a> ConvertTo<Vec<u8, Global>> for EnumRef<'a>[src]
fn convert(&self, _: &mut EvalContext) -> Result<Bytes>[src]
impl<'a> ConvertTo<Vec<u8, Global>> for JsonRef<'a>[src]
fn convert(&self, _: &mut EvalContext) -> Result<Bytes>[src]
impl<T> ConvertTo<i64> for T where
T: ToInt, [src]
T: ToInt,
fn convert(&self, ctx: &mut EvalContext) -> Result<i64>[src]
impl<T> ConvertTo<u64> for T where
T: ToInt, [src]
T: ToInt,
fn convert(&self, ctx: &mut EvalContext) -> Result<u64>[src]
impl<T> ConvertTo<NotNan<f64>> for T where
T: ConvertTo<f64> + EvaluableRet, [src]
T: ConvertTo<f64> + EvaluableRet,
fn convert(&self, ctx: &mut EvalContext) -> Result<Real>[src]
impl<T> ConvertTo<String> for T where
T: ToString + EvaluableRet, [src]
T: ToString + EvaluableRet,
fn convert(&self, _: &mut EvalContext) -> Result<String>[src]
impl<T> ConvertTo<Vec<u8, Global>> for T where
T: ToString + EvaluableRet, [src]
T: ToString + EvaluableRet,