/// <summary> /// Generates the text for an AllColumns builder. /// </summary> /// <param name="item">The AllColumns builder to generate the text for.</param> protected internal override void VisitAllColumns(AllColumns item) { if (item.Source != null) { forSourceContext(SourceReferenceType.Reference).visitAliasedSource(item.Source); writer.Write("."); } writer.Write("*"); }
private void buildProjectionItem(MatchResult result, SelectBuilder builder) { MatchResult expression = result.Matches[SqlGrammar.ProjectionItem.Expression.Name]; if (expression.IsMatch) { MatchResult itemResult = expression.Matches[SqlGrammar.ProjectionItem.Expression.Item]; IProjectionItem item = (IProjectionItem)buildArithmeticItem(itemResult); string alias = null; MatchResult aliasExpression = expression.Matches[SqlGrammar.ProjectionItem.Expression.AliasExpression.Name]; if (aliasExpression.IsMatch) { MatchResult aliasResult = aliasExpression.Matches[SqlGrammar.ProjectionItem.Expression.AliasExpression.Alias]; alias = getToken(aliasResult); } builder.AddProjection(item, alias); return; } MatchResult star = result.Matches[SqlGrammar.ProjectionItem.Star.Name]; if (star.IsMatch) { AliasedSource source = null; MatchResult qualifier = star.Matches[SqlGrammar.ProjectionItem.Star.Qualifier.Name]; if (qualifier.IsMatch) { MatchResult columnSource = qualifier.Matches[SqlGrammar.ProjectionItem.Star.Qualifier.ColumnSource]; List<string> parts = new List<string>(); buildMultipartIdentifier(columnSource, parts); string sourceName = parts[parts.Count - 1]; source = scope.GetSource(sourceName); } AllColumns all = new AllColumns(source); builder.AddProjection(all); return; } throw new InvalidOperationException(); }
/// <summary> /// Visits an AllColumns builder. /// </summary> /// <param name="item">The item to visit.</param> protected internal virtual void VisitAllColumns(AllColumns item) { }