[][src]Enum sqlparser::ast::TableFactor

pub enum TableFactor {
    Table {
        name: ObjectName,
        alias: Option<TableAlias>,
        args: Vec<Expr>,
        with_hints: Vec<Expr>,
    },
    Derived {
        lateral: bool,
        subquery: Box<Query>,
        alias: Option<TableAlias>,
    },
    NestedJoin(Box<TableWithJoins>),
}

A table name or a parenthesized subquery with an optional alias

Variants

Table

Fields of Table

name: ObjectNamealias: Option<TableAlias>args: Vec<Expr>

Arguments of a table-valued function, as supported by Postgres and MSSQL. Note that deprecated MSSQL FROM foo (NOLOCK) syntax will also be parsed as args.

with_hints: Vec<Expr>

MSSQL-specific WITH (...) hints such as NOLOCK.

Derived

Fields of Derived

lateral: boolsubquery: Box<Query>alias: Option<TableAlias>
NestedJoin(Box<TableWithJoins>)

Represents a parenthesized table factor. The SQL spec only allows a join expression ((foo <JOIN> bar [ <JOIN> baz ... ])) to be nested, possibly several times, but the parser also accepts the non-standard nesting of bare tables (table_with_joins.joins.is_empty()), so the name NestedJoin is a bit of misnomer.

Trait Implementations

impl Clone for TableFactor[src]

impl Debug for TableFactor[src]

impl Display for TableFactor[src]

impl Eq for TableFactor[src]

impl Hash for TableFactor[src]

impl PartialEq<TableFactor> for TableFactor[src]

impl StructuralEq for TableFactor[src]

impl StructuralPartialEq for TableFactor[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.