Skip to content

Commit 2e760a7

Browse files
committed
make leapjoin return a Relation
1 parent 892ee71 commit 2e760a7

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ impl<Tuple: Ord> Variable<Tuple> {
398398
leapers: &mut [&mut dyn Leaper<'a, SourceTuple, Val>],
399399
logic: impl FnMut(&SourceTuple, &Val) -> Tuple,
400400
) {
401-
treefrog::leapjoin_into(source, leapers, self, logic)
401+
self.insert(treefrog::leapjoin(source, leapers, logic));
402402
}
403403
}
404404

src/treefrog.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
use super::{Relation, Variable};
44

55
/// Performs treefrog leapjoin using a list of leapers.
6-
pub fn leapjoin_into<'a, Tuple: Ord, Val: Ord + 'a, Result: Ord>(
6+
pub(crate) fn leapjoin<'a, Tuple: Ord, Val: Ord + 'a, Result: Ord>(
77
source: &Variable<Tuple>,
88
leapers: &mut [&mut dyn Leaper<'a, Tuple, Val>],
9-
output: &Variable<Result>,
109
mut logic: impl FnMut(&Tuple, &Val) -> Result,
11-
) {
10+
) -> Relation<Result> {
1211
let mut result = Vec::new(); // temp output storage.
1312
let mut values = Vec::new(); // temp value storage.
1413

@@ -46,7 +45,7 @@ pub fn leapjoin_into<'a, Tuple: Ord, Val: Ord + 'a, Result: Ord>(
4645
}
4746
}
4847

49-
output.insert(Relation::from_vec(result));
48+
Relation::from_vec(result)
5049
}
5150

5251
/// Methods to support treefrog leapjoin.

0 commit comments

Comments
 (0)