pub struct MetadataPartitionSpec {
pub view_metadata: ViewMetadata,
pub schema: Arc<Schema>,
pub insert_range: TimeRange,
pub record_count: i64,
pub data_sql: Arc<String>,
pub default_audience: Option<Arc<str>>,
pub compute_time_bounds: Arc<dyn DataFrameTimeBounds>,
pub sort_order: Option<Vec<String>>,
pub unfiltered_count: Option<i64>,
}Fields§
§view_metadata: ViewMetadata§schema: Arc<Schema>§insert_range: TimeRange§record_count: i64§data_sql: Arc<String>§default_audience: Option<Arc<str>>Bound as $3 when data_sql runs – the deployment’s MICROMEGAS_DEFAULT_AUDIENCE,
which BlocksView’s COALESCE resolves a never-stamped process’s missing
audience to. None for a data_sql that references only $1/$2; BlocksView is the
only view that uses this module, so in practice it is always Some. Note the separate
source_count_query deliberately does not get this bind – it has no $3.
compute_time_bounds: Arc<dyn DataFrameTimeBounds>§sort_order: Option<Vec<String>>The sort guarantee this partition’s rows will carry, per the caller’s data_sql’s
ORDER BY (e.g. Some(["insert_time"]) for BlocksView). Recorded on Partition as-is.
unfiltered_count: Option<i64>The unfiltered row count over the same join and range as source_count_query, read from
that query’s unfiltered column when present – Some only for BlocksView, None for
every other caller of this module. Self::write combines it with record_count to log
how many rows the audience-mismatch predicate excluded; the check lives there rather than
in make_batch_partition_spec so it only fires for partitions actually written, not every
scheduled maintenance pass.
Trait Implementations§
Source§impl Debug for MetadataPartitionSpec
impl Debug for MetadataPartitionSpec
Auto Trait Implementations§
impl !RefUnwindSafe for MetadataPartitionSpec
impl !UnwindSafe for MetadataPartitionSpec
impl Freeze for MetadataPartitionSpec
impl Send for MetadataPartitionSpec
impl Sync for MetadataPartitionSpec
impl Unpin for MetadataPartitionSpec
impl UnsafeUnpin for MetadataPartitionSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].