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
- FormViewDeletedEventArgs.cs
- WindowsSspiNegotiation.cs
- PackageStore.cs
- XPathNodeInfoAtom.cs
- FormViewInsertedEventArgs.cs
- DataListItemCollection.cs
- ServiceOperationWrapper.cs
- SignedInfo.cs
- WebPartEventArgs.cs
- XmlSerializerSection.cs
- documentation.cs
- ImageIndexConverter.cs
- Stroke.cs
- DataRowCollection.cs
- ObjectAnimationBase.cs
- CrossSiteScriptingValidation.cs
- PageStatePersister.cs
- ActionFrame.cs
- StorageScalarPropertyMapping.cs
- SemaphoreSecurity.cs
- ObjectContext.cs
- AnnouncementClient.cs
- MsmqHostedTransportConfiguration.cs
- ScrollItemProviderWrapper.cs
- ValidationRuleCollection.cs
- KnownColorTable.cs
- AccessDataSourceWizardForm.cs
- FontClient.cs
- FontFamilyConverter.cs
- ArgumentException.cs
- ResourceReader.cs
- InvalidOperationException.cs
- Automation.cs
- MimeObjectFactory.cs
- SponsorHelper.cs
- XmlMapping.cs
- SqlFunctionAttribute.cs
- NumberAction.cs
- DurableOperationAttribute.cs
- TimeStampChecker.cs
- SocketElement.cs
- Padding.cs
- HtmlWindowCollection.cs
- AssemblyEvidenceFactory.cs
- Error.cs
- UnhandledExceptionEventArgs.cs
- TraceSection.cs
- ArraySegment.cs
- HttpResponse.cs
- SessionEndedEventArgs.cs
- ConfigurationElementCollection.cs
- ExceptionHandlerDesigner.cs
- WebAdminConfigurationHelper.cs
- AccessedThroughPropertyAttribute.cs
- NavigationPropertyEmitter.cs
- XmlAttributeCache.cs
- TextAction.cs
- FunctionDetailsReader.cs
- TabControlCancelEvent.cs
- HTMLTagNameToTypeMapper.cs
- VBIdentifierName.cs
- WorkflowRequestContext.cs
- CaseInsensitiveOrdinalStringComparer.cs
- COAUTHIDENTITY.cs
- InstanceCollisionException.cs
- ResourceDisplayNameAttribute.cs
- XmlDataSourceView.cs
- ProtocolsSection.cs
- _UriSyntax.cs
- UTF7Encoding.cs
- WSSecureConversationDec2005.cs
- ClientSponsor.cs
- SymLanguageVendor.cs
- NativeMethods.cs
- FunctionImportElement.cs
- XamlSerializerUtil.cs
- ImageEditor.cs
- QilSortKey.cs
- Model3D.cs
- DataGridViewRowStateChangedEventArgs.cs
- ToolStripContentPanelDesigner.cs
- SafeReadContext.cs
- Metadata.cs
- RoleBoolean.cs
- MgmtResManager.cs
- StylusPointDescription.cs
- DataDocumentXPathNavigator.cs
- DataGrid.cs
- WSSecureConversation.cs
- AssemblyBuilderData.cs
- ADMembershipProvider.cs
- AttributeProviderAttribute.cs
- DescendentsWalkerBase.cs
- MSAAEventDispatcher.cs
- MobileUITypeEditor.cs
- SqlDependencyUtils.cs
- ConfigurationLockCollection.cs
- GridViewRowPresenter.cs
- Empty.cs
- ImageInfo.cs