pub struct TableScope {
pub tables: HashMap<String, ResolvedTable>,
/* private fields */
}Expand description
Context built during FROM clause resolution.
Fields§
§tables: HashMap<String, ResolvedTable>Tables by reference name (alias or table name).
Implementations§
Source§impl TableScope
impl TableScope
pub fn new() -> Self
Sourcepub fn add(&mut self, table: ResolvedTable) -> Result<()>
pub fn add(&mut self, table: ResolvedTable) -> Result<()>
Add a resolved table. Returns error if name conflicts.
Sourcepub fn resolve_column(
&self,
table_ref: Option<&str>,
column: &str,
) -> Result<(String, String)>
pub fn resolve_column( &self, table_ref: Option<&str>, column: &str, ) -> Result<(String, String)>
Resolve a column name, optionally qualified with a table reference.
For schemaless collections, any column is accepted (dynamic fields). For typed collections, the column must exist in the schema.
Sourcepub fn single_table(&self) -> Option<&ResolvedTable>
pub fn single_table(&self) -> Option<&ResolvedTable>
Get the single table in scope (for single-table queries).
Sourcepub fn resolve_from(
catalog: &dyn SqlCatalog,
from: &[TableWithJoins],
) -> Result<Self>
pub fn resolve_from( catalog: &dyn SqlCatalog, from: &[TableWithJoins], ) -> Result<Self>
Resolve tables from a FROM clause.
Trait Implementations§
Source§impl Debug for TableScope
impl Debug for TableScope
Source§impl Default for TableScope
impl Default for TableScope
Source§fn default() -> TableScope
fn default() -> TableScope
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TableScope
impl RefUnwindSafe for TableScope
impl Send for TableScope
impl Sync for TableScope
impl Unpin for TableScope
impl UnsafeUnpin for TableScope
impl UnwindSafe for TableScope
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> 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>
Converts
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>
Converts
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.