mssql_value_serializer/literals/
bigdecimal.rs1use std::fmt::{Formatter, Write};
2
3use bigdecimal::{BigDecimal, BigDecimalRef};
4
5use super::{SqlLiteralError, SqlServerLiteral};
6use crate::{impl_dyn_wrapper, SqlServerLiteralDynWrapper};
7
8impl SqlServerLiteral for BigDecimal {
9 #[inline]
10 fn append_sql_literal(&self, out: &mut String) -> Result<(), SqlLiteralError> {
11 write!(out, "{}", self).unwrap();
12
13 Ok(())
14 }
15
16 #[inline]
17 fn append_sql_literal_fmt(&self, out: &mut Formatter<'_>) -> Result<(), SqlLiteralError> {
18 write!(out, "{}", self).unwrap();
19
20 Ok(())
21 }
22}
23
24impl_dyn_wrapper!(BigDecimal);
25
26impl SqlServerLiteral for BigDecimalRef<'_> {
27 #[inline]
28 fn append_sql_literal(&self, out: &mut String) -> Result<(), SqlLiteralError> {
29 write!(out, "{}", self).unwrap();
30
31 Ok(())
32 }
33
34 #[inline]
35 fn append_sql_literal_fmt(&self, out: &mut Formatter<'_>) -> Result<(), SqlLiteralError> {
36 write!(out, "{}", self).unwrap();
37
38 Ok(())
39 }
40}
41
42impl From<BigDecimalRef<'static>> for SqlServerLiteralDynWrapper<'static> {
43 #[inline]
44 fn from(value: BigDecimalRef<'static>) -> Self {
45 Self::Owned(Box::new(value))
46 }
47}
48
49impl<'a> From<&'a BigDecimalRef<'a>> for SqlServerLiteralDynWrapper<'a> {
50 #[inline]
51 fn from(value: &'a BigDecimalRef<'a>) -> Self {
52 Self::Borrowed(value)
53 }
54}