DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
Deveel.Data.Sql.Query.QueryNodeTableNameVisitor Class Reference
Inheritance diagram for Deveel.Data.Sql.Query.QueryNodeTableNameVisitor:
Deveel.Data.Sql.Query.QueryPlanNodeVisitor Deveel.Data.Sql.Query.IQueryPlanNodeVisitor

Public Member Functions

 QueryNodeTableNameVisitor ()
 
IList< ObjectNameDiscover (IQueryPlanNode queryPlan)
 

Protected Member Functions

override IQueryPlanNode VisitFetchTable (FetchTableNode node)
 
override IQueryPlanNode VisitFetchView (FetchViewNode node)
 
override IQueryPlanNode VisitJoin (JoinNode node)
 
override IQueryPlanNode VisitConstantSelect (ConstantSelectNode node)
 
override IQueryPlanNode VisitRangeSelect (RangeSelectNode node)
 
override IQueryPlanNode VisitSimpleSelect (SimpleSelectNode node)
 
override IQueryPlanNode VisitGroup (GroupNode node)
 
override IQueryPlanNode VisitExhaustiveSelect (ExhaustiveSelectNode node)
 
override IQueryPlanNode VisitSimplePatternSelect (SimplePatternSelectNode node)
 
- Protected Member Functions inherited from Deveel.Data.Sql.Query.QueryPlanNodeVisitor
virtual IQueryPlanNode VisitNode (IQueryPlanNode node)
 
virtual IQueryPlanNode VisitSingleRowTable (SingleRowTableNode node)
 
virtual IQueryPlanNode VisitSingle (SingleQueryPlanNode node)
 
virtual IQueryPlanNode VisitLimit (LimitNode node)
 
virtual IQueryPlanNode VisitCreateFunctions (CreateFunctionsNode node)
 
virtual IQueryPlanNode VisitBranch (BranchQueryPlanNode node)
 
virtual IQueryPlanNode VisitNonCorrelatedAnyAll (NonCorrelatedAnyAllNode node)
 
virtual IQueryPlanNode VisitLogicalUnion (LogicalUnionNode node)
 
virtual IQueryPlanNode VisitNaturalJoin (NaturalJoinNode node)
 
virtual IQueryPlanNode VisitEquiJoin (EquiJoinNode node)
 
virtual IQueryPlanNode VisitComposite (CompositeNode node)
 
virtual IQueryPlanNode VisitMarker (MarkerNode node)
 
virtual IQueryPlanNode VisitLeftOuterJoin (LeftOuterJoinNode node)
 
virtual IQueryPlanNode VisitCachePoint (CachePointNode node)
 
virtual IQueryPlanNode VisitSort (SortNode node)
 
virtual IQueryPlanNode VisitDistinct (DistinctNode node)
 
virtual IQueryPlanNode VisitSubset (SubsetNode node)
 

Private Attributes

readonly IList< ObjectNametableNames
 

Detailed Description

Definition at line 20 of file QueryNodeTableNameVisitor.cs.

Constructor & Destructor Documentation

Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.QueryNodeTableNameVisitor ( )
inline

Definition at line 23 of file QueryNodeTableNameVisitor.cs.

23  {
24  tableNames = new List<ObjectName>();
25  }

Member Function Documentation

IList<ObjectName> Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.Discover ( IQueryPlanNode  queryPlan)
inline

Definition at line 27 of file QueryNodeTableNameVisitor.cs.

27  {
28  VisitNode(queryPlan);
29  return tableNames;
30  }
virtual IQueryPlanNode VisitNode(IQueryPlanNode node)
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitConstantSelect ( ConstantSelectNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 53 of file QueryNodeTableNameVisitor.cs.

53  {
54  if (node.Expression != null)
55  node.Expression.DiscoverTableNames(tableNames);
56 
57  return base.VisitConstantSelect(node);
58  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitExhaustiveSelect ( ExhaustiveSelectNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 84 of file QueryNodeTableNameVisitor.cs.

84  {
85  if (node.Expression != null)
86  node.Expression.DiscoverTableNames(tableNames);
87 
88  return base.VisitExhaustiveSelect(node);
89  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitFetchTable ( FetchTableNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 32 of file QueryNodeTableNameVisitor.cs.

32  {
33  if (!tableNames.Contains(node.TableName))
34  tableNames.Add(node.TableName);
35 
36  return base.VisitFetchTable(node);
37  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitFetchView ( FetchViewNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 39 of file QueryNodeTableNameVisitor.cs.

39  {
40  if (!tableNames.Contains(node.ViewName))
41  tableNames.Add(node.ViewName);
42 
43  return base.VisitFetchView(node);
44  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitGroup ( GroupNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 74 of file QueryNodeTableNameVisitor.cs.

74  {
75  if (node.Functions != null) {
76  foreach (var function in node.Functions) {
77  function.DiscoverTableNames(tableNames);
78  }
79  }
80 
81  return base.VisitGroup(node);
82  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitJoin ( JoinNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 46 of file QueryNodeTableNameVisitor.cs.

46  {
47  if (node.RightExpression != null)
48  node.RightExpression.DiscoverTableNames(tableNames);
49 
50  return base.VisitJoin(node);
51  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitRangeSelect ( RangeSelectNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 60 of file QueryNodeTableNameVisitor.cs.

60  {
61  if (node.Expression != null)
62  node.Expression.DiscoverTableNames(tableNames);
63 
64  return base.VisitRangeSelect(node);
65  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitSimplePatternSelect ( SimplePatternSelectNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 91 of file QueryNodeTableNameVisitor.cs.

91  {
92  if (node.Expression != null)
93  node.Expression.DiscoverTableNames(tableNames);
94 
95  return base.VisitSimplePatternSelect(node);
96  }
override IQueryPlanNode Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.VisitSimpleSelect ( SimpleSelectNode  node)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.QueryPlanNodeVisitor.

Definition at line 67 of file QueryNodeTableNameVisitor.cs.

67  {
68  if (node.Expression != null)
69  node.Expression.DiscoverTableNames(tableNames);
70 
71  return base.VisitSimpleSelect(node);
72  }

Member Data Documentation

readonly IList<ObjectName> Deveel.Data.Sql.Query.QueryNodeTableNameVisitor.tableNames
private

Definition at line 21 of file QueryNodeTableNameVisitor.cs.


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