pub struct KCliqueShape { /* private fields */ }Expand description
Shape consumed by the full-variable WCOJ planner.
Implementations§
Source§impl KCliqueShape
impl KCliqueShape
Sourcepub fn complete(variable_count: u8, first_rel_id: RelId) -> Option<Self>
pub fn complete(variable_count: u8, first_rel_id: RelId) -> Option<Self>
Creates a complete K_k binary-edge shape with deterministic relation IDs.
Sourcepub fn from_edges(variable_count: u8, edges: Vec<KCliqueEdge>) -> Option<Self>
pub fn from_edges(variable_count: u8, edges: Vec<KCliqueEdge>) -> Option<Self>
Creates a K-clique-family shape from explicit relation edges.
Used by the production promoter after it has validated the lowered RIR as a complete clique and recovered the actual relation IDs from scan leaves. The edge list must already be in deterministic shape order.
Sourcepub fn cycle4(first_rel_id: RelId) -> Option<Self>
pub fn cycle4(first_rel_id: RelId) -> Option<Self>
Creates the four-variable cycle shape used by the predecessor WCOJ path.
Sourcepub fn variable_count(&self) -> u8
pub fn variable_count(&self) -> u8
Number of variables in the shape.
Sourcepub fn edges(&self) -> &[KCliqueEdge]
pub fn edges(&self) -> &[KCliqueEdge]
Relation edges in canonical shape order.
Trait Implementations§
Source§impl Clone for KCliqueShape
impl Clone for KCliqueShape
Source§fn clone(&self) -> KCliqueShape
fn clone(&self) -> KCliqueShape
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for KCliqueShape
impl Debug for KCliqueShape
Source§impl PartialEq for KCliqueShape
impl PartialEq for KCliqueShape
impl Eq for KCliqueShape
impl StructuralPartialEq for KCliqueShape
Auto Trait Implementations§
impl Freeze for KCliqueShape
impl RefUnwindSafe for KCliqueShape
impl Send for KCliqueShape
impl Sync for KCliqueShape
impl Unpin for KCliqueShape
impl UnsafeUnpin for KCliqueShape
impl UnwindSafe for KCliqueShape
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more