Skip to content

Commit 7a65acb

Browse files
committed
pipelined execution
Signed-off-by: Nicholas Gates <[email protected]>
1 parent 54ae1e4 commit 7a65acb

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

vortex-array/src/array/operator.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use vortex_vector::{Vector, VectorOps, vector_matches_dtype};
99

1010
use crate::execution::{BatchKernelRef, BindCtx, DummyExecutionCtx, ExecutionCtx};
1111
use crate::pipeline::source_driver::PipelineSourceDriver;
12-
use crate::vtable::{OperatorVTable, VTable};
12+
use crate::vtable::{OperatorVTable, PipelineNode, VTable};
1313
use crate::{Array, ArrayAdapter, ArrayRef};
1414

1515
/// Array functions as provided by the `OperatorVTable`.
@@ -63,11 +63,12 @@ impl ArrayOperator for Arc<dyn Array> {
6363

6464
impl<V: VTable> ArrayOperator for ArrayAdapter<V> {
6565
fn execute_batch(&self, selection: &Mask, ctx: &mut dyn ExecutionCtx) -> VortexResult<Vector> {
66-
// Check if the array is a pipeline source, and if so use the single-node driver for now.
67-
if let Some(pipeline_source) =
68-
<V::OperatorVTable as OperatorVTable<V>>::as_pipelined_source(&self.0)
66+
// Check if the array is a pipeline node
67+
if let Some(pipeline_node) =
68+
<V::OperatorVTable as OperatorVTable<V>>::pipeline_node(&self.0)
69+
&& let PipelineNode::Source(source) = pipeline_node
6970
{
70-
return PipelineSourceDriver::new(pipeline_source).execute(selection);
71+
return PipelineSourceDriver::new(source).execute(selection);
7172
}
7273

7374
let vector =

0 commit comments

Comments
 (0)