Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-mem-engine/src/executors/slice.rs
6940 views
1
use super::*;
2
3
pub struct SliceExec {
4
pub input: Box<dyn Executor>,
5
pub offset: i64,
6
pub len: IdxSize,
7
}
8
9
impl Executor for SliceExec {
10
fn execute(&mut self, state: &mut ExecutionState) -> PolarsResult<DataFrame> {
11
#[cfg(debug_assertions)]
12
{
13
if state.verbose() {
14
eprintln!("run SliceExec")
15
}
16
}
17
let df = self.input.execute(state)?;
18
19
state.record(
20
|| Ok(df.slice(self.offset, self.len as usize)),
21
"slice".into(),
22
)
23
}
24
}
25
26