pub enum PartitionGranularity {
Day,
Week,
Month,
Quarter,
Year,
}Expand description
Granularity of each partition range for time-based partitioning.
Coarser granularities reduce partition count but increase scan cost per query.
Use PartitionGranularity::next_coarser to step down when the dialect’s
partition limit would be exceeded.
Variants§
Day
One partition per calendar day.
Week
One partition per ISO week (Monday–Sunday).
Month
One partition per calendar month.
Quarter
One partition per calendar quarter.
Year
One partition per calendar year.
Implementations§
Source§impl PartitionGranularity
impl PartitionGranularity
Sourcepub const fn next_coarser(self) -> Option<Self>
pub const fn next_coarser(self) -> Option<Self>
Returns the next coarser granularity (Day → Week → Month →
Quarter → Year), or None when already at Year.
Drives the auto-coarsening loop in the materializer’s select_grain
helper when the requested grain would exceed partition_budget.
Sourcepub const fn approx_days(self) -> u32
pub const fn approx_days(self) -> u32
Approximate number of days per granule. Used for partition-count
arithmetic in select_grain.
Trait Implementations§
Source§impl Clone for PartitionGranularity
impl Clone for PartitionGranularity
impl Copy for PartitionGranularity
Source§impl Debug for PartitionGranularity
impl Debug for PartitionGranularity
Source§impl<'de> Deserialize<'de> for PartitionGranularity
impl<'de> Deserialize<'de> for PartitionGranularity
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
impl Eq for PartitionGranularity
Source§impl PartialEq for PartitionGranularity
impl PartialEq for PartitionGranularity
Source§impl Serialize for PartitionGranularity
impl Serialize for PartitionGranularity
impl StructuralPartialEq for PartitionGranularity
Auto Trait Implementations§
impl Forget for PartitionGranularity
impl Freeze for PartitionGranularity
impl Move for PartitionGranularity
impl RefUnwindSafe for PartitionGranularity
impl Send for PartitionGranularity
impl Sync for PartitionGranularity
impl Unpin for PartitionGranularity
impl UnsafeUnpin for PartitionGranularity
impl UnwindSafe for PartitionGranularity
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
Mutably borrows from an owned value. Read more