Enum mz_compute_client::plan::top_k::TopKPlan
source · pub enum TopKPlan {
MonotonicTop1(MonotonicTop1Plan),
MonotonicTopK(MonotonicTopKPlan),
Basic(BasicTopKPlan),
}
Expand description
A plan encapsulating different variants to compute a TopK operation.
Variants§
MonotonicTop1(MonotonicTop1Plan)
A plan for Top1 for monotonic inputs.
MonotonicTopK(MonotonicTopKPlan)
A plan for TopK for monotonic inputs.
Basic(BasicTopKPlan)
A plan for generic TopK operations.
Implementations§
source§impl TopKPlan
impl TopKPlan
sourcepub(crate) fn create_from(
group_key: Vec<usize>,
order_key: Vec<ColumnOrder>,
offset: usize,
limit: Option<usize>,
arity: usize,
monotonic: bool
) -> Self
pub(crate) fn create_from(
group_key: Vec<usize>,
order_key: Vec<ColumnOrder>,
offset: usize,
limit: Option<usize>,
arity: usize,
monotonic: bool
) -> Self
Create a plan from the information provided. Here we decide on which of the TopK plan variants to select.
group_key
- The columns serving as the group key.order_key
- The columns specifying an ordering withing each group.offset
- The number of rows to skip at the top. Provide 0 to reveal all rows.limit
- An optional limit of how many rows should be revealed.arity
- The number of columns in the input and output.monotonic
-true
if the input is monotonic.
Trait Implementations§
source§impl Arbitrary for TopKPlan
impl Arbitrary for TopKPlan
§type Parameters = (<MonotonicTop1Plan as Arbitrary>::Parameters, <MonotonicTopKPlan as Arbitrary>::Parameters, <BasicTopKPlan as Arbitrary>::Parameters)
type Parameters = (<MonotonicTop1Plan as Arbitrary>::Parameters, <MonotonicTopKPlan as Arbitrary>::Parameters, <BasicTopKPlan as Arbitrary>::Parameters)
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Union<BoxedStrategy<TopKPlan>>
type Strategy = Union<BoxedStrategy<TopKPlan>>
The type of
Strategy
used to generate values of type Self
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl<'de> Deserialize<'de> for TopKPlan
impl<'de> Deserialize<'de> for TopKPlan
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<TopKPlan> for TopKPlan
impl PartialEq<TopKPlan> for TopKPlan
source§impl RustType<ProtoTopKPlan> for TopKPlan
impl RustType<ProtoTopKPlan> for TopKPlan
source§fn into_proto(&self) -> ProtoTopKPlan
fn into_proto(&self) -> ProtoTopKPlan
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoTopKPlan) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoTopKPlan) -> Result<Self, TryFromProtoError>
impl Eq for TopKPlan
impl StructuralEq for TopKPlan
impl StructuralPartialEq for TopKPlan
Auto Trait Implementations§
impl RefUnwindSafe for TopKPlan
impl Send for TopKPlan
impl Sync for TopKPlan
impl Unpin for TopKPlan
impl UnwindSafe for TopKPlan
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.