pub struct PlanNode {
pub id: PlanNodeId,
pub kind: PlanOperator,
pub inputs: Vec<PlanInput>,
pub outputs: Vec<PlanNodeId>,
pub schema: Vec<PlanField>,
pub predicates: Vec<PlanExpression>,
pub projections: Vec<PlanExpression>,
pub cost: Option<f64>,
pub cardinality: Option<u64>,
pub chosen_index: Option<String>,
pub metadata: PlanNodeMetadata,
}Expand description
Planner node with annotations used to describe how operators compose.
Fields§
§id: PlanNodeId§kind: PlanOperator§inputs: Vec<PlanInput>§outputs: Vec<PlanNodeId>§schema: Vec<PlanField>§predicates: Vec<PlanExpression>§projections: Vec<PlanExpression>§cost: Option<f64>§cardinality: Option<u64>§chosen_index: Option<String>§metadata: PlanNodeMetadataImplementations§
Source§impl PlanNode
impl PlanNode
pub fn new(id: PlanNodeId, kind: PlanOperator) -> PlanNode
pub fn add_field(&mut self, field: PlanField)
pub fn add_predicate(&mut self, expr: PlanExpression)
pub fn add_projection(&mut self, expr: PlanExpression)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PlanNode
impl<'de> Deserialize<'de> for PlanNode
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PlanNode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PlanNode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for PlanNode
impl Serialize for PlanNode
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for PlanNode
Auto Trait Implementations§
impl Freeze for PlanNode
impl RefUnwindSafe for PlanNode
impl Send for PlanNode
impl Sync for PlanNode
impl Unpin for PlanNode
impl UnwindSafe for PlanNode
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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more