Struct clickhouse::insert::Insert

source ·
pub struct Insert<T> { /* private fields */ }
Expand description

Performs only one INSERT.

Rows are being sent progressively to spread network load.

Implementations§

source§

impl<T> Insert<T>

source

pub fn with_timeouts( self, send_timeout: Option<Duration>, end_timeout: Option<Duration> ) -> Self

Sets timeouts for different operations.

send_timeout restricts time on sending a data chunk to a socket. None disables the timeout, it’s a default. It’s roughly equivalent to tokio::time::timeout(insert.write(..)).

end_timeout restricts time on waiting for a response from the CH server. Thus, it includes all work needed to handle INSERT by the CH server, e.g. handling all materialized views and so on. None disables the timeout, it’s a default. It’s roughly equivalent to tokio::time::timeout(insert.end(..)).

These timeouts are much more performant (~x10) than wrapping write() and end() calls into tokio::time::timeout().

source

pub fn write<'a>( &'a mut self, row: &T ) -> impl Future<Output = Result<()>> + 'a + Sendwhere T: Serialize,

Serializes and writes to the socket a provided row.

Panics

If called after previous call returned an error.

source

pub async fn end(self) -> Result<()>

Ends INSERT. Succeeds if the server returns 200.

If it isn’t called, the whole INSERT is aborted.

Trait Implementations§

source§

impl<T> Drop for Insert<T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for Insert<T>

§

impl<T> Send for Insert<T>

§

impl<T> Sync for Insert<T>

§

impl<T> Unpin for Insert<T>

§

impl<T> !UnwindSafe for Insert<T>

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<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same<T> for T

§

type Output = T

Should always be Self
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.
§

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

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more