Skip to content

Commit 7f47bf1

Browse files
authored
chore: update CopyExec with maintains_input_order, supports_limit_pushdown and cardinality_effect (#1979)
1 parent 34f06a1 commit 7f47bf1

File tree

1 file changed

+13
-1
lines changed
  • native/core/src/execution/operators

1 file changed

+13
-1
lines changed

native/core/src/execution/operators/copy.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use arrow::array::{
3131
use arrow::datatypes::{DataType, Field, FieldRef, Schema, SchemaRef};
3232
use arrow::error::ArrowError;
3333
use datafusion::common::{arrow_datafusion_err, DataFusionError, Result as DataFusionResult};
34-
use datafusion::physical_plan::execution_plan::{Boundedness, EmissionType};
34+
use datafusion::physical_plan::execution_plan::{Boundedness, CardinalityEffect, EmissionType};
3535
use datafusion::physical_plan::metrics::{BaselineMetrics, ExecutionPlanMetricsSet, MetricsSet};
3636
use datafusion::{execution::TaskContext, physical_expr::*, physical_plan::*};
3737

@@ -162,6 +162,18 @@ impl ExecutionPlan for CopyExec {
162162
fn metrics(&self) -> Option<MetricsSet> {
163163
Some(self.metrics.clone_inner())
164164
}
165+
166+
fn maintains_input_order(&self) -> Vec<bool> {
167+
vec![true; self.children().len()]
168+
}
169+
170+
fn supports_limit_pushdown(&self) -> bool {
171+
true
172+
}
173+
174+
fn cardinality_effect(&self) -> CardinalityEffect {
175+
CardinalityEffect::Equal
176+
}
165177
}
166178

167179
struct CopyStream {

0 commit comments

Comments
 (0)