Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- // // 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
- ServiceModelInstallComponent.cs
- DesignerLoader.cs
- ModuleElement.cs
- ToolboxComponentsCreatingEventArgs.cs
- LightweightEntityWrapper.cs
- SecurityTokenAttachmentMode.cs
- SolidColorBrush.cs
- ClientOptions.cs
- SrgsElement.cs
- IriParsingElement.cs
- MimeMapping.cs
- DataSvcMapFile.cs
- CodeAssignStatement.cs
- ContentIterators.cs
- FormClosedEvent.cs
- PropertyGridEditorPart.cs
- Profiler.cs
- EventItfInfo.cs
- EmbossBitmapEffect.cs
- TransformerTypeCollection.cs
- WeakEventTable.cs
- PeerResolverBindingElement.cs
- BooleanSwitch.cs
- DependencyObjectProvider.cs
- EntityContainer.cs
- CustomWebEventKey.cs
- DataComponentGenerator.cs
- XmlNodeChangedEventManager.cs
- _CookieModule.cs
- PassportAuthenticationEventArgs.cs
- XmlTextReader.cs
- EnvironmentPermission.cs
- Evidence.cs
- ImageDrawing.cs
- XmlSchemaInclude.cs
- assemblycache.cs
- CatalogPartCollection.cs
- ResourceReader.cs
- AnimationClockResource.cs
- ByteKeyFrameCollection.cs
- HMACSHA1.cs
- DataGridSortCommandEventArgs.cs
- CryptoProvider.cs
- ProfilePropertySettingsCollection.cs
- _CacheStreams.cs
- RuleSettings.cs
- SafeSystemMetrics.cs
- TagMapInfo.cs
- XmlNamedNodeMap.cs
- SoapObjectInfo.cs
- Label.cs
- ObjectFullSpanRewriter.cs
- ListBoxItem.cs
- ToolStripOverflowButton.cs
- _DigestClient.cs
- MessageLoggingElement.cs
- WebPartDisplayMode.cs
- MeasureData.cs
- ThicknessAnimationBase.cs
- Win32Exception.cs
- UnauthorizedAccessException.cs
- ImageMap.cs
- SocketAddress.cs
- TimeoutValidationAttribute.cs
- NonBatchDirectoryCompiler.cs
- SrgsText.cs
- CodeCompiler.cs
- InheritanceContextChangedEventManager.cs
- MouseEvent.cs
- Point.cs
- WebContentFormatHelper.cs
- dtdvalidator.cs
- followingsibling.cs
- PrePostDescendentsWalker.cs
- FixedElement.cs
- ReferenceList.cs
- TextTreeRootNode.cs
- HttpCapabilitiesBase.cs
- DataSetViewSchema.cs
- CanonicalXml.cs
- ZipIOCentralDirectoryBlock.cs
- X509SubjectKeyIdentifierClause.cs
- WorkflowMarkupSerializer.cs
- EntityReference.cs
- ButtonBaseAutomationPeer.cs
- EventPrivateKey.cs
- SolidColorBrush.cs
- MatcherBuilder.cs
- ZoneIdentityPermission.cs
- Menu.cs
- RegionIterator.cs
- ShapeTypeface.cs
- Imaging.cs
- CallbackValidatorAttribute.cs
- TextTreeTextNode.cs
- XmlEntity.cs
- ServerTooBusyException.cs
- SamlAttributeStatement.cs
- RightsManagementPermission.cs
- DropShadowBitmapEffect.cs