Deveel.Data.Sql.Query.QueryPlanner.EvaluateToSingle C# (CSharp) Method

EvaluateToSingle() private method

private EvaluateToSingle ( PreparedQuerySelectColumns columns ) : IQueryPlanNode
columns PreparedQuerySelectColumns
return IQueryPlanNode
        private IQueryPlanNode EvaluateToSingle(PreparedQuerySelectColumns columns)
        {
            if (columns.AggregateCount > 0)
                throw new InvalidOperationException("Invalid use of aggregate function in select with no FROM clause");

            // Make up the lists
            var selectedColumns = columns.SelectedColumns.ToList();
            int colCount = selectedColumns.Count;
            var colNames = new string[colCount];
            var expList = new SqlExpression[colCount];
            var subsetVars = new ObjectName[colCount];
            var aliases1 = new ObjectName[colCount];
            for (int i = 0; i < colCount; ++i) {
                SelectColumn scol = selectedColumns[i];
                expList[i] = scol.Expression;
                colNames[i] = scol.InternalName.Name;
                subsetVars[i] = scol.InternalName;
                aliases1[i] = scol.ResolvedName;
            }

            return new SubsetNode(new CreateFunctionsNode(new SingleRowTableNode(), expList, colNames), subsetVars, aliases1);
        }