drizzle_core/param/
owned.rs

1use crate::{Param, Placeholder, SQLParam};
2
3#[derive(Debug, Clone)]
4pub struct OwnedParam<V: SQLParam> {
5    /// The placeholder to use in the SQL
6    pub placeholder: Placeholder,
7    /// The value to bind
8    pub value: Option<V>,
9}
10
11impl<'a, V: SQLParam> From<Param<'a, V>> for OwnedParam<V> {
12    fn from(value: Param<'a, V>) -> Self {
13        Self {
14            placeholder: value.placeholder,
15            value: value.value.map(|v| v.into_owned()),
16        }
17    }
18}
19
20impl<'a, V: SQLParam> From<&Param<'a, V>> for OwnedParam<V> {
21    fn from(value: &Param<'a, V>) -> Self {
22        Self {
23            placeholder: value.placeholder,
24            value: value.value.clone().map(|v| v.into_owned()),
25        }
26    }
27}