DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
Public Member Functions | Private Member Functions | List of all members
Deveel.Data.Sql.Query.NaturalJoinNode Class Reference

A branch node for naturally joining two tables together. More...

Inheritance diagram for Deveel.Data.Sql.Query.NaturalJoinNode:
Deveel.Data.Sql.Query.BranchQueryPlanNode Deveel.Data.Sql.Query.IQueryPlanNode Deveel.Data.Serialization.ISerializable

Public Member Functions

 NaturalJoinNode (IQueryPlanNode left, IQueryPlanNode right)
 
override ITable Evaluate (IRequest context)
 

Private Member Functions

 NaturalJoinNode (ObjectData data)
 

Additional Inherited Members

- Protected Member Functions inherited from Deveel.Data.Sql.Query.BranchQueryPlanNode
 BranchQueryPlanNode (IQueryPlanNode left, IQueryPlanNode right)
 
 BranchQueryPlanNode (ObjectData data)
 
virtual void GetData (SerializeData data)
 
- Properties inherited from Deveel.Data.Sql.Query.BranchQueryPlanNode
IQueryPlanNode Left [get, private set]
 Gets the left node of the branch query plan node. More...
 
IQueryPlanNode Right [get, private set]
 Gets the right node of the branch query plan node. More...
 

Detailed Description

A branch node for naturally joining two tables together.

These branches should be optimized out if possible because they result in huge results.

Definition at line 33 of file NaturalJoinNode.cs.

Constructor & Destructor Documentation

Deveel.Data.Sql.Query.NaturalJoinNode.NaturalJoinNode ( IQueryPlanNode  left,
IQueryPlanNode  right 
)
inline

Definition at line 34 of file NaturalJoinNode.cs.

35  : base(left, right) {
36  }
Deveel.Data.Sql.Query.NaturalJoinNode.NaturalJoinNode ( ObjectData  data)
inlineprivate

Definition at line 38 of file NaturalJoinNode.cs.

39  : base(data) {
40  }

Member Function Documentation

override ITable Deveel.Data.Sql.Query.NaturalJoinNode.Evaluate ( IRequest  context)
inlinevirtual

Implements Deveel.Data.Sql.Query.BranchQueryPlanNode.

Definition at line 42 of file NaturalJoinNode.cs.

42  {
43  // Solve the left branch result
44  var leftResult = Left.Evaluate(context);
45  // Solve the Join (natural)
46  return leftResult.NaturalJoin(Right.Evaluate(context));
47  }
IQueryPlanNode Right
Gets the right node of the branch query plan node.
ITable Evaluate(IRequest context)
IQueryPlanNode Left
Gets the left node of the branch query plan node.

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