pub struct FromClauseSubquery {
pub name: String,
pub plan: Box<Plan>,
pub columns: Vec<Column>,
pub result_columns_start_reg: Option<usize>,
pub materialized_cursor_id: Option<usize>,
pub cte: Option<FromClauseSubqueryCteMetadata>,
}Expand description
A derived table from a FROM clause subquery.
Fields§
§name: StringThe name of the derived table; uses the alias if available.
plan: Box<Plan>The query plan for the derived table. Can be either a simple SelectPlan or a compound select (UNION/INTERSECT/EXCEPT).
columns: Vec<Column>The columns of the derived table.
result_columns_start_reg: Option<usize>The start register for the result columns of the derived table; must be set before data is read from it.
materialized_cursor_id: Option<usize>The table cursor backing a materialized EphemeralTable representation of this subquery, if one was emitted.
cte: Option<FromClauseSubqueryCteMetadata>CTE-specific materialization metadata, when this FROM-subquery is a CTE reference rather than an inline derived table.
Implementations§
Source§impl FromClauseSubquery
impl FromClauseSubquery
pub fn cte_id(&self) -> Option<usize>
pub fn materialize_hint(&self) -> bool
Sourcepub fn requires_table_materialization(&self) -> bool
pub fn requires_table_materialization(&self) -> bool
Shared CTE references and explicit MATERIALIZED hints both force a table-backed materialization that can be scanned or probed later.
Sourcepub fn supports_direct_index_materialization(&self) -> bool
pub fn supports_direct_index_materialization(&self) -> bool
Only simple single-reference SELECT subqueries can safely use their synthesized seek index as the storage target directly. Compound subqueries still need table-backed storage so their set-operation semantics are preserved before any later SEARCH shape is chosen.
Trait Implementations§
Source§impl Clone for FromClauseSubquery
impl Clone for FromClauseSubquery
Source§fn clone(&self) -> FromClauseSubquery
fn clone(&self) -> FromClauseSubquery
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FromClauseSubquery
impl Debug for FromClauseSubquery
Auto Trait Implementations§
impl !RefUnwindSafe for FromClauseSubquery
impl !UnwindSafe for FromClauseSubquery
impl Freeze for FromClauseSubquery
impl Send for FromClauseSubquery
impl Sync for FromClauseSubquery
impl Unpin for FromClauseSubquery
impl UnsafeUnpin for FromClauseSubquery
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more