pub struct BatchInsert<V, Tab, QId, const STABLE_QUERY_ID: bool> {
    pub values: V,
    /* private fields */
}
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Expand description

This type represents a batch insert clause, which allows to insert multiple rows at once.

Custom backends can specialize the QueryFragment implementation via SqlDialect::BatchInsertSupport or provide fully custom ExecuteDsl and LoadQuery implementations

Fields§

§values: V

List of values that should be inserted

Trait Implementations§

source§

impl<V: Debug, Tab: Debug, QId: Debug, const STABLE_QUERY_ID: bool> Debug for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Tab, DB, V, QId, const HAS_STATIC_QUERY_ID: bool> QueryFragment<DB> for BatchInsert<V, Tab, QId, HAS_STATIC_QUERY_ID>where DB: Backend, Self: QueryFragment<DB, DB::BatchInsertSupport>,

source§

fn walk_ast<'b>(&'b self, pass: AstPass<'_, 'b, DB>) -> QueryResult<()>

Walk over this QueryFragment for all passes. Read more
source§

fn to_sql(&self, out: &mut DB::QueryBuilder, backend: &DB) -> QueryResult<()>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Converts this QueryFragment to its SQL representation. Read more
source§

fn collect_binds<'b>( &'b self, out: &mut DB::BindCollector<'b>, metadata_lookup: &mut DB::MetadataLookup, backend: &'b DB ) -> QueryResult<()>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Serializes all bind parameters in this query. Read more
source§

fn is_safe_to_cache_prepared(&self, backend: &DB) -> QueryResult<bool>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Is this query safe to store in the prepared statement cache? Read more
source§

fn is_noop(&self, backend: &DB) -> QueryResult<bool>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Does walking this AST have any effect?
source§

impl<Tab, DB, V, QId, const HAS_STATIC_QUERY_ID: bool> QueryFragment<DB, PostgresLikeBatchInsertSupport> for BatchInsert<Vec<ValuesClause<V, Tab>>, Tab, QId, HAS_STATIC_QUERY_ID>where DB: Backend + SqlDialect<BatchInsertSupport = PostgresLikeBatchInsertSupport>, DB::InsertWithDefaultKeyword: SupportsDefaultKeyword, ValuesClause<V, Tab>: QueryFragment<DB>, V: QueryFragment<DB>,

source§

fn walk_ast<'b>(&'b self, out: AstPass<'_, 'b, DB>) -> QueryResult<()>

Walk over this QueryFragment for all passes. Read more
source§

fn to_sql(&self, out: &mut DB::QueryBuilder, backend: &DB) -> QueryResult<()>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Converts this QueryFragment to its SQL representation. Read more
source§

fn collect_binds<'b>( &'b self, out: &mut DB::BindCollector<'b>, metadata_lookup: &mut DB::MetadataLookup, backend: &'b DB ) -> QueryResult<()>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Serializes all bind parameters in this query. Read more
source§

fn is_safe_to_cache_prepared(&self, backend: &DB) -> QueryResult<bool>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Is this query safe to store in the prepared statement cache? Read more
source§

fn is_noop(&self, backend: &DB) -> QueryResult<bool>

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Does walking this AST have any effect?
source§

impl<V, QId: 'static, Tab: 'static, const STABLE_QUERY_ID: bool> QueryId for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>

§

type QueryId = QId

A type which uniquely represents Self in a SQL query. Read more
source§

const HAS_STATIC_QUERY_ID: bool = STABLE_QUERY_ID

Can the SQL generated by Self be uniquely identified by its type? Read more
source§

fn query_id() -> Option<TypeId>

Returns the type id of Self::QueryId if Self::HAS_STATIC_QUERY_ID. Returns None otherwise. Read more
source§

impl<T, Table, QId, const STATIC_QUERY_ID: bool> UndecoratedInsertRecord<Table> for BatchInsert<T, Table, QId, STATIC_QUERY_ID>where T: UndecoratedInsertRecord<Table>,

Auto Trait Implementations§

§

impl<V, Tab, QId, const STABLE_QUERY_ID: bool> RefUnwindSafe for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>where QId: RefUnwindSafe, Tab: RefUnwindSafe, V: RefUnwindSafe,

§

impl<V, Tab, QId, const STABLE_QUERY_ID: bool> Send for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>where QId: Send, Tab: Send, V: Send,

§

impl<V, Tab, QId, const STABLE_QUERY_ID: bool> Sync for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>where QId: Sync, Tab: Sync, V: Sync,

§

impl<V, Tab, QId, const STABLE_QUERY_ID: bool> Unpin for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>where QId: Unpin, Tab: Unpin, V: Unpin,

§

impl<V, Tab, QId, const STABLE_QUERY_ID: bool> UnwindSafe for BatchInsert<V, Tab, QId, STABLE_QUERY_ID>where QId: UnwindSafe, Tab: UnwindSafe, V: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Conn, DB, T> ExecuteDsl<Conn, DB> for Twhere Conn: Connection<Backend = DB>, DB: Backend, T: QueryFragment<DB> + QueryId,

source§

fn execute(query: T, conn: &mut Conn) -> Result<usize, Error>

Execute this command
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoSql for T

source§

fn into_sql<T>(self) -> AsExprOf<Self, T>where Self: AsExpression<T> + Sized, T: SqlType + TypedExpressionType,

Convert self to an expression for Diesel’s query builder. Read more
source§

fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T>where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V