|
34 | 34 | use std::collections::HashMap; |
35 | 35 | use std::ops::Mul; |
36 | 36 | use std::time::Instant; |
37 | | - |
38 | 37 | use timely::container::{CapacityContainerBuilder, ContainerBuilder}; |
| 38 | +use timely::dataflow::{Scope, ScopeParent, StreamCore}; |
39 | 39 | use timely::dataflow::channels::pact::{Pipeline, Exchange}; |
40 | 40 | use timely::dataflow::channels::pushers::buffer::Session; |
41 | 41 | use timely::dataflow::channels::pushers::{Counter as PushCounter, Tee}; |
42 | 42 | use timely::dataflow::operators::Operator; |
43 | | -use timely::dataflow::{Scope, ScopeParent, StreamCore}; |
44 | 43 | use timely::progress::Antichain; |
45 | 44 | use timely::progress::frontier::AntichainRef; |
46 | | - |
47 | | -use differential_dataflow::consolidation::{consolidate, consolidate_updates}; |
| 45 | +use differential_dataflow::{ExchangeData, Collection, AsCollection, Hashable}; |
48 | 46 | use differential_dataflow::difference::{Monoid, Semigroup}; |
49 | 47 | use differential_dataflow::lattice::Lattice; |
50 | 48 | use differential_dataflow::operators::arrange::Arranged; |
51 | | -use differential_dataflow::trace::cursor::IntoOwned; |
52 | 49 | use differential_dataflow::trace::{Cursor, TraceReader}; |
53 | | -use differential_dataflow::{ExchangeData, Collection, AsCollection, Hashable}; |
| 50 | +use differential_dataflow::consolidation::{consolidate, consolidate_updates}; |
| 51 | +use differential_dataflow::trace::cursor::IntoOwned; |
54 | 52 |
|
55 | 53 | /// A binary equijoin that responds to updates on only its first input. |
56 | 54 | /// |
|
0 commit comments