Expression

object Expression
Companion:
class
class Object
trait Matchable
class Any

Type members

Classlikes

case object Add extends BinaryExprType
case object All extends SetQuantifier
case class AllColumns(prefix: Option[QName]) extends Attribute
case class And(left: Expression, right: Expression) extends ConditionalExpression with BinaryExpression
sealed trait ArithmeticExpression extends Expression
case class ArrayConstructor(values: Seq[Expression]) extends Expression
case object Ascending extends SortOrdering
case class BackQuotedIdentifier(value: String) extends Identifier
sealed abstract class BinaryExprType(val symbol: String)
case class BinaryLiteral(binary: String) extends Literal with LeafExpression
sealed trait BooleanLiteral extends Literal
case class CaseExpr(operand: Option[Expression], whenClauses: Seq[WhenClause], defaultValue: Option[Expression]) extends Expression
case class Cast(expr: Expression, tpe: String, tryCast: Boolean) extends UnaryExpression
case class CharLiteral(value: String) extends Literal with LeafExpression
case class ColumnDef(columnName: Identifier, tpe: ColumnType) extends TableElement with UnaryExpression
case class ColumnDefLike(tableName: QName, includeProperties: Boolean) extends TableElement with UnaryExpression
case class ColumnType(tpe: String) extends LeafExpression
sealed trait ConditionalExpression extends Expression
case class CurrentDate(precision: Option[Int]) extends CurrentTimeBase
case class CurrentLocalTime(precision: Option[Int]) extends CurrentTimeBase
case class CurrentLocalTimeStamp(precision: Option[Int]) extends CurrentTimeBase
case object CurrentRow extends FrameBound
case class CurrentTime(precision: Option[Int]) extends CurrentTimeBase
sealed abstract class CurrentTimeBase(name: String, precision: Option[Int]) extends LeafExpression
case class CurrentTimestamp(precision: Option[Int]) extends CurrentTimeBase
case object Day extends IntervalField
case class DecimalLiteral(value: String) extends Literal with LeafExpression
case object Descending extends SortOrdering
case class DigitId(value: String) extends Identifier
case object DistinctSet extends SetQuantifier
case object Divide extends BinaryExprType
case class DoubleLiteral(value: Double) extends Literal with LeafExpression
case class Eq(left: Expression, right: Expression) extends ConditionalExpression with BinaryExpression
case class Exists(child: Expression) extends Expression with UnaryExpression
case object FalseLiteral extends BooleanLiteral with LeafExpression
case class Following(n: Long) extends FrameBound
sealed trait FrameBound
sealed trait FrameType
case class FunctionCall(name: String, args: Seq[Expression], isDistinct: Boolean, filter: Option[Expression], window: Option[Window]) extends Expression
case class GenericLiteral(tpe: String, value: String) extends Literal with LeafExpression
case class GroupingKey(child: Expression) extends UnaryExpression
case object Hour extends IntervalField
sealed trait Identifier extends LeafExpression
case class IfExpr(cond: ConditionalExpression, onTrue: Expression, onFalse: Expression) extends Expression
case class In(a: Expression, list: Seq[Expression]) extends ConditionalExpression
sealed trait IntervalField extends LeafExpression
case class IntervalLiteral(value: String, sign: Sign, startField: IntervalField, end: Option[IntervalField]) extends Literal
case class IsNull(child: Expression) extends ConditionalExpression with UnaryExpression
sealed trait JoinCriteria extends Expression
case class JoinOn(expr: Expression) extends JoinCriteria with UnaryExpression
case class JoinUsing(columns: Seq[Identifier]) extends JoinCriteria
case class LambdaExpr(body: Expression, args: Seq[String]) extends Expression with UnaryExpression
case class Like(left: Expression, right: Expression) extends ConditionalExpression with BinaryExpression
sealed trait Literal extends Expression
case class LongLiteral(value: Long) extends Literal with LeafExpression
case object Minute extends IntervalField
case object Modulus extends BinaryExprType
case object Month extends IntervalField
case object Multiply extends BinaryExprType
case object NaturalJoin extends JoinCriteria with LeafExpression
case object Negative extends Sign
case object NoOp extends ConditionalExpression with LeafExpression
case class Not(child: Expression) extends ConditionalExpression with UnaryExpression
case class NotEq(left: Expression, right: Expression) extends ConditionalExpression with BinaryExpression
case class NotIn(a: Expression, list: Seq[Expression]) extends ConditionalExpression
case class NotLike(left: Expression, right: Expression) extends ConditionalExpression with BinaryExpression
case object NullIsFirst extends NullOrdering
case object NullIsLast extends NullOrdering
case object NullLiteral extends Literal with LeafExpression
sealed trait NullOrdering
case class Or(left: Expression, right: Expression) extends ConditionalExpression with BinaryExpression
case class Parameter(index: Int) extends LeafExpression
case object Positive extends Sign
case class Preceding(n: Long) extends FrameBound
case class QName(parts: Seq[String]) extends LeafExpression
Companion:
object
object QName
Companion:
class
case class QuotedIdentifier(value: String) extends Identifier
case object RangeFrame extends FrameType
case class Ref(name: QName) extends Expression with LeafExpression
case class RowConstructor(values: Seq[Expression]) extends Expression
case object RowsFrame extends FrameType
case class SchemaProperty(key: Identifier, value: Expression) extends Expression
case object Second extends IntervalField
sealed trait SetQuantifier extends LeafExpression
sealed abstract class Sign(val symbol: String)
case class SingleColumn(expr: Expression, alias: Option[Expression]) extends Attribute
case class SortItem(sortKey: Expression, ordering: Option[SortOrdering], nullOrdering: Option[NullOrdering]) extends Expression with UnaryExpression
sealed trait SortOrdering
case class StringLiteral(value: String) extends Literal with LeafExpression
case class SubQueryExpression(query: Relation) extends Expression
case object Subtract extends BinaryExprType
sealed trait TableElement extends Expression
case class TimeLiteral(value: String) extends Literal with LeafExpression
case class TimestampLiteral(value: String) extends Literal with LeafExpression
case object TrueLiteral extends BooleanLiteral with LeafExpression
case object UnboundedFollowing extends FrameBound
case object UnboundedPreceding extends FrameBound
case object UndefinedOrder extends NullOrdering
case class UnquotedIdentifier(value: String) extends Identifier
case class UnresolvedAttribute(name: String) extends Attribute
case class WhenClause(condition: Expression, result: Expression) extends Expression
case class Window(partitionBy: Seq[Expression], orderBy: Seq[SortItem], frame: Option[WindowFrame]) extends Expression
case class WindowFrame(frameType: FrameType, start: FrameBound, end: Option[FrameBound]) extends Expression with LeafExpression
case object Year extends IntervalField