toasty_sql/serializer/
params.rs1use super::{Formatter, ToSql};
2
3use std::fmt;
4use toasty_core::driver::SqlPlaceholder;
5
6pub struct Placeholder(pub usize);
20
21impl ToSql for Placeholder {
22 fn to_sql(self, f: &mut Formatter<'_>) {
23 let placeholder = super::dialect::sql_placeholder(f.serializer.dialect);
24 write_sql_placeholder(&mut f.dst, placeholder, self.0).unwrap();
25 }
26}
27
28fn write_sql_placeholder(
29 dst: &mut impl fmt::Write,
30 placeholder: SqlPlaceholder,
31 index: usize,
32) -> fmt::Result {
33 match placeholder {
34 SqlPlaceholder::QuestionMark => dst.write_str("?"),
35 SqlPlaceholder::NumberedQuestionMark => write!(dst, "?{index}"),
36 SqlPlaceholder::DollarNumber => write!(dst, "${index}"),
37 }
38}