Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / JoinSymbol.cs / 1305376 / JoinSymbol.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text; using System.Data.SqlClient; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; namespace System.Data.SqlClient.SqlGen { ////// A Join symbol is a special kind of Symbol. /// It has to carry additional information /// internal sealed class JoinSymbol : Symbol { private List///
/// /// All the lists are set exactly once, and then used for lookups/enumerated. ///- ColumnList for the list of columns in the select clause if this /// symbol represents a sql select statement. This is set by
///. - ExtentList is the list of extents in the select clause.
///- FlattenedExtentList - if the Join has multiple extents flattened at the /// top level, we need this information to ensure that extent aliases are renamed /// correctly in
///- NameToExtent has all the extents in ExtentList as a dictionary. /// This is used by
///to flatten /// record accesses. - IsNestedJoin - is used to determine whether a JoinSymbol is an /// ordinary join symbol, or one that has a corresponding SqlSelectStatement.
///columnList; internal List ColumnList { get { if (null == columnList) { columnList = new List (); } return columnList; } set { columnList = value; } } private List extentList; internal List ExtentList { get { return extentList; } } private List flattenedExtentList; internal List FlattenedExtentList { get { if (null == flattenedExtentList) { flattenedExtentList = new List (); } return flattenedExtentList; } set { flattenedExtentList = value; } } private Dictionary nameToExtent; internal Dictionary NameToExtent { get { return nameToExtent; } } private bool isNestedJoin; internal bool IsNestedJoin { get { return isNestedJoin; } set { isNestedJoin = value; } } public JoinSymbol(string name, TypeUsage type, List extents) : base(name, type) { extentList = new List (extents.Count); nameToExtent = new Dictionary (extents.Count, StringComparer.OrdinalIgnoreCase); foreach (Symbol symbol in extents) { this.nameToExtent[symbol.Name] = symbol; this.ExtentList.Add(symbol); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LocalizableResourceBuilder.cs
- Atom10ItemFormatter.cs
- CheckBoxRenderer.cs
- DynamicRendererThreadManager.cs
- SpeechEvent.cs
- MimeBasePart.cs
- PageThemeCodeDomTreeGenerator.cs
- RangeValueProviderWrapper.cs
- TransferMode.cs
- CapacityStreamGeometryContext.cs
- EditCommandColumn.cs
- CapabilitiesSection.cs
- EncoderNLS.cs
- CompressionTracing.cs
- ParameterToken.cs
- WindowsIdentity.cs
- LineServices.cs
- StylusPointCollection.cs
- XslException.cs
- DoubleCollectionValueSerializer.cs
- DetailsViewAutoFormat.cs
- DesignerGenericWebPart.cs
- httpserverutility.cs
- ConfigurationValidatorBase.cs
- EntityContainer.cs
- RSAOAEPKeyExchangeFormatter.cs
- Monitor.cs
- DataViewSetting.cs
- DataServiceConfiguration.cs
- RequestResponse.cs
- ReadContentAsBinaryHelper.cs
- PrimitiveSchema.cs
- DelegatingConfigHost.cs
- WindowsSysHeader.cs
- CfgParser.cs
- Wizard.cs
- CodePageEncoding.cs
- DesignerTextViewAdapter.cs
- GridViewColumn.cs
- StylusPointPropertyId.cs
- Column.cs
- SQLBytesStorage.cs
- ProfileParameter.cs
- FtpWebRequest.cs
- UnsafeNativeMethodsPenimc.cs
- DataGridViewUtilities.cs
- DefaultSettingsSection.cs
- Utility.cs
- WhitespaceRuleLookup.cs
- EntityCommandCompilationException.cs
- UIElementParaClient.cs
- ControlCachePolicy.cs
- RangeEnumerable.cs
- StandardToolWindows.cs
- ImpersonateTokenRef.cs
- SoapFormatter.cs
- TextCompositionManager.cs
- CodeMemberField.cs
- TextTreeInsertElementUndoUnit.cs
- AstTree.cs
- ToolStrip.cs
- BitmapSizeOptions.cs
- AsyncDataRequest.cs
- PerspectiveCamera.cs
- DbProviderSpecificTypePropertyAttribute.cs
- PropertyConverter.cs
- MouseOverProperty.cs
- RoutedEventConverter.cs
- __Filters.cs
- XmlCharacterData.cs
- TraceRecord.cs
- VisualCollection.cs
- Cursor.cs
- QilList.cs
- TableRowCollection.cs
- WindowsTooltip.cs
- NameScope.cs
- SerializationAttributes.cs
- Parser.cs
- SelectionChangedEventArgs.cs
- PaperSource.cs
- MsmqHostedTransportManager.cs
- ColorContextHelper.cs
- SqlDependencyUtils.cs
- AssociationEndMember.cs
- SQLDateTimeStorage.cs
- BasicHttpMessageSecurity.cs
- X509SecurityTokenAuthenticator.cs
- ForEachDesigner.xaml.cs
- DrawingGroup.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DoubleCollectionValueSerializer.cs
- XmlIgnoreAttribute.cs
- HtmlContainerControl.cs
- ScrollEvent.cs
- BitmapEffectInput.cs
- SystemIcons.cs
- OleDbParameter.cs
- ProcessProtocolHandler.cs
- SchemaEntity.cs