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

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§

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

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

fn into_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, 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, Marker, Row, Grouped> ToSQL<'a, PostgresValue<'a>> for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>

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

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

Source§

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

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, 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, 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> ToSQL<'a, V> for TypedPlaceholder<T, N>
where V: SQLParam + 'a, T: DataType, N: Nullability,

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,