pub struct Query {
pub name: String,
pub ast: Query,
pub predicates: Vec<String>,
pub vars: Vec<String>,
pub matches: Vec<Vec<Option<MatchVal>>>,
pub types: BTreeMap<String, String>,
pub circumscribed: Vec<bool>,
pub gao: Vec<Vec<usize>>,
}
Expand description
IR Query Representation
All QueryField
values are relative to the ordering given by the GAO
Fields§
§name: String
Predicate name
ast: Query
AST of the predicate, for use in error reporting
predicates: Vec<String>
List of predicates we are joining across
vars: Vec<String>
Map between variable numbers and names
matches: Vec<Vec<Option<MatchVal>>>
Indexed by query, then field, what restrictions are on that coordinate
types: BTreeMap<String, String>
Map between variables and their types
circumscribed: Vec<bool>
Whether a given clause is being circumscribed
gao: Vec<Vec<usize>>
For each predicate, how it should be projected in the ordering
Trait Implementations§
impl Eq for Query
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl Freeze for Query
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnwindSafe for Query
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
Mutably borrows from an owned value. Read more