Remove batch splitting system (#475)
* First pass at removing batch splitting * Refactor to separate module loading from request parsing * Consolidate module functionality * Tidy up comments * Use array of modules instead of HashMap * Formatting * Use module hashes when importing modules
This commit is contained in:
parent
5dab8195b4
commit
acab26e5c1
17 changed files with 1425 additions and 1938 deletions
|
|
@ -632,7 +632,7 @@ mod tests {
|
|||
dict,
|
||||
examples::MOCK_VD_SET,
|
||||
frontend::{Operation as FrontendOp, SignedDictBuilder},
|
||||
lang::parse,
|
||||
lang::load_module,
|
||||
};
|
||||
|
||||
#[test]
|
||||
|
|
@ -756,18 +756,17 @@ mod tests {
|
|||
|
||||
// pred_a accepts a Contains statement
|
||||
// pred_b accepts a pred_a statement (Custom statement from pred_a)
|
||||
let parsed = parse(
|
||||
let module = load_module(
|
||||
r#"
|
||||
pred_a(X) = AND(Contains(X, "k", 1))
|
||||
pred_b(X) = AND(pred_a(X))
|
||||
"#,
|
||||
"test",
|
||||
¶ms,
|
||||
&[],
|
||||
vec![],
|
||||
)
|
||||
.expect("parse predicates");
|
||||
let batch = parsed
|
||||
.first_batch()
|
||||
.expect("parse predicates should have a batch");
|
||||
.expect("load module");
|
||||
let batch = &module.batch;
|
||||
|
||||
let mut builder = MultiPodBuilder::new(¶ms, vd_set);
|
||||
|
||||
|
|
@ -1484,20 +1483,19 @@ mod tests {
|
|||
let vd_set = &*MOCK_VD_SET;
|
||||
|
||||
// Chain of predicates: each accepts the output of the previous
|
||||
let parsed = parse(
|
||||
let module = load_module(
|
||||
r#"
|
||||
pred_a(X) = AND(Contains(X, "k", 1))
|
||||
pred_b(X) = AND(pred_a(X))
|
||||
pred_c(X) = AND(pred_b(X))
|
||||
pred_d(X) = AND(pred_c(X))
|
||||
"#,
|
||||
"test",
|
||||
¶ms,
|
||||
&[],
|
||||
vec![],
|
||||
)
|
||||
.expect("parse predicates");
|
||||
let batch = parsed
|
||||
.first_batch()
|
||||
.expect("parse predicates should have a batch");
|
||||
.expect("load module");
|
||||
let batch = &module.batch;
|
||||
|
||||
let mut builder = MultiPodBuilder::new(¶ms, vd_set);
|
||||
|
||||
|
|
@ -1612,7 +1610,7 @@ mod tests {
|
|||
// pred_a takes TWO custom statement arguments (b_out and c_out)
|
||||
// pred_b and pred_c each take a Contains
|
||||
// Note: AND clauses are newline-separated, not comma-separated
|
||||
let parsed = parse(
|
||||
let module = load_module(
|
||||
r#"
|
||||
pred_b(X) = AND(Contains(X, "k", 1))
|
||||
pred_c(X) = AND(Contains(X, "k", 1))
|
||||
|
|
@ -1621,13 +1619,12 @@ mod tests {
|
|||
pred_c(Y)
|
||||
)
|
||||
"#,
|
||||
"test",
|
||||
¶ms,
|
||||
&[],
|
||||
vec![],
|
||||
)
|
||||
.expect("parse predicates");
|
||||
let batch = parsed
|
||||
.first_batch()
|
||||
.expect("parse predicates should have a batch");
|
||||
.expect("load module");
|
||||
let batch = &module.batch;
|
||||
|
||||
let mut builder = MultiPodBuilder::new(¶ms, vd_set);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue