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
- OdbcError.cs
- ViewBox.cs
- Utilities.cs
- LockedBorderGlyph.cs
- _KerberosClient.cs
- ObjectKeyFrameCollection.cs
- SafeFindHandle.cs
- ServerTooBusyException.cs
- GridViewUpdatedEventArgs.cs
- SortedList.cs
- NegotiateStream.cs
- SqlClientWrapperSmiStream.cs
- Selector.cs
- QilReplaceVisitor.cs
- Not.cs
- EmbossBitmapEffect.cs
- DLinqColumnProvider.cs
- AssemblyResourceLoader.cs
- DataBinding.cs
- HttpRequest.cs
- NeutralResourcesLanguageAttribute.cs
- SchemaImporter.cs
- IIS7ConfigurationLoader.cs
- LeafCellTreeNode.cs
- RefType.cs
- RecordManager.cs
- ServiceXNameTypeConverter.cs
- CodeCastExpression.cs
- ListDictionaryInternal.cs
- DefaultPrintController.cs
- ColumnResult.cs
- X509AsymmetricSecurityKey.cs
- ArraySortHelper.cs
- DBParameter.cs
- XPathSelfQuery.cs
- TextParaClient.cs
- EpmSyndicationContentSerializer.cs
- DoubleIndependentAnimationStorage.cs
- DbParameterHelper.cs
- DynamicPropertyHolder.cs
- IncrementalCompileAnalyzer.cs
- RecordManager.cs
- oledbconnectionstring.cs
- FastEncoder.cs
- DBConnectionString.cs
- IItemContainerGenerator.cs
- AnimationClock.cs
- GenericUriParser.cs
- ImageMetadata.cs
- PackageDigitalSignatureManager.cs
- KeyboardEventArgs.cs
- StylusPointPropertyInfoDefaults.cs
- XomlCompilerParameters.cs
- SynchronizingStream.cs
- NameValueFileSectionHandler.cs
- TextSelectionHighlightLayer.cs
- SqlProvider.cs
- ExpandCollapseProviderWrapper.cs
- ScriptResourceDefinition.cs
- SimpleTextLine.cs
- Action.cs
- CmsUtils.cs
- EntityObject.cs
- Reference.cs
- ServiceOperationDetailViewControl.cs
- JsonMessageEncoderFactory.cs
- BitmapEffectInputData.cs
- AsnEncodedData.cs
- ValidationSummary.cs
- LiteralTextContainerControlBuilder.cs
- Floater.cs
- ParentUndoUnit.cs
- PersonalizationStateInfoCollection.cs
- KeyEvent.cs
- Oid.cs
- EndpointConfigContainer.cs
- Base64Stream.cs
- XmlSchemaCollection.cs
- SlipBehavior.cs
- XmlCDATASection.cs
- ConfigXmlAttribute.cs
- RequestCache.cs
- SourceFileInfo.cs
- CryptoApi.cs
- ListSortDescription.cs
- FocusWithinProperty.cs
- HtmlHead.cs
- ToolBarTray.cs
- Comparer.cs
- ListBox.cs
- ViewCellRelation.cs
- ObjectQuery_EntitySqlExtensions.cs
- HostingEnvironment.cs
- FixedPageStructure.cs
- ListCollectionView.cs
- ValidationError.cs
- HttpCacheVary.cs
- OneWayElement.cs
- SafeMarshalContext.cs
- JavascriptCallbackBehaviorAttribute.cs