use crate::{AkitaDataError, AkitaValue, FromAkitaValue, IntoAkitaValue};
#[derive(Debug, Clone)]
pub struct SqlExpr(pub String);
impl IntoAkitaValue for SqlExpr {
fn into_value(&self) -> AkitaValue {
AkitaValue::RawSql(self.0.to_string())
}
}
impl FromAkitaValue for SqlExpr {
fn from_value_opt(value: &AkitaValue) -> Result<Self, AkitaDataError> {
match value {
AkitaValue::Text(v) => Ok(SqlExpr(v.to_string())),
AkitaValue::RawSql(v) => Ok(SqlExpr(v.to_string())),
_ => Ok(SqlExpr(value.to_string()))
}
}
}