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
- Attributes.cs
- XamlPoint3DCollectionSerializer.cs
- OdbcFactory.cs
- ToolStripItemImageRenderEventArgs.cs
- BaseDataList.cs
- QilInvoke.cs
- GenericPrincipal.cs
- SessionEndingEventArgs.cs
- ScalarType.cs
- ErrorEventArgs.cs
- SqlDataReaderSmi.cs
- EntitySqlException.cs
- ObjectListItemCollection.cs
- XmlSignatureProperties.cs
- ExtenderProvidedPropertyAttribute.cs
- Base64Stream.cs
- SQLInt16Storage.cs
- httpstaticobjectscollection.cs
- SizeAnimationClockResource.cs
- TextSelection.cs
- OutputWindow.cs
- ServiceReference.cs
- HttpHeaderCollection.cs
- CollectionChangedEventManager.cs
- GetPolicyDetailsRequest.cs
- Deserializer.cs
- WebPartEditorOkVerb.cs
- NonParentingControl.cs
- regiisutil.cs
- QilStrConcatenator.cs
- DocumentXmlWriter.cs
- DataGridLengthConverter.cs
- InstallerTypeAttribute.cs
- KeyValueInternalCollection.cs
- MultipleViewProviderWrapper.cs
- ListBindingHelper.cs
- BlobPersonalizationState.cs
- XPathScanner.cs
- PrePrepareMethodAttribute.cs
- AppDomainFactory.cs
- ConstraintEnumerator.cs
- ImmComposition.cs
- XPathNodeHelper.cs
- PeerNameResolver.cs
- MasterPageBuildProvider.cs
- ResourceReferenceKeyNotFoundException.cs
- PlatformNotSupportedException.cs
- ProxyElement.cs
- HeaderUtility.cs
- Header.cs
- PlatformNotSupportedException.cs
- ClientUtils.cs
- SettingsPropertyNotFoundException.cs
- Style.cs
- GroupByQueryOperator.cs
- ColumnResizeAdorner.cs
- HandleRef.cs
- CustomAttributeFormatException.cs
- DataGridCell.cs
- DefaultEventAttribute.cs
- SurrogateSelector.cs
- PeerInputChannel.cs
- SqlCacheDependencyDatabase.cs
- SecureStringHasher.cs
- Point3DValueSerializer.cs
- SmtpCommands.cs
- KeyValuePair.cs
- SecurityManager.cs
- FunctionDetailsReader.cs
- GetPageNumberCompletedEventArgs.cs
- fixedPageContentExtractor.cs
- ReadingWritingEntityEventArgs.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- BaseParaClient.cs
- BufferModesCollection.cs
- ColorConvertedBitmap.cs
- StronglyTypedResourceBuilder.cs
- FormViewUpdateEventArgs.cs
- VariableExpressionConverter.cs
- XmlArrayAttribute.cs
- WindowCollection.cs
- StorageRoot.cs
- WebBrowserEvent.cs
- DragSelectionMessageFilter.cs
- DefaultMergeHelper.cs
- IsolatedStorageFile.cs
- RuntimeEnvironment.cs
- AssemblyBuilderData.cs
- ImageSourceConverter.cs
- EmptyControlCollection.cs
- DesignerActionKeyboardBehavior.cs
- ProtocolsSection.cs
- ScriptManagerProxy.cs
- AnonymousIdentificationSection.cs
- WindowsGraphics2.cs
- SiteIdentityPermission.cs
- SafeRightsManagementSessionHandle.cs
- ObjectDataSourceChooseTypePanel.cs
- WebPartVerbsEventArgs.cs
- OperationDescriptionCollection.cs