Namespace TimeCockpit.Data.QueryLanguage.Syntax
Classes
AggregationFunctionCall
AST Node Type representing an aggregation function call.
BackReferenceSource
QuerySource for backreferences in sub selects.
BinaryExpression
Abstract node type representing binary expressions. BinaryExpression acts as the node type for all binary operations. The semantics of such a node depends on the operator.
BooleanConstant
AST Node representing a boolean constant.
Constant
Abstract Node type representing constant elements.
DateConstant
AST Node representing a Date value.
DateTimeConstant
AST Node representing a DateTime value.
DeadOfSource
Class representing a dead of AST Node / Query source.
DecimalConstant
AST Node representing a decimal value.
DelegateVisitor
visitor forwarding to optionally set function delegates.
EntitySource
AST Node representing the source of a query to a concrete entity. e.g.: In
From X In Timesheet.Include(*) Select X
TableName corresponds to "Timesheet" Include corresponds to the ".Include(*)" (IncludeAll) node.
EntitySourceInclude
Abstract base classe for include nodes.
EntitySourceIncludeConditional
AST Node representing a conditional include statement. e.g.: In
From X In Project.Include(P, Timesheet, P.BeginTime > 10) Select X
the node corresponds to the ".Include(P, Timesheet, P.BeginTime > 10)" part. BackReferenceAliasName corresponds to the alias given to the back reference item ("P"), BackReferenceName corresponds to "Timesheet" and Condition corresponds to "P.BeginTime > 10" />
EntitySourceIncludeRelation
AST Node representing an Include statement including an relation. e.g. In
From X In Timesheet.Include('Project') Select X.
this node represents ".Include('Project')" with RelationName being "Project".
ExplicitSet
AST Node representing an explicit set definition, e.g.: in
From X In Timesheet Where X.Description In ('Some Description', 'Some Other Description') Select X
an instance of this node refers to "('Some Description', 'Some Other Description')".
Expression
Abstract AST node type representing an expression.
FunctionCall
Ast Node representing a function call, e.g. in
From X In Timesheet Where X.Description = :Iif(X.BeginTime > #2012-10-10#, "Some Description", "Some OtherDescription") Select X
an instance of this class represents the ':Iif(X.BeginTime > #2012-10-10#, "Some Description", "Some OtherDescription")' function call and holds the parameter expressions as members (the Arguments collection).
GuidConstant
AST Node representing a GUID value.
HasChangedFunction
special AST node HasChanged language feature.
MemberAccess
Describes access to a member, e.g.: In
From X In Timesheet Where X.BeginTime < #2012-10-10# Select X
"X.BeginTime" is referred to as a MemberAccess with the segments being 'BeginTime' and alias being X.
would by a theoretical possibility for such a syntax.
From Timesheet Where BeginTime > #2012-01-01# Select
MemberDeclaration
class representing the member declarations.
MemberDeclarationForwarded
AST Node representing a member declaration directly forwarding to a member acces. E.g. In
From X In Timesheet Select New With { X.BeginTime }
"X.BeginTime" refers to such a member declaration.
MemberDeclarationNamedExpression
AST Node representing a member declaration named expression, e.g. in
From X In Timesheet Select New With { .ThreeTimesDurationOfHours = 3 * X.DurationInHours }
".ThreeTimesDurationOfHours = 3 * X.DurationInHours" is represented by an instance of this node.
MemberDeclarationNamedIdentifier
AST Node represents a named identifier in a select new statement. E.g. In
From X In Timesheets Select New With { .Y = X }
"X" is represented by an instance of this node type.
Modifier
Since AST Nodes are read-only, modifying an AST means copying (parts) the tree to a new tree with the nodes requiring modification being replaced. This visitor implementation aids building new AST trees by copying from exisiting and replacing modified nodes through delegation to another visitor.
NamedSetReference
AST Node representing a reference to a named set defined in the model. e.g. In
From X In Timesheet Where X.Description In Set('ImportantDescriptions') Select X
an instance of this class represents the "Set('ImportantDescriptions')" expression part.
Node
Base class for all AST Node.
NullConstant
Constant representing a null value.
OrderBy
AST Node representing an oder by.
e.g. in
OrderByExpression
AST Node representing an Order By Expression (part of an Order By) e.g. in
From X In Timesheet OrderBy X.BeginTime ASC, X.Description DESC Select X
,
X.BeginTime as well as X.Description represen OrderBy Expressions.
Parameter
AST Node representing a parameter reference. e.g. in
From X In Timesheet Where X.Description Like @Search Select X
,
Query
represents a query: e.g.: In
From X In SomeTable Where X.BeginTime > #2012-10-10 12:00:00# Select X With VersionInfoOnly
Alias will map to "X", Source will map to "SomeTable", Where will map to "X.BeginTime > #2012-10-10 12:00:00#", Select will map to "X", QueryOptions will have VersionInfoOnly set to true.
QueryOptions
AST Node representing the query options in a query.
QuerySource
Abstract node
Select
AST Node representing the Select part of a Query statement. e.g.: In
From X In Timesheet Select Top (100) X
a derived instance of this node represents "Select Top (100) X".
SelectAlias
AST Node defining a select clause for selecting a simple alias. e.g. In
From X In Timesheet Select X
, the node refers to "Select X".
SelectNewWith
AST Node representing a select new with statement. e.g. In
From X In Timesheet Select New With { .Duration = X.EndTime - X.BeginTime }
this node represents the "Select New With { .Duration = X.EndTime - X.BeginTime }" part.
Set
abstract AST node for sets, either explicit as in
From X In Timesheet Where 'SomeDesc' In (X.Description, X.Project.Description) Select X
or as a named set reference, as in
From X In Timesheet Where 'SomeDesc' In Set('SomeNamedSet') Select X
.
SkipAndTake
Holds query options for skip and take.
StringConstant
AST Node representing a string constant. e.g. In
From X In Timesheet Where X.Description == 'SomeDescription' Select X
an instance of this node represents 'SomeDescription'.
SyntaxASTToTCQL
Translates a Syntax AST back to TCQL
TCQLExpression
Static class producing TCQL expressions and queries.
Visitor
Visitor enabling dispatching to the correct.
Enums
AggregationFunctionCallType
Describes the available aggregation function types.
BinaryOperator
enum holding all possible binary combinations.
SortDirection
enum describing the sort order.