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§impl Debug for PartitionPlan
impl Debug for PartitionPlan
impl Eq for PartitionPlan
Source§impl PartialEq for PartitionPlan
impl PartialEq for PartitionPlan
Source§impl Serialize for PartitionPlan
impl Serialize for PartitionPlan
impl StructuralPartialEq for PartitionPlan
Auto Trait Implementations§
impl Freeze for PartitionPlan
impl RefUnwindSafe for PartitionPlan
impl Send for PartitionPlan
impl Sync for PartitionPlan
impl Unpin for PartitionPlan
impl UnsafeUnpin for PartitionPlan
impl UnwindSafe for PartitionPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more