27 : this(child, new
ObjectName[0], groupMaxColumn, functions, names) {
31 ColumnNames = columnNames;
32 GroupMaxColumn = groupMaxColumn;
33 Functions = functions;
42 Names = data.
GetValue<
string[]>(
"Names");
51 public string[] Names {
get;
private set; }
54 data.
SetValue(
"Columns", ColumnNames);
55 data.
SetValue(
"GroupMax", GroupMaxColumn);
56 data.
SetValue(
"Functions", Functions);
61 var childTable = Child.Evaluate(context);
62 var funTable =
new FunctionTable(childTable, Functions, Names, context);
65 if (ColumnNames == null) {
66 funTable = funTable.AsGroup();
68 funTable = funTable.CreateGroupMatrix(ColumnNames);
71 return funTable.MergeWith(GroupMaxColumn);
Defines the contract to access the data contained into a table of a database.
A IQueryPlanNode with a single child.
A query to the database to select data from a set of tables and columns.
GroupNode(IQueryPlanNode child, ObjectName[] columnNames, ObjectName groupMaxColumn, SqlExpression[] functions, string[] names)
void SetValue(string key, Type type, object value)
Describes the name of an object within a database.
A node element of a query plan tree. /summary>
override ITable Evaluate(IRequest context)
object GetValue(string key)
GroupNode(ObjectData data)
Defines the base class for instances that represent SQL expression tree nodes.
override void GetData(SerializeData data)
GroupNode(IQueryPlanNode child, ObjectName groupMaxColumn, SqlExpression[] functions, string[] names)