pub enum ProjectName {
None(RelExpr),
Some(RelExpr, Box<str>),
}Expand description
A projection is the root of any relational expression. This type represents a projection that returns relvars.
For example:
select * from tand
select t.* from t join s ...Variants§
Implementations§
Source§impl ProjectName
impl ProjectName
Sourcepub fn return_name(&self) -> Option<&str>
pub fn return_name(&self) -> Option<&str>
What is the name of the return table? This is either the table name itself or its alias.
Sourcepub fn return_table(&self) -> Option<&TableSchema>
pub fn return_table(&self) -> Option<&TableSchema>
The TableSchema of the returned rows. Note this expression returns rows from a relvar. Hence it this method should never return None.
Sourcepub fn return_table_id(&self) -> Option<TableId>
pub fn return_table_id(&self) -> Option<TableId>
Sourcepub fn for_each_return_field(&self, f: impl FnMut(&str, &AlgebraicType))
pub fn for_each_return_field(&self, f: impl FnMut(&str, &AlgebraicType))
Iterate over the returned column names and types
Trait Implementations§
Source§impl Debug for ProjectName
impl Debug for ProjectName
Source§impl PartialEq for ProjectName
impl PartialEq for ProjectName
impl Eq for ProjectName
impl StructuralPartialEq for ProjectName
Auto Trait Implementations§
impl Freeze for ProjectName
impl RefUnwindSafe for ProjectName
impl Send for ProjectName
impl Sync for ProjectName
impl Unpin for ProjectName
impl UnwindSafe for ProjectName
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 more