#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoReducePlan {
#[prost(oneof = "proto_reduce_plan::Kind", tags = "1, 3, 4, 5, 6")]
pub kind: ::core::option::Option<proto_reduce_plan::Kind>,
}
pub mod proto_reduce_plan {
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Distinct(()),
#[prost(message, tag = "3")]
Accumulable(super::ProtoAccumulablePlan),
#[prost(message, tag = "4")]
Hierarchical(super::ProtoHierarchicalPlan),
#[prost(message, tag = "5")]
Basic(super::ProtoBasicPlan),
#[prost(message, tag = "6")]
Collation(super::ProtoCollationPlan),
}
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoAccumulablePlan {
#[prost(message, repeated, tag = "1")]
pub full_aggrs: ::prost::alloc::vec::Vec<::mz_expr::ProtoAggregateExpr>,
#[prost(message, repeated, tag = "2")]
pub simple_aggrs: ::prost::alloc::vec::Vec<proto_accumulable_plan::ProtoAggr>,
#[prost(message, repeated, tag = "3")]
pub distinct_aggrs: ::prost::alloc::vec::Vec<proto_accumulable_plan::ProtoAggr>,
}
pub mod proto_accumulable_plan {
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoAggr {
#[prost(uint64, tag = "1")]
pub index_agg: u64,
#[prost(uint64, tag = "2")]
pub index_inp: u64,
#[prost(message, optional, tag = "3")]
pub expr: ::core::option::Option<::mz_expr::ProtoAggregateExpr>,
}
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoHierarchicalPlan {
#[prost(oneof = "proto_hierarchical_plan::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<proto_hierarchical_plan::Kind>,
}
pub mod proto_hierarchical_plan {
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Monotonic(super::ProtoMonotonicPlan),
#[prost(message, tag = "2")]
Bucketed(super::ProtoBucketedPlan),
}
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoMonotonicPlan {
#[prost(message, repeated, tag = "1")]
pub aggr_funcs: ::prost::alloc::vec::Vec<::mz_expr::ProtoAggregateFunc>,
#[prost(uint64, repeated, tag = "2")]
pub skips: ::prost::alloc::vec::Vec<u64>,
#[prost(bool, tag = "3")]
pub must_consolidate: bool,
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoBucketedPlan {
#[prost(message, repeated, tag = "1")]
pub aggr_funcs: ::prost::alloc::vec::Vec<::mz_expr::ProtoAggregateFunc>,
#[prost(uint64, repeated, tag = "2")]
pub skips: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, repeated, tag = "3")]
pub buckets: ::prost::alloc::vec::Vec<u64>,
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoBasicPlan {
#[prost(oneof = "proto_basic_plan::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<proto_basic_plan::Kind>,
}
pub mod proto_basic_plan {
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoSingleBasicPlan {
#[prost(uint64, tag = "1")]
pub index: u64,
#[prost(message, optional, tag = "2")]
pub expr: ::core::option::Option<::mz_expr::ProtoAggregateExpr>,
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoMultipleBasicPlan {
#[prost(message, repeated, tag = "1")]
pub aggrs: ::prost::alloc::vec::Vec<ProtoSingleBasicPlan>,
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Single(ProtoSingleBasicPlan),
#[prost(message, tag = "2")]
Multiple(ProtoMultipleBasicPlan),
}
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoCollationPlan {
#[prost(message, optional, tag = "1")]
pub accumulable: ::core::option::Option<ProtoAccumulablePlan>,
#[prost(message, optional, tag = "2")]
pub hierarchical: ::core::option::Option<ProtoHierarchicalPlan>,
#[prost(message, optional, tag = "3")]
pub basic: ::core::option::Option<ProtoBasicPlan>,
#[prost(message, repeated, tag = "4")]
pub aggregate_types: ::prost::alloc::vec::Vec<ProtoReductionType>,
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ProtoReductionType {
#[prost(oneof = "proto_reduction_type::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<proto_reduction_type::Kind>,
}
pub mod proto_reduction_type {
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Accumulable(()),
#[prost(message, tag = "2")]
Hierarchical(()),
#[prost(message, tag = "3")]
Basic(()),
}
}
#[allow(missing_docs)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoKeyValPlan {
#[prost(message, optional, tag = "1")]
pub key_plan: ::core::option::Option<::mz_expr::ProtoSafeMfpPlan>,
#[prost(message, optional, tag = "2")]
pub val_plan: ::core::option::Option<::mz_expr::ProtoSafeMfpPlan>,
}