Struct datafusion_expr::execution_props::ExecutionProps
source · pub struct ExecutionProps {
pub query_execution_start_time: DateTime<Utc>,
pub alias_generator: Arc<AliasGenerator>,
pub var_providers: Option<HashMap<VarType, Arc<dyn VarProvider + Send + Sync>>>,
}
Expand description
Holds per-query execution properties and data (such as statement starting timestamps).
An ExecutionProps
is created each time a LogicalPlan
is
prepared for execution (optimized). If the same plan is optimized
multiple times, a new ExecutionProps
is created each time.
It is important that this structure be cheap to create as it is done so during predicate pruning and expression simplification
Fields§
§query_execution_start_time: DateTime<Utc>
§alias_generator: Arc<AliasGenerator>
Alias generator used by subquery optimizer rules
var_providers: Option<HashMap<VarType, Arc<dyn VarProvider + Send + Sync>>>
Providers for scalar variables
Implementations§
source§impl ExecutionProps
impl ExecutionProps
sourcepub fn with_query_execution_start_time(
self,
query_execution_start_time: DateTime<Utc>,
) -> Self
pub fn with_query_execution_start_time( self, query_execution_start_time: DateTime<Utc>, ) -> Self
Set the query execution start time to use
sourcepub fn start_execution(&mut self) -> &Self
pub fn start_execution(&mut self) -> &Self
Marks the execution of query started timestamp. This also instantiates a new alias generator.
sourcepub fn add_var_provider(
&mut self,
var_type: VarType,
provider: Arc<dyn VarProvider + Send + Sync>,
) -> Option<Arc<dyn VarProvider + Send + Sync>>
pub fn add_var_provider( &mut self, var_type: VarType, provider: Arc<dyn VarProvider + Send + Sync>, ) -> Option<Arc<dyn VarProvider + Send + Sync>>
Registers a variable provider, returning the existing provider, if any
sourcepub fn get_var_provider(
&self,
var_type: VarType,
) -> Option<Arc<dyn VarProvider + Send + Sync>>
pub fn get_var_provider( &self, var_type: VarType, ) -> Option<Arc<dyn VarProvider + Send + Sync>>
Returns the provider for the var_type
, if any
Trait Implementations§
source§impl Clone for ExecutionProps
impl Clone for ExecutionProps
source§fn clone(&self) -> ExecutionProps
fn clone(&self) -> ExecutionProps
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ExecutionProps
impl Debug for ExecutionProps
Auto Trait Implementations§
impl Freeze for ExecutionProps
impl !RefUnwindSafe for ExecutionProps
impl Send for ExecutionProps
impl Sync for ExecutionProps
impl Unpin for ExecutionProps
impl !UnwindSafe for ExecutionProps
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)