Builds dynamic functions for pattern evaluation

Allows to avoid the big match each time a pattern is evaluated
pull/171/head
Tpt 3 years ago
parent bb04f1383b
commit 8c5b67904d
  1. 448
      lib/src/sparql/eval.rs
  2. 2
      lib/src/sparql/update.rs

File diff suppressed because it is too large Load Diff

@ -124,7 +124,7 @@ impl<'a> SimpleUpdateEvaluator<'a> {
self.options.query_options.service_handler.clone(), self.options.query_options.service_handler.clone(),
); );
let mut bnodes = HashMap::new(); let mut bnodes = HashMap::new();
for tuple in evaluator.eval_plan(&plan, EncodedTuple::with_capacity(variables.len())) { for tuple in evaluator.plan_evaluator(&plan)(EncodedTuple::with_capacity(variables.len())) {
let tuple = tuple?; let tuple = tuple?;
for quad in delete { for quad in delete {
if let Some(quad) = if let Some(quad) =

Loading…
Cancel
Save