Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / JoinSymbol.cs / 1 / JoinSymbol.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- 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 [....], [....] //--------------------------------------------------------------------- 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
- ArgumentDesigner.xaml.cs
- externdll.cs
- remotingproxy.cs
- ByteStream.cs
- SpellCheck.cs
- DataSetUtil.cs
- SqlCacheDependencyDatabase.cs
- PropertyPathWorker.cs
- WebBrowserNavigatedEventHandler.cs
- HuffModule.cs
- MessageQueueException.cs
- Metadata.cs
- FullTextLine.cs
- Pair.cs
- DataTableCollection.cs
- TransferMode.cs
- ConnectionManagementSection.cs
- MetafileHeaderEmf.cs
- WorkerRequest.cs
- ContentPropertyAttribute.cs
- ExpressionBuilderContext.cs
- StylusButtonEventArgs.cs
- ArrayTypeMismatchException.cs
- SqlInternalConnection.cs
- ImpersonateTokenRef.cs
- XhtmlTextWriter.cs
- TextRenderingModeValidation.cs
- HostProtectionException.cs
- DataRowCollection.cs
- AttributeCollection.cs
- PathSegmentCollection.cs
- FlowDocumentReaderAutomationPeer.cs
- NavigationProperty.cs
- DataMemberConverter.cs
- ZipIOLocalFileDataDescriptor.cs
- CodeCommentStatement.cs
- RNGCryptoServiceProvider.cs
- Matrix.cs
- SamlAttributeStatement.cs
- Mouse.cs
- CommandField.cs
- XpsS0ValidatingLoader.cs
- PropertyState.cs
- PartitionedDataSource.cs
- ClientBuildManager.cs
- CompilationLock.cs
- AnnotationResourceCollection.cs
- SqlInternalConnectionTds.cs
- PositiveTimeSpanValidator.cs
- XDeferredAxisSource.cs
- ToolStripGripRenderEventArgs.cs
- PersistChildrenAttribute.cs
- TypeLibConverter.cs
- Error.cs
- LayoutTable.cs
- ListSourceHelper.cs
- PeerApplication.cs
- InnerItemCollectionView.cs
- MenuItem.cs
- DataGridViewControlCollection.cs
- Ref.cs
- ErrorInfoXmlDocument.cs
- OleDbMetaDataFactory.cs
- ReleaseInstanceMode.cs
- BufferedStream.cs
- _LocalDataStoreMgr.cs
- ComboBoxDesigner.cs
- IOException.cs
- mediapermission.cs
- ObjectIDGenerator.cs
- ToolboxItemSnapLineBehavior.cs
- PrivateFontCollection.cs
- IDispatchConstantAttribute.cs
- RIPEMD160.cs
- EntityContainer.cs
- BStrWrapper.cs
- XPathScanner.cs
- XmlAttributes.cs
- UIElement3DAutomationPeer.cs
- DataGridItemEventArgs.cs
- DataSpaceManager.cs
- ByteStack.cs
- SerializerProvider.cs
- ControlIdConverter.cs
- ConnectivityStatus.cs
- _ConnectStream.cs
- PersistenceTypeAttribute.cs
- AnonymousIdentificationModule.cs
- ConfigurationSectionCollection.cs
- _WinHttpWebProxyDataBuilder.cs
- LocalBuilder.cs
- ISAPIRuntime.cs
- HotCommands.cs
- handlecollector.cs
- CodeVariableDeclarationStatement.cs
- GenericXmlSecurityToken.cs
- ButtonBaseAdapter.cs
- LogArchiveSnapshot.cs
- Stack.cs
- WindowsUserNameSecurityTokenAuthenticator.cs