Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DLinq / Dlinq / SqlClient / Query / SqlGatherConsumedAliases.cs / 1305376 / SqlGatherConsumedAliases.cs
using System; using System.Collections.Generic; using System.Text; namespace System.Data.Linq.SqlClient { ////// Walk a tree and return the set of unique aliases it consumes. /// class SqlGatherConsumedAliases { internal static HashSetGather(SqlNode node) { Gatherer g = new Gatherer(); g.Visit(node); return g.Consumed; } private class Gatherer : SqlVisitor { internal HashSet Consumed = new HashSet (); internal void VisitAliasConsumed(SqlAlias a) { Consumed.Add(a); } internal override SqlExpression VisitColumn(SqlColumn col) { VisitAliasConsumed(col.Alias); VisitExpression(col.Expression); return col; } internal override SqlExpression VisitColumnRef(SqlColumnRef cref) { VisitAliasConsumed(cref.Column.Alias); return cref; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; using System.Text; namespace System.Data.Linq.SqlClient { /// /// Walk a tree and return the set of unique aliases it consumes. /// class SqlGatherConsumedAliases { internal static HashSetGather(SqlNode node) { Gatherer g = new Gatherer(); g.Visit(node); return g.Consumed; } private class Gatherer : SqlVisitor { internal HashSet Consumed = new HashSet (); internal void VisitAliasConsumed(SqlAlias a) { Consumed.Add(a); } internal override SqlExpression VisitColumn(SqlColumn col) { VisitAliasConsumed(col.Alias); VisitExpression(col.Expression); return col; } internal override SqlExpression VisitColumnRef(SqlColumnRef cref) { VisitAliasConsumed(cref.Column.Alias); return cref; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DocumentAutomationPeer.cs
- SecurityChannel.cs
- DataViewManagerListItemTypeDescriptor.cs
- FlowLayoutPanel.cs
- DefaultHttpHandler.cs
- ImageConverter.cs
- PropertyAccessVisitor.cs
- DataGridViewRowConverter.cs
- ScrollEvent.cs
- SqlDataReader.cs
- NavigationService.cs
- ClientOptions.cs
- DataGridRelationshipRow.cs
- AppDomainProtocolHandler.cs
- SourceInterpreter.cs
- LinqDataSourceView.cs
- Parallel.cs
- ISFTagAndGuidCache.cs
- WasAdminWrapper.cs
- _LoggingObject.cs
- SequentialOutput.cs
- GcSettings.cs
- StandardBindingOptionalReliableSessionElement.cs
- BaseTreeIterator.cs
- XPathDocumentBuilder.cs
- ResourceKey.cs
- KeyGesture.cs
- ConfigUtil.cs
- ITextView.cs
- ContainerParagraph.cs
- CodeAttributeArgumentCollection.cs
- EventHandlersStore.cs
- FontDialog.cs
- EventProxy.cs
- ScriptIgnoreAttribute.cs
- StringUtil.cs
- StrongNameSignatureInformation.cs
- ValueUtilsSmi.cs
- ManualResetEvent.cs
- ByteFacetDescriptionElement.cs
- BuildProvidersCompiler.cs
- Msec.cs
- EntryIndex.cs
- ObjectDataSourceStatusEventArgs.cs
- util.cs
- LambdaCompiler.Statements.cs
- ArrangedElement.cs
- EllipseGeometry.cs
- LayoutEngine.cs
- PageBuildProvider.cs
- As.cs
- GridViewHeaderRowPresenter.cs
- WindowsBrush.cs
- HttpBrowserCapabilitiesWrapper.cs
- MULTI_QI.cs
- SystemThemeKey.cs
- UIAgentAsyncParams.cs
- SqlProfileProvider.cs
- Semaphore.cs
- InvalidPipelineStoreException.cs
- TypeDescriptor.cs
- ServerIdentity.cs
- Input.cs
- MessageQueueInstaller.cs
- ManagementBaseObject.cs
- InfocardChannelParameter.cs
- _HeaderInfoTable.cs
- MethodBuilder.cs
- Attributes.cs
- ListBoxDesigner.cs
- XmlSchemas.cs
- GradientBrush.cs
- CodeTypeMemberCollection.cs
- SystemDiagnosticsSection.cs
- DataKeyArray.cs
- WebPartsSection.cs
- ClientSettingsStore.cs
- CustomCategoryAttribute.cs
- AssemblyResolver.cs
- ContextActivityUtils.cs
- PngBitmapEncoder.cs
- CustomError.cs
- NullableIntAverageAggregationOperator.cs
- DisplayInformation.cs
- ExpressionVisitorHelpers.cs
- TextUtf8RawTextWriter.cs
- ValueTypeFixupInfo.cs
- ToolboxItemCollection.cs
- TrackingMemoryStreamFactory.cs
- AvTraceFormat.cs
- ObjectPersistData.cs
- LinqExpressionNormalizer.cs
- ChangeProcessor.cs
- XComponentModel.cs
- DataGridItem.cs
- AnimationLayer.cs
- SystemDiagnosticsSection.cs
- DesignerDataRelationship.cs
- tibetanshape.cs
- QilBinary.cs