Part 1: Allow to clone useful query structures.

This commit is contained in:
Nick Alexander 2018-06-28 12:21:41 -07:00
parent 2ab481f83e
commit e362ca6213

View file

@ -545,19 +545,19 @@ impl std::fmt::Display for PullAttributeSpec {
} }
#[derive(Debug, Eq, PartialEq)] #[derive(Clone, Debug, Eq, PartialEq)]
pub struct Pull { pub struct Pull {
pub var: Variable, pub var: Variable,
pub patterns: Vec<PullAttributeSpec>, pub patterns: Vec<PullAttributeSpec>,
} }
#[derive(Debug, Eq, PartialEq)] #[derive(Clone, Debug, Eq, PartialEq)]
pub struct Aggregate { pub struct Aggregate {
pub func: QueryFunction, pub func: QueryFunction,
pub args: Vec<FnArg>, pub args: Vec<FnArg>,
} }
#[derive(Debug, Eq, PartialEq)] #[derive(Clone, Debug, Eq, PartialEq)]
pub enum Element { pub enum Element {
Variable(Variable), Variable(Variable),
Aggregate(Aggregate), Aggregate(Aggregate),
@ -650,7 +650,7 @@ pub enum Limit {
/// # } /// # }
/// ``` /// ```
/// ///
#[derive(Debug, Eq, PartialEq)] #[derive(Clone, Debug, Eq, PartialEq)]
pub enum FindSpec { pub enum FindSpec {
/// Returns an array of arrays, represented as a single array with length a multiple of width. /// Returns an array of arrays, represented as a single array with length a multiple of width.
FindRel(Vec<Element>), FindRel(Vec<Element>),