pub struct PartitionPlan {
pub var: String,
pub form: &'static str,
pub keys_query: String,
pub keys_from: &'static str,
pub offset: usize,
pub limit: Option<usize>,
pub dedupe: bool,
}Expand description
How to run a query as chunks split by one variable: see crate::partition_plan.
Fields§
§var: StringThe variable split on, without its ?.
form: &'static str"select" or "construct".
keys_query: StringSELECT DISTINCT ?var …: every value the variable takes in a solution,
and possibly more (a key with no solution makes an empty chunk).
keys_from: &'static strWhere the keys query lists them from: "values", a required VALUES
list on the variable (no read); "pattern", the cheapest required
triple pattern binding it with constants alone (one range scan);
"where", the whole WHERE clause, when neither exists — then listing
them may cost as much as the query.
offset: usizeThe query’s top-level OFFSET and LIMIT. Each chunk drops them; they apply once, to the chunks’ solutions taken in key order.
limit: Option<usize>§dedupe: boolWhether two chunks can yield the same row, so the merged rows need deduplicating: a DISTINCT that does not project the variable, and every CONSTRUCT (a graph is a set of triples).
Trait Implementations§
Source§impl Clone for PartitionPlan
impl Clone for PartitionPlan
Source§fn clone(&self) -> PartitionPlan
fn clone(&self) -> PartitionPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more