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.CreateFunctionsNode Class Reference

The node for merging the child node with a set of new function columns over the entire result. More...

Inheritance diagram for Deveel.Data.Sql.Query.CreateFunctionsNode:
Deveel.Data.Sql.Query.SingleQueryPlanNode Deveel.Data.Sql.Query.IQueryPlanNode Deveel.Data.Serialization.ISerializable

Public Member Functions

 CreateFunctionsNode (IQueryPlanNode child, SqlExpression[] functionList, string[] nameList)
 
override ITable Evaluate (IRequest context)
 

Protected Member Functions

override void GetData (SerializeData data)
 
- Protected Member Functions inherited from Deveel.Data.Sql.Query.SingleQueryPlanNode
 SingleQueryPlanNode (IQueryPlanNode child)
 
 SingleQueryPlanNode (ObjectData data)
 

Properties

SqlExpression[] Functions [get, private set]
 The list of functions to create. More...
 
string[] Names [get, private set]
 The list of names to give each function table. More...
 
- Properties inherited from Deveel.Data.Sql.Query.SingleQueryPlanNode
IQueryPlanNode Child [get, private set]
 Gets the single child node of the plan. More...
 

Private Member Functions

 CreateFunctionsNode (ObjectData data)
 

Detailed Description

The node for merging the child node with a set of new function columns over the entire result.

For example, we may want to add an expression a + 10 or coalesce(a, b, 1).

Definition at line 34 of file CreateFunctionsNode.cs.

Constructor & Destructor Documentation

Deveel.Data.Sql.Query.CreateFunctionsNode.CreateFunctionsNode ( IQueryPlanNode  child,
SqlExpression[]  functionList,
string[]  nameList 
)
inline

Definition at line 35 of file CreateFunctionsNode.cs.

36  : base(child) {
37  Functions = functionList;
38  Names = nameList;
39  }
string[] Names
The list of names to give each function table.
SqlExpression[] Functions
The list of functions to create.
Deveel.Data.Sql.Query.CreateFunctionsNode.CreateFunctionsNode ( ObjectData  data)
inlineprivate

Definition at line 41 of file CreateFunctionsNode.cs.

42  : base(data) {
43  Functions = data.GetValue<SqlExpression[]>("Functions");
44  Names = data.GetValue<string[]>("Names");
45  }
string[] Names
The list of names to give each function table.
SqlExpression[] Functions
The list of functions to create.
Defines the base class for instances that represent SQL expression tree nodes.

Member Function Documentation

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

Implements Deveel.Data.Sql.Query.SingleQueryPlanNode.

Definition at line 58 of file CreateFunctionsNode.cs.

58  {
59  var childTable = Child.Evaluate(context);
60  var funTable = new FunctionTable(childTable, Functions, Names, context);
61  return funTable.MergeWith(null);
62  }
string[] Names
The list of names to give each function table.
ITable Evaluate(IRequest context)
IQueryPlanNode Child
Gets the single child node of the plan.
SqlExpression[] Functions
The list of functions to create.
override void Deveel.Data.Sql.Query.CreateFunctionsNode.GetData ( SerializeData  data)
inlineprotectedvirtual

Reimplemented from Deveel.Data.Sql.Query.SingleQueryPlanNode.

Definition at line 64 of file CreateFunctionsNode.cs.

64  {
65  data.SetValue("Functions", Functions);
66  data.SetValue("Names", Names);
67  }
string[] Names
The list of names to give each function table.
void SetValue(string key, Type type, object value)
SqlExpression[] Functions
The list of functions to create.

Property Documentation

SqlExpression [] Deveel.Data.Sql.Query.CreateFunctionsNode.Functions
getprivate set

The list of functions to create.

Definition at line 50 of file CreateFunctionsNode.cs.

string [] Deveel.Data.Sql.Query.CreateFunctionsNode.Names
getprivate set

The list of names to give each function table.

Definition at line 55 of file CreateFunctionsNode.cs.


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