Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions differential-dataflow/src/columnar/arrangement/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -255,18 +255,12 @@ impl<U: super::layout::ColumnarUpdate> timely::container::ContainerBuilder for T
pub mod batcher {
//! Batcher trait stubs required to plug `UpdatesTyped` into DD's merge batcher.

use columnar::Len;
use timely::progress::frontier::{Antichain, AntichainRef};
use crate::trace::implementations::merge_batcher::container::InternalMerge;

use super::super::layout::ColumnarUpdate as Update;
use super::super::updates::UpdatesTyped;

impl<U: Update> timely::container::SizableContainer for UpdatesTyped<U> {
fn at_capacity(&self) -> bool { self.view().diffs.values.len() >= crate::columnar::LINK_TARGET }
fn ensure_capacity(&mut self, _stash: &mut Option<Self>) { }
}

/// Required by `reduce_abelian`'s bound `Builder::Input: InternalMerge`.
/// Not called at runtime — our batcher uses `TrieMerger` instead.
/// TODO: Relax the bound in DD's reduce to remove this requirement.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ pub mod container {

/// A container that supports the operations needed by the merge batcher:
/// merging sorted chains and extracting updates by time.
pub trait InternalMerge: Accountable + SizableContainer + Default {
pub trait InternalMerge: Accountable + Default {
/// The owned time type, for maintaining antichains.
type TimeOwned;

Expand Down Expand Up @@ -457,7 +457,7 @@ pub mod container {
fn default() -> Self { Self { _marker: PhantomData } }
}

impl<MC> InternalMerger<MC> where MC: InternalMerge {
impl<MC> InternalMerger<MC> where MC: InternalMerge + SizableContainer {
#[inline]
fn empty(&self, stash: &mut Vec<MC>) -> MC {
stash.pop().unwrap_or_else(|| {
Expand Down Expand Up @@ -503,7 +503,7 @@ pub mod container {

impl<MC> Merger for InternalMerger<MC>
where
MC: InternalMerge<TimeOwned: Ord + PartialOrder + Clone + 'static> + 'static,
MC: InternalMerge<TimeOwned: Ord + PartialOrder + Clone + 'static> + SizableContainer + 'static,
{
type Time = MC::TimeOwned;
type Chunk = MC;
Expand Down
Loading