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

A branch node for performing a composite function on two child nodes. More...

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

Public Member Functions

 CompositeNode (IQueryPlanNode left, IQueryPlanNode right, CompositeFunction compositeOp, bool allOp)
 
override ITable Evaluate (IRequest context)
 

Protected Member Functions

override void GetData (SerializeData data)
 
- Protected Member Functions inherited from Deveel.Data.Sql.Query.BranchQueryPlanNode
 BranchQueryPlanNode (IQueryPlanNode left, IQueryPlanNode right)
 
 BranchQueryPlanNode (ObjectData data)
 

Properties

CompositeFunction CompositeFunction [get, private set]
 The composite operation. More...
 
bool All [get, private set]
 If this is true, the composite includes all results from both children, otherwise removes deplicates. More...
 
- 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...
 

Private Member Functions

 CompositeNode (ObjectData data)
 

Detailed Description

A branch node for performing a composite function on two child nodes.

This branch is used for general Sql.CompositeFunction.Union, Sql.CompositeFunction.Except, Sql.CompositeFunction.Intersect composites. The left and right branch results must have the same number of columns and column types.

Definition at line 34 of file CompositeNode.cs.

Constructor & Destructor Documentation

Deveel.Data.Sql.Query.CompositeNode.CompositeNode ( IQueryPlanNode  left,
IQueryPlanNode  right,
CompositeFunction  compositeOp,
bool  allOp 
)
inline

Definition at line 35 of file CompositeNode.cs.

36  : base(left, right) {
37  CompositeFunction = compositeOp;
38  All = allOp;
39  }
bool All
If this is true, the composite includes all results from both children, otherwise removes deplicates...
CompositeFunction CompositeFunction
The composite operation.
Deveel.Data.Sql.Query.CompositeNode.CompositeNode ( ObjectData  data)
inlineprivate

Definition at line 41 of file CompositeNode.cs.

42  : base(data) {
43  CompositeFunction = (CompositeFunction) data.GetInt32("Function");
44  All = data.GetBoolean("All");
45  }
bool All
If this is true, the composite includes all results from both children, otherwise removes deplicates...
CompositeFunction CompositeFunction
The composite operation.

Member Function Documentation

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

Implements Deveel.Data.Sql.Query.BranchQueryPlanNode.

Definition at line 58 of file CompositeNode.cs.

58  {
59  var leftResult = Left.Evaluate(context);
60  var rightResult = Right.Evaluate(context);
61 
62  // Form the composite table
63  return leftResult.Composite(rightResult, CompositeFunction, All);
64  }
IQueryPlanNode Right
Gets the right node of the branch query plan node.
bool All
If this is true, the composite includes all results from both children, otherwise removes deplicates...
ITable Evaluate(IRequest context)
CompositeFunction CompositeFunction
The composite operation.
IQueryPlanNode Left
Gets the left node of the branch query plan node.
override void Deveel.Data.Sql.Query.CompositeNode.GetData ( SerializeData  data)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.BranchQueryPlanNode.

Definition at line 66 of file CompositeNode.cs.

66  {
67  data.SetValue("Function", (int)CompositeFunction);
68  data.SetValue("All", All);
69  }
bool All
If this is true, the composite includes all results from both children, otherwise removes deplicates...
void SetValue(string key, Type type, object value)
CompositeFunction CompositeFunction
The composite operation.

Property Documentation

bool Deveel.Data.Sql.Query.CompositeNode.All
getprivate set

If this is true, the composite includes all results from both children, otherwise removes deplicates.

Definition at line 56 of file CompositeNode.cs.

CompositeFunction Deveel.Data.Sql.Query.CompositeNode.CompositeFunction
getprivate set

The composite operation.

Definition at line 50 of file CompositeNode.cs.


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