public static void DumpOutputExpressionsInfo(StringBuilder stringBuilder, StatisticsOutputColumnList outputExpressions)
        {
            stringBuilder.AppendLine("Output Expressions (" + outputExpressions.Count + "):");

            for (int i = 0; i < outputExpressions.Count; i++)
            {
                stringBuilder.AppendLine(outputExpressions[i].Expression);
            }
        }
예제 #2
0
        public DmlSqlGenerator(QueryBuilder queryBuilder, ISqlSyntaxOverride syntaxOverride)
        {
            _syntaxOverride       = syntaxOverride;
            _sqlGenerationOptions = queryBuilder.SQLContext.SQLGenerationOptionsForServer;
            _outputColumns        = queryBuilder.QueryStatistics.OutputColumns;

            if (queryBuilder.SQLQuery.QueryRoot.IsQueryWithUnions())
            {
                throw new Exception("Not editable query");
            }

            var metadataObjectsList = _outputColumns
                                      .Select(outputColumn => outputColumn.MetadataObject)
                                      .Where(metadataObject => metadataObject != null)
                                      .Distinct();

            _selectedMetadataObject = GetSelectedObject(metadataObjectsList);

            if (_selectedMetadataObject == null)
            {
                throw new Exception("Not editable query");
            }
        }