pub struct CteBinding {
pub folded: Vec<u8>,
pub name: Vec<u8>,
pub columns: Vec<Vec<u8>>,
pub select: SelectId,
pub recursive: bool,
}Expand description
One common table expression visible to a block.
The definition is kept as an AST id rather than a bound block because two references to the same CTE are two independent scans: each gets its own FROM-term numbers and its own materialisation. Binding once and cloning would give both references the same source ids, and the second scan would then read the first one’s cursors.
Fields§
§folded: Vec<u8>The folded name a FROM term matches against.
name: Vec<u8>The name as written, which the expansion is aliased to.
columns: Vec<Vec<u8>>The explicit column list, when the WITH wrote one.
select: SelectIdThe query the name stands for.
recursive: boolWhether the WITH said RECURSIVE.
Trait Implementations§
Source§impl Clone for CteBinding
impl Clone for CteBinding
Source§impl Debug for CteBinding
impl Debug for CteBinding
impl Eq for CteBinding
Source§impl PartialEq for CteBinding
impl PartialEq for CteBinding
impl StructuralPartialEq for CteBinding
Auto Trait Implementations§
impl Freeze for CteBinding
impl RefUnwindSafe for CteBinding
impl Send for CteBinding
impl Sync for CteBinding
impl Unpin for CteBinding
impl UnsafeUnpin for CteBinding
impl UnwindSafe for CteBinding
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