#[allow(missing_docs)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoMapFilterProject {
#[prost(message, repeated, tag = "1")]
pub expressions: ::prost::alloc::vec::Vec<super::scalar::ProtoMirScalarExpr>,
#[prost(message, repeated, tag = "2")]
pub predicates: ::prost::alloc::vec::Vec<proto_map_filter_project::ProtoPredicate>,
#[prost(uint64, repeated, tag = "3")]
pub projection: ::prost::alloc::vec::Vec<u64>,
#[prost(uint64, tag = "4")]
pub input_arity: u64,
}
pub mod proto_map_filter_project {
#[allow(missing_docs)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoPredicate {
#[prost(uint64, tag = "1")]
pub column_to_apply: u64,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<super::super::scalar::ProtoMirScalarExpr>,
}
}
#[allow(missing_docs)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoSafeMfpPlan {
#[prost(message, optional, tag = "1")]
pub mfp: ::core::option::Option<ProtoMapFilterProject>,
}
#[allow(missing_docs)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoMfpPlan {
#[prost(message, optional, tag = "1")]
pub mfp: ::core::option::Option<ProtoSafeMfpPlan>,
#[prost(message, repeated, tag = "2")]
pub lower_bounds: ::prost::alloc::vec::Vec<super::scalar::ProtoMirScalarExpr>,
#[prost(message, repeated, tag = "3")]
pub upper_bounds: ::prost::alloc::vec::Vec<super::scalar::ProtoMirScalarExpr>,
}