pub struct DistributedPlan {
pub query_id: QueryId,
pub metadata_version: MetadataVersion,
pub fragments: Vec<PlanFragment>,
pub exchanges: Vec<ExchangeDescriptor>,
}Expand description
A distributed query plan pinned to one control-plane metadata version (spec section 12.10).
Fields§
§query_id: QueryIdThe query execution this plan belongs to.
metadata_version: MetadataVersionThe control-plane metadata version the plan was built against.
fragments: Vec<PlanFragment>All fragments; fragment_id equals the vector index.
exchanges: Vec<ExchangeDescriptor>All exchange edges; exchange_id equals the vector index.
Implementations§
Source§impl DistributedPlan
impl DistributedPlan
Sourcepub fn root_fragment_id(&self) -> Option<FragmentId>
pub fn root_fragment_id(&self) -> Option<FragmentId>
The fragment with no outgoing exchange (the coordinator root).
Sourcepub fn fragment(&self, fragment_id: FragmentId) -> Option<&PlanFragment>
pub fn fragment(&self, fragment_id: FragmentId) -> Option<&PlanFragment>
Looks up a fragment by id.
Sourcepub fn exchanges_from(
&self,
producer: FragmentId,
) -> impl Iterator<Item = &ExchangeDescriptor>
pub fn exchanges_from( &self, producer: FragmentId, ) -> impl Iterator<Item = &ExchangeDescriptor>
Exchange edges out of one fragment.
Sourcepub fn exchanges_into(&self, consumer: FragmentId) -> Vec<&ExchangeDescriptor>
pub fn exchanges_into(&self, consumer: FragmentId) -> Vec<&ExchangeDescriptor>
Exchange edges into one fragment, ordered by producer id.
Trait Implementations§
Source§impl Clone for DistributedPlan
impl Clone for DistributedPlan
Source§fn clone(&self) -> DistributedPlan
fn clone(&self) -> DistributedPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 DistributedPlan
impl Debug for DistributedPlan
Source§impl<'de> Deserialize<'de> for DistributedPlan
impl<'de> Deserialize<'de> for DistributedPlan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for DistributedPlan
impl PartialEq for DistributedPlan
Source§impl Serialize for DistributedPlan
impl Serialize for DistributedPlan
impl StructuralPartialEq for DistributedPlan
Auto Trait Implementations§
impl Freeze for DistributedPlan
impl RefUnwindSafe for DistributedPlan
impl Send for DistributedPlan
impl Sync for DistributedPlan
impl Unpin for DistributedPlan
impl UnsafeUnpin for DistributedPlan
impl UnwindSafe for DistributedPlan
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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