pub struct CompactionPlanner { /* private fields */ }Implementations§
Source§impl CompactionPlanner
impl CompactionPlanner
pub fn new(config: CompactionConfig) -> Self
Sourcepub fn plan(&self, files: &[DataFileEntry]) -> Vec<DataFileEntry>
pub fn plan(&self, files: &[DataFileEntry]) -> Vec<DataFileEntry>
Select files to compact.
Picks files smaller than target_file_size_bytes, sorts them smallest-first
(cheapest to read), and caps the selection at max_files_per_pass. This
tiered approach prevents a single pass from compacting the entire table into
memory when thousands of small files exist.
Auto Trait Implementations§
impl Freeze for CompactionPlanner
impl RefUnwindSafe for CompactionPlanner
impl Send for CompactionPlanner
impl Sync for CompactionPlanner
impl Unpin for CompactionPlanner
impl UnsafeUnpin for CompactionPlanner
impl UnwindSafe for CompactionPlanner
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> 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>
Converts
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>
Converts
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