pub struct NodeByPropertyRangeScan {
pub input: Option<PlanNodeId>,
pub var: VarId,
pub labels: Vec<Vec<String>>,
pub key: String,
pub lo: Option<ResolvedExpr>,
pub lo_inclusive: bool,
pub hi: Option<ResolvedExpr>,
pub hi_inclusive: bool,
pub order: Option<SortDirection>,
}Expand description
Range-bounded property scan rewritten from Filter(NodeScan, var.prop CMP value)
patterns. lo == None means -∞, hi == None means +∞. Inclusivity flags
distinguish > from >= and < from <=. Both bounds combined cover
BETWEEN-style queries (a < x AND x <= b).
Fields§
§input: Option<PlanNodeId>§var: VarId§labels: Vec<Vec<String>>§key: String§lo: Option<ResolvedExpr>§lo_inclusive: bool§hi: Option<ResolvedExpr>§hi_inclusive: bool§order: Option<SortDirection>Set when the optimizer replaced an ORDER BY var.key above this
scan: rows must come out in that order (from the index when it can
supply it, otherwise sorted by the operator itself).
Trait Implementations§
Source§impl Clone for NodeByPropertyRangeScan
impl Clone for NodeByPropertyRangeScan
Auto Trait Implementations§
impl Freeze for NodeByPropertyRangeScan
impl RefUnwindSafe for NodeByPropertyRangeScan
impl Send for NodeByPropertyRangeScan
impl Sync for NodeByPropertyRangeScan
impl Unpin for NodeByPropertyRangeScan
impl UnsafeUnpin for NodeByPropertyRangeScan
impl UnwindSafe for NodeByPropertyRangeScan
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