pub struct WindowRelFunction {
pub function_reference: u32,
pub arguments: Vec<FunctionArgument>,
pub options: Vec<FunctionOption>,
pub output_type: Option<Type>,
pub phase: i32,
pub invocation: i32,
pub lower_bound: Option<Bound>,
pub upper_bound: Option<Bound>,
pub bounds_type: i32,
}Expand description
This message mirrors the WindowFunction message but removes the fields defining the partition,
sorts, and bounds, since those must be consistent across the various functions in this rel. Refer
to the WindowFunction message for a description of these fields.
Fields§
§function_reference: u32References a function_anchor defined in this plan.
arguments: Vec<FunctionArgument>§options: Vec<FunctionOption>§output_type: Option<Type>§phase: i32§invocation: i32§lower_bound: Option<Bound>Defines the lower bound of the window frame.
Optional; defaults to the start of the partition.
See Expression.WindowFunction.Bound.
upper_bound: Option<Bound>Defines the upper bound of the window frame.
Optional; defaults to the end of the partition.
See Expression.WindowFunction.Bound.
bounds_type: i32Defines how this function’s window bounds are interpreted. Must be ROWS or RANGE when either bound is CurrentRow, Preceding, or Following.
For RANGE with a Preceding or Following bound, sorts on the enclosing
ConsistentPartitionWindowRel must contain exactly one ordering expression
and must not use SORT_DIRECTION_CLUSTERED or a custom comparison function.
Implementations§
Source§impl WindowRelFunction
impl WindowRelFunction
Sourcepub fn phase(&self) -> AggregationPhase
pub fn phase(&self) -> AggregationPhase
Returns the enum value of phase, or the default if the field is set to an invalid enum value.
Sourcepub fn set_phase(&mut self, value: AggregationPhase)
pub fn set_phase(&mut self, value: AggregationPhase)
Sets phase to the provided enum value.
Sourcepub fn invocation(&self) -> AggregationInvocation
pub fn invocation(&self) -> AggregationInvocation
Returns the enum value of invocation, or the default if the field is set to an invalid enum value.
Sourcepub fn set_invocation(&mut self, value: AggregationInvocation)
pub fn set_invocation(&mut self, value: AggregationInvocation)
Sets invocation to the provided enum value.
Sourcepub fn bounds_type(&self) -> BoundsType
pub fn bounds_type(&self) -> BoundsType
Returns the enum value of bounds_type, or the default if the field is set to an invalid enum value.
Sourcepub fn set_bounds_type(&mut self, value: BoundsType)
pub fn set_bounds_type(&mut self, value: BoundsType)
Sets bounds_type to the provided enum value.
Trait Implementations§
Source§impl Clone for WindowRelFunction
impl Clone for WindowRelFunction
Source§fn clone(&self) -> WindowRelFunction
fn clone(&self) -> WindowRelFunction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WindowRelFunction
impl Debug for WindowRelFunction
Source§impl Default for WindowRelFunction
impl Default for WindowRelFunction
Source§fn default() -> WindowRelFunction
fn default() -> WindowRelFunction
Source§impl<'de> Deserialize<'de> for WindowRelFunction
impl<'de> Deserialize<'de> for WindowRelFunction
Source§fn deserialize<D>(
deserializer: D,
) -> Result<WindowRelFunction, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<WindowRelFunction, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Message for WindowRelFunction
impl Message for WindowRelFunction
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.Source§impl Name for WindowRelFunction
impl Name for WindowRelFunction
Source§const NAME: &'static str = "WindowRelFunction"
const NAME: &'static str = "WindowRelFunction"
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§const PACKAGE: &'static str = "substrait"
const PACKAGE: &'static str = "substrait"
., e.g. google.protobuf.Source§fn full_name() -> String
fn full_name() -> String
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.