Skip to main content

ToSQL

Trait ToSQL 

Source
pub trait ToSQL<'a, V: SQLParam> {
    // Required method
    fn to_sql(&self) -> SQL<'a, V>;

    // Provided method
    fn into_sql(self) -> SQL<'a, V>
       where Self: Sized { ... }
}
Expand description

Trait for types that can be converted to SQL fragments.

The 'a lifetime ties any borrowed parameter values to the resulting SQL fragment, allowing zero-copy SQL construction when inputs are already borrowed.

Required Methods§

Source

fn to_sql(&self) -> SQL<'a, V>

Provided Methods§

Source

fn into_sql(self) -> SQL<'a, V>
where Self: Sized,

Consume self and return SQL without cloning. Default delegates to to_sql() (which clones). Types that own their SQL (like SQL and SQLExpr) override this to avoid the clone.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, V, T, const N: usize> ToSQL<'a, V> for [T; N]
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V, T> ToSQL<'a, V> for &'a [T]
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V, T> ToSQL<'a, V> for Arc<T>
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Available on crate features alloc or std only.
Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V, T> ToSQL<'a, V> for Box<T>
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V, T> ToSQL<'a, V> for Option<T>
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V, T> ToSQL<'a, V> for Rc<T>
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Available on crate features alloc or std only.
Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V, T> ToSQL<'a, V> for Vec<T>
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for ()

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>, T9: ToSQL<'a, V>, T10: ToSQL<'a, V>, T11: ToSQL<'a, V>, T12: ToSQL<'a, V>, T13: ToSQL<'a, V>, T14: ToSQL<'a, V>, T15: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>, T9: ToSQL<'a, V>, T10: ToSQL<'a, V>, T11: ToSQL<'a, V>, T12: ToSQL<'a, V>, T13: ToSQL<'a, V>, T14: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>, T9: ToSQL<'a, V>, T10: ToSQL<'a, V>, T11: ToSQL<'a, V>, T12: ToSQL<'a, V>, T13: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>, T9: ToSQL<'a, V>, T10: ToSQL<'a, V>, T11: ToSQL<'a, V>, T12: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>, T9: ToSQL<'a, V>, T10: ToSQL<'a, V>, T11: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>, T9: ToSQL<'a, V>, T10: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>, T9: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>, T8: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>, T7: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>, T6: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>, T5: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>, T4: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3, T4)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>, T3: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2, T3)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>, T2: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1, T2)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>, T1: ToSQL<'a, V>> ToSQL<'a, V> for (T0, T1)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T0: ToSQL<'a, V>> ToSQL<'a, V> for (T0,)

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V: SQLParam, T> ToSQL<'a, V> for &T
where T: ToSQL<'a, V>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for &'a str
where V: SQLParam + 'a + From<&'a str> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for Arc<str>
where V: SQLParam + 'a + From<String> + Into<Cow<'a, V>>,

Available on crate features alloc or std only.
Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for Box<str>
where V: SQLParam + 'a + From<String> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

fn into_sql(self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for Cow<'a, [u8]>
where V: SQLParam + 'a + From<&'a [u8]> + From<Vec<u8>> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

fn into_sql(self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for Cow<'a, str>
where V: SQLParam + 'a + From<&'a str> + From<String> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

fn into_sql(self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for Rc<str>
where V: SQLParam + 'a + From<String> + Into<Cow<'a, V>>,

Available on crate features alloc or std only.
Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for String
where V: SQLParam + 'a + From<Self> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

fn into_sql(self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for bool
where V: SQLParam + 'a + From<bool> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for f32
where V: SQLParam + 'a + From<f32> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for f64
where V: SQLParam + 'a + From<f64> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for i8
where V: SQLParam + 'a + From<i8> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for i16
where V: SQLParam + 'a + From<i16> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for i32
where V: SQLParam + 'a + From<i32> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for i64
where V: SQLParam + 'a + From<i64> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for isize
where V: SQLParam + 'a + From<isize> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for u8
where V: SQLParam + 'a + From<u8> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for u16
where V: SQLParam + 'a + From<u16> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for u32
where V: SQLParam + 'a + From<u32> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for u64
where V: SQLParam + 'a + From<u64> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for usize
where V: SQLParam + 'a + From<usize> + Into<Cow<'a, V>>,

Source§

fn to_sql(&self) -> SQL<'a, V>

Implementors§

Source§

impl<'a, V, C> ToSQL<'a, V> for Excluded<C>
where V: SQLParam + 'a, C: SQLColumnInfo,

Source§

impl<'a, V, E> ToSQL<'a, V> for AliasedExpr<E>
where V: SQLParam + 'a, E: ToSQL<'a, V>,

Source§

impl<'a, V: SQLParam + 'a, T: DataType, N: Nullability> ToSQL<'a, V> for TypedPlaceholder<T, N>

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for ColumnRef

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for Join

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for OrderBy

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for Placeholder

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for SQL<'a, V>

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for SQLNull

Source§

impl<'a, V: SQLParam + 'a> ToSQL<'a, V> for TableRef

Source§

impl<'a, V: SQLParam, T: DataType, N: Nullability, A: AggregateKind> ToSQL<'a, V> for SQLExpr<'a, V, T, N, A>

Source§

impl<'a, V: SQLParam> ToSQL<'a, V> for OwnedPreparedStatement<V>

Source§

impl<'a, V: SQLParam> ToSQL<'a, V> for PreparedStatement<'a, V>

Source§

impl<'a, V> ToSQL<'a, V> for SQLBytes<'a>
where V: SQLParam + 'a + From<&'a [u8]> + From<Vec<u8>> + Into<Cow<'a, V>>,

Source§

impl<V: SQLParam> ToSQL<'static, V> for OwnedSQL<V>