pub struct Plan {
pub version: Option<Version>,
pub extension_uris: Vec<SimpleExtensionUri>,
pub extensions: Vec<SimpleExtensionDeclaration>,
pub relations: Vec<PlanRel>,
pub advanced_extensions: Option<AdvancedExtension>,
pub expected_type_urls: Vec<String>,
pub parameter_bindings: Vec<DynamicParameterBinding>,
}
Expand description
Describe a set of operations to complete. For compactness sake, identifiers are normalized at the plan level.
Fields§
§version: Option<Version>
Substrait version of the plan. Optional up to 0.17.0, required for later versions.
extension_uris: Vec<SimpleExtensionUri>
a list of yaml specifications this plan may depend on
extensions: Vec<SimpleExtensionDeclaration>
a list of extensions this plan may depend on
relations: Vec<PlanRel>
one or more relation trees that are associated with this plan.
advanced_extensions: Option<AdvancedExtension>
additional extensions associated with this plan.
expected_type_urls: Vec<String>
A list of com.google.Any entities that this plan may use. Can be used to warn if some embedded message types are unknown. Note that this list may include message types that are ignorable (optimizations) or that are unused. In many cases, a consumer may be able to work with a plan even if one or more message types defined here are unknown.
parameter_bindings: Vec<DynamicParameterBinding>
An optional list of bindings for dynamic parameters used in this plan. Each binding maps a parameter_anchor to its corresponding runtime value.
Trait Implementations§
§impl<'de> Deserialize<'de> for Plan
impl<'de> Deserialize<'de> for Plan
§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>,
Source§impl Message for Plan
impl Message for Plan
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.