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
- OleDbRowUpdatedEvent.cs
- PositiveTimeSpanValidator.cs
- TdsParserStateObject.cs
- SplashScreenNativeMethods.cs
- Events.cs
- VerificationException.cs
- EventProviderWriter.cs
- HtmlInputPassword.cs
- MemoryPressure.cs
- DbParameterCollectionHelper.cs
- SoapMessage.cs
- Codec.cs
- PropertyManager.cs
- DiscoveryClientDocuments.cs
- FutureFactory.cs
- SQLConvert.cs
- CreateParams.cs
- DataRecord.cs
- BitmapEffectDrawingContent.cs
- OutOfProcStateClientManager.cs
- GeometryDrawing.cs
- XmlSchemaException.cs
- CompensationExtension.cs
- FontWeightConverter.cs
- ToolTipAutomationPeer.cs
- Polygon.cs
- PrivilegeNotHeldException.cs
- QilParameter.cs
- ConnectionPoint.cs
- Rules.cs
- SqlUserDefinedAggregateAttribute.cs
- SQLDouble.cs
- DbConnectionClosed.cs
- StyleHelper.cs
- PropertyChangingEventArgs.cs
- RegularExpressionValidator.cs
- PointAnimationUsingPath.cs
- SqlDataSourceSummaryPanel.cs
- PolicyUtility.cs
- HtmlInputHidden.cs
- ToggleProviderWrapper.cs
- SponsorHelper.cs
- VirtualizingStackPanel.cs
- BookmarkEventArgs.cs
- BindingOperations.cs
- FreezableCollection.cs
- TraceLog.cs
- ThicknessAnimationBase.cs
- XmlILStorageConverter.cs
- PartDesigner.cs
- AppSettingsExpressionBuilder.cs
- SourceFileBuildProvider.cs
- MemberDescriptor.cs
- HttpServerProtocol.cs
- Point4DConverter.cs
- RuleProcessor.cs
- DataControlImageButton.cs
- FormClosedEvent.cs
- MetadataCache.cs
- MenuItemBinding.cs
- CryptoProvider.cs
- MailWebEventProvider.cs
- ObjectStateManagerMetadata.cs
- CompilationUnit.cs
- SafeSecurityHelper.cs
- MatrixIndependentAnimationStorage.cs
- Rijndael.cs
- CommandManager.cs
- TextSelectionHelper.cs
- SystemIPAddressInformation.cs
- PrivilegeNotHeldException.cs
- Variable.cs
- TaskExtensions.cs
- BindingValueChangedEventArgs.cs
- EdmSchemaAttribute.cs
- Configuration.cs
- BoundPropertyEntry.cs
- SmiXetterAccessMap.cs
- QueryComponents.cs
- XamlTypeMapper.cs
- AlternationConverter.cs
- WindowsTokenRoleProvider.cs
- StyleSheetRefUrlEditor.cs
- MultiBinding.cs
- ProtectedConfigurationSection.cs
- SmiSettersStream.cs
- RelationshipWrapper.cs
- TransformDescriptor.cs
- GridViewDeletedEventArgs.cs
- ProtocolImporter.cs
- SmiRequestExecutor.cs
- DataTableReader.cs
- WindowClosedEventArgs.cs
- ListParagraph.cs
- InputLanguageProfileNotifySink.cs
- DescendantQuery.cs
- Literal.cs
- SearchForVirtualItemEventArgs.cs
- ControlParameter.cs
- PeerTransportSecurityElement.cs