use super::{pipeline, Connection, PipelineBatch, Result};
impl Connection {
pub fn pipeline(&self) -> PipelineBatch {
PipelineBatch::new()
}
pub async fn execute_pipeline(
&mut self,
batch: PipelineBatch,
) -> Result<Vec<pipeline::QueryResult>> {
let batch_len = batch.len();
self.instr()
.on_event(&crate::Event::PipelineStart { batch_len });
let started = std::time::Instant::now();
let res = batch.execute(&mut self.conn).await;
let total_duration = started.elapsed();
self.instr().on_event(&crate::Event::PipelineFlush {
batch_len,
total_duration,
});
res
}
}