LogicalPlan

Companion:
class
class Object
trait Matchable
class Any

Type members

Classlikes

case class AddColumn(table: QName, column: ColumnDef) extends DDL
case class Aggregate(child: Relation, selectItems: Seq[Attribute], groupingKeys: Seq[GroupingKey], having: Option[Expression]) extends UnaryRelation with Selection
case class AliasedRelation(child: Relation, alias: Identifier, columnNames: Option[Seq[String]]) extends UnaryRelation
case class CreateSchema(schema: QName, ifNotExists: Boolean, properties: Option[Seq[SchemaProperty]]) extends DDL
case class CreateTable(table: QName, ifNotExists: Boolean, tableElems: Seq[TableElement]) extends DDL
case class CreateTableAs(table: QName, ifNotEotExists: Boolean, columnAliases: Option[Seq[Identifier]], query: Relation) extends DDL with Update with UnaryRelation
case class CreateView(viewName: QName, replace: Boolean, query: Relation) extends DDL
case object CrossJoin extends JoinType
sealed trait DDL extends LogicalPlan with LeafPlan with SQLSig
case class Delete(table: QName, where: Option[Expression]) extends Update with LeafPlan
case class Distinct(child: Relation) extends UnaryRelation
case class DropColumn(table: QName, column: Identifier) extends DDL
case class DropSchema(schema: QName, ifExists: Boolean, cascade: Boolean) extends DDL
case class DropTable(table: QName, ifExists: Boolean) extends DDL
case class DropView(viewName: QName, ifExists: Boolean) extends DDL
case object EmptyRelation extends Relation with LeafPlan
case class Except(left: Relation, right: Relation) extends SetOperation
case class Filter(child: Relation, filterExpr: Expression) extends UnaryRelation
case object FullOuterJoin extends JoinType
case object ImplicitJoin extends JoinType
case object InnerJoin extends JoinType
case class InsertInto(table: QName, columnAliases: Option[Seq[Identifier]], query: Relation) extends Update with UnaryRelation
case class Intersect(relations: Seq[Relation]) extends SetOperation
case class Join(joinType: JoinType, left: Relation, right: Relation, cond: JoinCriteria) extends Relation
sealed abstract class JoinType(val symbol: String)
case class Lateral(query: Relation) extends UnaryRelation
case class LateralView(child: Relation, exprs: Seq[Expression], tableAlias: Identifier, columnAliases: Seq[Identifier]) extends UnaryRelation
case object LeftOuterJoin extends JoinType
case class Limit(child: Relation, limit: LongLiteral) extends UnaryRelation
case class ParenthesizedRelation(child: Relation) extends UnaryRelation
case class Project(child: Relation, selectItems: Seq[Attribute]) extends UnaryRelation with Selection
case class Query(withQuery: With, body: Relation) extends Relation
case class RawSQL(sql: String) extends Relation with LeafPlan
trait Relation extends LogicalPlan with SQLSig
case class RenameColumn(table: QName, column: Identifier, renameTo: Identifier) extends DDL
case class RenameSchema(schema: QName, renameTo: Identifier) extends DDL
case class RenameTable(table: QName, renameTo: QName) extends DDL
case object RightOuterJoin extends JoinType
sealed trait Selection extends UnaryRelation
sealed trait SetOperation extends Relation
case class Sort(child: Relation, orderBy: Seq[SortItem]) extends UnaryRelation
case class TableRef(name: QName) extends Relation with LeafPlan
sealed trait UnaryRelation extends Relation with UnaryPlan
case class Union(relations: Seq[Relation]) extends SetOperation
case class Unnest(columns: Seq[Expression], withOrdinality: Boolean) extends Relation
trait Update extends LogicalPlan with SQLSig

A base trait for all update operations (e.g., add/delete the table contents).

A base trait for all update operations (e.g., add/delete the table contents).

case class Values(rows: Seq[Expression]) extends Relation with LeafPlan
case class With(recursive: Boolean, queries: Seq[WithQuery]) extends LogicalPlan
case class WithQuery(name: Identifier, query: Relation, columnNames: Option[Seq[Identifier]]) extends LogicalPlan with UnaryPlan