DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
Public Member Functions | Properties | Private Member Functions | List of all members
Deveel.Data.Sql.Query.QueryReferencesVisitor Class Reference
Inheritance diagram for Deveel.Data.Sql.Query.QueryReferencesVisitor:
Deveel.Data.Sql.Expressions.SqlExpressionVisitor

Public Member Functions

 QueryReferencesVisitor (IList< QueryReference > list, int level)
 
override SqlExpression Visit (SqlExpression expression)
 Visits a given SQL expression. More...
 
override SqlExpression VisitConstant (SqlConstantExpression constant)
 
- Public Member Functions inherited from Deveel.Data.Sql.Expressions.SqlExpressionVisitor
virtual SqlExpression[] VisitExpressionList (SqlExpression[] list)
 Visits a list of expressions given. More...
 
virtual SqlExpression VisitFunctionCall (SqlFunctionCallExpression expression)
 Visits the expression that calls the function defined. More...
 
virtual SqlExpression VisitBinary (SqlBinaryExpression binaryEpression)
 
virtual SqlExpression VisitUnary (SqlUnaryExpression unary)
 
virtual SqlExpression VisitCast (SqlCastExpression castExpression)
 
virtual SqlExpression VisitReference (SqlReferenceExpression reference)
 
virtual SqlExpression VisitVariableReference (SqlVariableReferenceExpression reference)
 
virtual SqlExpression VisitAssign (SqlAssignExpression assign)
 
virtual SqlExpression VisitConditional (SqlConditionalExpression conditional)
 
virtual SqlExpression VisitTuple (SqlTupleExpression expression)
 
virtual SqlExpression VisitQuery (SqlQueryExpression query)
 

Properties

IList< QueryReferenceReferences [get, private set]
 
int Level [get, private set]
 

Private Member Functions

void VisitQueryReference (QueryReferenceExpression expression)
 

Detailed Description

Definition at line 24 of file QueryReferencesVisitor.cs.

Constructor & Destructor Documentation

Deveel.Data.Sql.Query.QueryReferencesVisitor.QueryReferencesVisitor ( IList< QueryReference list,
int  level 
)
inline

Definition at line 25 of file QueryReferencesVisitor.cs.

Member Function Documentation

override SqlExpression Deveel.Data.Sql.Query.QueryReferencesVisitor.Visit ( SqlExpression  expression)
inlinevirtual

Visits a given SQL expression.

Parameters
expressionThe SqlExpression to visit.
Returns
Returns an instance of SqlExpression as result of the visit.

Reimplemented from Deveel.Data.Sql.Expressions.SqlExpressionVisitor.

Definition at line 34 of file QueryReferencesVisitor.cs.

34  {
35  if (expression is QueryReferenceExpression)
36  VisitQueryReference((QueryReferenceExpression) expression);
37 
38  return base.Visit(expression);
39  }
void VisitQueryReference(QueryReferenceExpression expression)
override SqlExpression Deveel.Data.Sql.Query.QueryReferencesVisitor.VisitConstant ( SqlConstantExpression  constant)
inlinevirtual

Parameters
constant
Returns

Reimplemented from Deveel.Data.Sql.Expressions.SqlExpressionVisitor.

Definition at line 45 of file QueryReferencesVisitor.cs.

45  {
46  var value = constant.Value;
47  if (!value.IsNull && value.Value is SqlQueryObject &&
48  ((SqlQueryObject)value.Value).QueryPlan != null) {
49  var queryObject = (SqlQueryObject)value.Value;
50  var planNode = queryObject.QueryPlan;
51  References = planNode.DiscoverQueryReferences(Level, References);
52  }
53 
54  return base.VisitConstant(constant);
55  }
ISqlObject Value
Gets the underlined value that is handled.
Definition: DataObject.cs:84
DataObject Value
Gets the constant value of the expression.
void Deveel.Data.Sql.Query.QueryReferencesVisitor.VisitQueryReference ( QueryReferenceExpression  expression)
inlineprivate

Definition at line 41 of file QueryReferencesVisitor.cs.

Property Documentation

int Deveel.Data.Sql.Query.QueryReferencesVisitor.Level
getprivate set

Definition at line 32 of file QueryReferencesVisitor.cs.

IList<QueryReference> Deveel.Data.Sql.Query.QueryReferencesVisitor.References
getprivate set

Definition at line 30 of file QueryReferencesVisitor.cs.


The documentation for this class was generated from the following file: