package ast
Type Members
- trait BaseColumnAttributeAssignment extends AnyRef
- class BetweenExpression extends TernaryOperatorNode with LogicalBoolean
- class BinaryOperatorNode extends ExpressionNode
- class BinaryOperatorNodeLogicalBoolean extends BinaryOperatorNode with LogicalBoolean
- class ColumnAttributeAssignment extends BaseColumnAttributeAssignment
- class ColumnGroupAttributeAssignment extends BaseColumnAttributeAssignment
- class CompositeKeyAttributeAssignment extends ColumnGroupAttributeAssignment
- class ConstantExpressionNode [T] extends ExpressionNode
- class ConstantExpressionNodeList [T] extends ExpressionNode
- class DefaultValueAssignment extends BaseColumnAttributeAssignment
-
class
DummyExpressionHolder
extends ExpressionNode
Update, delete and insert statement are not built with AST nodes, (for example Table[].update), although some portions of these statements (where clauses are sometimes built with it.
Update, delete and insert statement are not built with AST nodes, (for example Table[].update), although some portions of these statements (where clauses are sometimes built with it. The StatisticsListener needs to view every expression call as an AST, which is the reason for this class. AST are meant to be "non rendered", i.e. agnostic to specific DatabaseAdapter, this DummyExpressionHolder is an exception. TODO: unify expression building to be completely AST based.
- class EqualityExpression extends BinaryOperatorNodeLogicalBoolean
- class ExclusionOperator extends BinaryOperatorNodeLogicalBoolean
- class ExistsExpression extends PrefixOperatorNode with LogicalBoolean
-
class
ExportedSelectElement
extends SelectElement
SelectElement that refer to a SelectElement of an inner or outer query
- trait ExpressionNode extends AnyRef
- class FieldSelectElement extends SelectElement with UniqueIdInAliaseRequired
- class FullOuterJoinNode extends BinaryOperatorNode
- class FunctionNode [A] extends ExpressionNode
- class InclusionOperator extends BinaryOperatorNodeLogicalBoolean
- class InputOnlyConstantExpressionNode [T] extends ConstantExpressionNode[T] with TypedExpressionNode[T]
- class LeftOuterJoinNode extends BinaryOperatorNode
- trait ListExpressionNode extends ExpressionNode
- trait LogicalBoolean extends ExpressionNode
- class OrderByArg extends AnyRef
- class OrderByExpression extends ExpressionNode
- class OuterJoinExpression extends AnyRef
- class PostfixOperatorNode extends ExpressionNode
- class PrefixOperatorNode extends ExpressionNode
- trait QueryExpressionElements extends ExpressionNode
- class QueryExpressionNode [R] extends QueryExpressionElements with QueryableExpressionNode
- trait QueryableExpressionNode extends ExpressionNode with UniqueIdInAliaseRequired
- class RightHandSideOfIn [A] extends ExpressionNode
-
trait
SelectElement
extends ExpressionNode
SelectElement are elements of a select list, for example they are a,b, and c in :
SelectElement are elements of a select list, for example they are a,b, and c in :
select a,b,c from T
they are either ValueSelectElement for composite expressions, i.e. select (x / 2) * y as Z from .... TupleSelectElement for group by or compute elements (TODO: document group by/compute) FieldSelectElement for table columns (that map to fields)
ExportSelectElement for a select element that refers to a SelectElement of an inner or outer query.
SelectElementReference are nodes in any clause other than select (where, having, composite expression, order by, etc) that refer to a SelectElement
-
class
SelectElementReference
[A] extends TypedExpressionNode[A]
All nodes that refer to a SelectElement are SelectElementReference, with the exception of SelectElement that refer to an inner or outer query's SelectElement, these are ExportedSelectElement
- class TernaryOperatorNode extends FunctionNode[Nothing] with LogicalBoolean
- class TokenExpressionNode extends ExpressionNode
- class TupleSelectElement extends SelectElement
- class TypeConversion extends ExpressionNode
- trait TypedExpressionNode [T] extends ExpressionNode
- trait UniqueIdInAliaseRequired extends AnyRef
- class UpdateAssignment extends AnyRef
- class UpdateStatement extends ExpressionNode
- class ValueSelectElement extends SelectElement with UniqueIdInAliaseRequired
- class ViewExpressionNode [U] extends QueryableExpressionNode