mirror of
https://github.com/lancedb/lancedb.git
synced 2026-01-06 11:52:57 +00:00
feat: don't repartition for the sake of the metadata eraser (#2559)
The `MetadataEraserExec` is super lightweight and doesn't really justify partitioning. I had a plan recently that was partitioning just for this node and that seems wasteful.
This commit is contained in:
@@ -85,6 +85,14 @@ impl ExecutionPlan for MetadataEraserExec {
|
|||||||
vec![&self.input]
|
vec![&self.input]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn maintains_input_order(&self) -> Vec<bool> {
|
||||||
|
vec![true; self.children().len()]
|
||||||
|
}
|
||||||
|
|
||||||
|
fn benefits_from_input_partitioning(&self) -> Vec<bool> {
|
||||||
|
vec![false; self.children().len()]
|
||||||
|
}
|
||||||
|
|
||||||
fn with_new_children(
|
fn with_new_children(
|
||||||
self: Arc<Self>,
|
self: Arc<Self>,
|
||||||
children: Vec<Arc<dyn ExecutionPlan>>,
|
children: Vec<Arc<dyn ExecutionPlan>>,
|
||||||
@@ -486,7 +494,6 @@ pub mod tests {
|
|||||||
TestFixture::check_plan(
|
TestFixture::check_plan(
|
||||||
plan,
|
plan,
|
||||||
"MetadataEraserExec
|
"MetadataEraserExec
|
||||||
RepartitionExec:...
|
|
||||||
ProjectionExec:...
|
ProjectionExec:...
|
||||||
LanceRead:...",
|
LanceRead:...",
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user