Skip to main content

ToSQL

Trait ToSQL 

Source
pub trait ToSQL<'a, V>
where V: SQLParam,
{ // Required method fn to_sql(&self) -> SQL<'a, V>; // Provided methods fn into_sql(self) -> SQL<'a, V> where Self: Sized { ... } fn alias(&self, alias: &'static str) -> SQL<'a, V> { ... } }
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.

Source

fn alias(&self, alias: &'static str) -> SQL<'a, V>

Implementations on Foreign Types§

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 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§

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§

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 ()
where V: SQLParam + 'a,

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>

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§

impl<'a, V> ToSQL<'a, V> for Box<[&'static dyn SQLColumnInfo]>
where V: SQLParam + 'a,

Source§

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

Source§

impl<'a, V> ToSQL<'a, V> for Box<[&'static dyn SQLTableInfo]>
where V: SQLParam + 'a,

Source§

fn to_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 std or alloc only.
Source§

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

Source§

impl<'a, V> ToSQL<'a, V> for String
where V: SQLParam + 'a + From<String> + 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 std or alloc only.
Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where 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>,

Source§

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

Source§

impl<'a, V, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ToSQL<'a, V> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where 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>,

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 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 &T
where V: SQLParam, T: ToSQL<'a, V>,

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 Rc<T>
where V: SQLParam + 'a, T: ToSQL<'a, V>,

Available on crate features std or alloc only.
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 std or alloc 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, 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>

Implementors§

Source§

impl<'a, Schema, State, Table> ToSQL<'a, PostgresValue<'a>> for QueryBuilder<'a, Schema, State, Table>

Source§

impl<'a, State> ToSQL<'a, PostgresValue<'a>> for RefreshMaterializedView<'a, State>

Source§

impl<'a, T> ToSQL<'a, PostgresValue<'a>> for PgArray<T>
where T: Into<PostgresValue<'a>> + Clone,

Source§

impl<'a, Table, Query> ToSQL<'a, PostgresValue<'a>> for CTEView<'a, Table, Query>
where Query: ToSQL<'a, PostgresValue<'a>>,

ToSQL implementation renders just the CTE name for use in FROM clauses. Unlike aliased tables (which render as “original” AS “alias”), CTEs should just render as their name since they’re already defined in the WITH clause.

Source§

impl<'a, V> ToSQL<'a, V> for &'static dyn SQLColumnInfo
where V: SQLParam + 'a,

Source§

impl<'a, V> ToSQL<'a, V> for &'static dyn SQLTableInfo
where V: SQLParam + 'a,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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<'a, V> ToSQL<'a, V> for SQLNull
where V: SQLParam + 'a,

Source§

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

Source§

impl<'a, V, Lhs, Rhs, Op> ToSQL<'a, V> for ColumnBinOp<Lhs, Rhs, Op>
where V: SQLParam, Lhs: ToSQL<'a, V>, Rhs: ToSQL<'a, V>, Op: BinOpToken,

Source§

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

Source§

impl<'a, V, T, N, A> ToSQL<'a, V> for SQLExpr<'a, V, T, N, A>

Source§

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