Struct datafusion::physical_plan::values::ValuesExec
source · pub struct ValuesExec { /* private fields */ }
Expand description
Execution plan for values list based relation (produces constant rows)
Implementations§
source§impl ValuesExec
impl ValuesExec
sourcepub fn try_new(
schema: Arc<Schema>,
data: Vec<Vec<Arc<dyn PhysicalExpr>>>
) -> Result<ValuesExec, DataFusionError>
pub fn try_new( schema: Arc<Schema>, data: Vec<Vec<Arc<dyn PhysicalExpr>>> ) -> Result<ValuesExec, DataFusionError>
create a new values exec from data as expr
sourcepub fn try_new_from_batches(
schema: Arc<Schema>,
batches: Vec<RecordBatch>
) -> Result<ValuesExec, DataFusionError>
pub fn try_new_from_batches( schema: Arc<Schema>, batches: Vec<RecordBatch> ) -> Result<ValuesExec, DataFusionError>
Create a new plan using the provided schema and batches.
Errors if any of the batches don’t match the provided schema, or if no batches are provided.
sourcepub fn data(&self) -> Vec<RecordBatch>
pub fn data(&self) -> Vec<RecordBatch>
provides the data
Trait Implementations§
source§impl Debug for ValuesExec
impl Debug for ValuesExec
source§impl DisplayAs for ValuesExec
impl DisplayAs for ValuesExec
source§impl ExecutionPlan for ValuesExec
impl ExecutionPlan for ValuesExec
source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Return a reference to Any that can be used for downcasting
source§fn output_partitioning(&self) -> Partitioning
fn output_partitioning(&self) -> Partitioning
Get the output partitioning of this plan
source§fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>
fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>
Get a list of children
ExecutionPlan
s that act as inputs to this plan.
The returned list will be empty for leaf nodes such as scans, will contain
a single value for unary nodes, or two values for binary nodes (such as
joins).source§fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
If the output of this
ExecutionPlan
within each partition is sorted,
returns Some(keys)
with the description of how it was sorted. Read moresource§fn with_new_children(
self: Arc<ValuesExec>,
_: Vec<Arc<dyn ExecutionPlan>>
) -> Result<Arc<dyn ExecutionPlan>, DataFusionError>
fn with_new_children( self: Arc<ValuesExec>, _: Vec<Arc<dyn ExecutionPlan>> ) -> Result<Arc<dyn ExecutionPlan>, DataFusionError>
Returns a new
ExecutionPlan
where all existing children were replaced
by the children
, oi ordersource§fn execute(
&self,
partition: usize,
_context: Arc<TaskContext>
) -> Result<Pin<Box<dyn RecordBatchStream<Item = Result<RecordBatch, DataFusionError>> + Send>>, DataFusionError>
fn execute( &self, partition: usize, _context: Arc<TaskContext> ) -> Result<Pin<Box<dyn RecordBatchStream<Item = Result<RecordBatch, DataFusionError>> + Send>>, DataFusionError>
source§fn statistics(&self) -> Result<Statistics, DataFusionError>
fn statistics(&self) -> Result<Statistics, DataFusionError>
Returns statistics for this
ExecutionPlan
node. If statistics are not
available, should return Statistics::new_unknown
(the default), not
an error.source§fn unbounded_output(&self, _children: &[bool]) -> Result<bool, DataFusionError>
fn unbounded_output(&self, _children: &[bool]) -> Result<bool, DataFusionError>
Specifies whether this plan generates an infinite stream of records.
If the plan does not support pipelining, but its input(s) are
infinite, returns an error to indicate this.
source§fn required_input_distribution(&self) -> Vec<Distribution>
fn required_input_distribution(&self) -> Vec<Distribution>
Specifies the data distribution requirements for all the
children for this
ExecutionPlan
, By default it’s [Distribution::UnspecifiedDistribution] for each child,source§fn required_input_ordering(&self) -> Vec<Option<Vec<PhysicalSortRequirement>>>
fn required_input_ordering(&self) -> Vec<Option<Vec<PhysicalSortRequirement>>>
Specifies the ordering required for all of the children of this
ExecutionPlan
. Read moresource§fn maintains_input_order(&self) -> Vec<bool>
fn maintains_input_order(&self) -> Vec<bool>
Returns
false
if this ExecutionPlan
’s implementation may reorder
rows within or between partitions. Read moresource§fn benefits_from_input_partitioning(&self) -> Vec<bool>
fn benefits_from_input_partitioning(&self) -> Vec<bool>
Specifies whether the
ExecutionPlan
benefits from increased
parallelization at its input for each child. Read moresource§fn equivalence_properties(&self) -> EquivalenceProperties
fn equivalence_properties(&self) -> EquivalenceProperties
Get the
EquivalenceProperties
within the plansource§fn repartitioned(
&self,
_target_partitions: usize,
_config: &ConfigOptions
) -> Result<Option<Arc<dyn ExecutionPlan>>, DataFusionError>
fn repartitioned( &self, _target_partitions: usize, _config: &ConfigOptions ) -> Result<Option<Arc<dyn ExecutionPlan>>, DataFusionError>
If supported, attempt to increase the partitioning of this
ExecutionPlan
to
produce target_partitions
partitions. Read moresource§fn metrics(&self) -> Option<MetricsSet>
fn metrics(&self) -> Option<MetricsSet>
Return a snapshot of the set of
Metric
s for this
ExecutionPlan
. If no Metric
s are available, return None. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ValuesExec
impl Send for ValuesExec
impl Sync for ValuesExec
impl Unpin for ValuesExec
impl !UnwindSafe for ValuesExec
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more