Trait diesel::query_builder::bind_collector::BindCollector

source ·
pub trait BindCollector<'a, DB: TypeMetadata>: Sized {
    type Buffer;

    // Required method
    fn push_bound_value<T, U>(
        &mut self,
        bind: &'a U,
        metadata_lookup: &mut DB::MetadataLookup
    ) -> QueryResult<()>
       where DB: Backend + HasSqlType<T>,
             U: ToSql<T, DB> + ?Sized + 'a;

    // Provided method
    fn push_null_value(
        &mut self,
        _metadata: DB::TypeMetadata
    ) -> QueryResult<()> { ... }
}
Expand description

A type which manages serializing bind parameters during query construction.

The only reason you would ever need to interact with this trait is if you are adding support for a new backend to Diesel. Plugins which are extending the query builder will use AstPass::push_bind_param instead.

Required Associated Types§

source

type Buffer

The internal buffer type used by this bind collector

Required Methods§

source

fn push_bound_value<T, U>( &mut self, bind: &'a U, metadata_lookup: &mut DB::MetadataLookup ) -> QueryResult<()>
where DB: Backend + HasSqlType<T>, U: ToSql<T, DB> + ?Sized + 'a,

Serializes the given bind value, and collects the result.

Provided Methods§

source

fn push_null_value(&mut self, _metadata: DB::TypeMetadata) -> QueryResult<()>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.

Push a null value with the given type information onto the bind collector

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, DB> BindCollector<'a, DB> for RawBytesBindCollector<DB>
where for<'b> DB: Backend<BindCollector<'b> = Self> + TypeMetadata,