Enum ProjectName

Source
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 t

and

select t.* from t join s ...

Variants§

§

None(RelExpr)

§

Some(RelExpr, Box<str>)

Implementations§

Source§

impl ProjectName

Source

pub fn unwrap(self) -> RelExpr

Unwrap the outer projection, returning the inner expression

Source

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.

Source

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.

Source

pub fn return_table_id(&self) -> Option<TableId>

The TableId of the returned rows. Note this expression returns rows from a relvar. Hence it this method should never return None.

Source

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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ProjectName

Source§

fn eq(&self, other: &ProjectName) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ProjectName

Source§

impl StructuralPartialEq for ProjectName

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.