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
- SemanticTag.cs
- MissingMemberException.cs
- AppendHelper.cs
- WSMessageEncoding.cs
- PersistenceTask.cs
- XPathNodeInfoAtom.cs
- Light.cs
- SafeFileHandle.cs
- PointValueSerializer.cs
- BitmapEffectRenderDataResource.cs
- ToolbarAUtomationPeer.cs
- DataServiceQuery.cs
- UnicastIPAddressInformationCollection.cs
- BitmapFrame.cs
- EventLogInformation.cs
- AssemblyBuilder.cs
- Group.cs
- WhitespaceRuleLookup.cs
- MouseOverProperty.cs
- FirstMatchCodeGroup.cs
- HwndSourceParameters.cs
- Token.cs
- PrtCap_Reader.cs
- HttpResponseInternalWrapper.cs
- WindowsScrollBarBits.cs
- XPathNavigator.cs
- ModelPropertyImpl.cs
- CTreeGenerator.cs
- CanonicalizationDriver.cs
- EventLogEntryCollection.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- TextMetrics.cs
- ComNativeDescriptor.cs
- PreloadHost.cs
- ComPlusServiceHost.cs
- VirtualDirectoryMapping.cs
- ClientConfigPaths.cs
- InternalSafeNativeMethods.cs
- TypeInfo.cs
- AttributeCollection.cs
- SafeHandles.cs
- DBCSCodePageEncoding.cs
- BindingWorker.cs
- PolyBezierSegment.cs
- TextPenaltyModule.cs
- TextSpan.cs
- ListenerConnectionDemuxer.cs
- DataColumnChangeEvent.cs
- AudioDeviceOut.cs
- input.cs
- ContentOperations.cs
- DynamicPropertyReader.cs
- ValuePatternIdentifiers.cs
- WebRequestModulesSection.cs
- ObjectHelper.cs
- StaticContext.cs
- UnhandledExceptionEventArgs.cs
- Cursor.cs
- ThreadPool.cs
- WmpBitmapEncoder.cs
- CodeVariableDeclarationStatement.cs
- StoragePropertyMapping.cs
- ExpandCollapsePattern.cs
- ToolboxControl.cs
- IdentityNotMappedException.cs
- TranslateTransform.cs
- SmiGettersStream.cs
- TemplateGroupCollection.cs
- ReadWriteSpinLock.cs
- XmlDigitalSignatureProcessor.cs
- WebPartMenu.cs
- DataBindingExpressionBuilder.cs
- ResetableIterator.cs
- SafeNativeMethods.cs
- SchemaCollectionPreprocessor.cs
- SQLDecimal.cs
- StateMachineWorkflowDesigner.cs
- ServiceSecurityAuditElement.cs
- FormViewUpdateEventArgs.cs
- DataServiceKeyAttribute.cs
- SerializationStore.cs
- ThrowHelper.cs
- XPathDocument.cs
- NamespaceDecl.cs
- DragEventArgs.cs
- TCPListener.cs
- OleStrCAMarshaler.cs
- UIElementAutomationPeer.cs
- WorkflowExecutor.cs
- Util.cs
- PriorityBindingExpression.cs
- ImplicitInputBrush.cs
- ListViewItemEventArgs.cs
- RunWorkerCompletedEventArgs.cs
- FlowDecisionLabelFeature.cs
- CompilationLock.cs
- File.cs
- HttpRuntimeSection.cs
- OracleString.cs
- JoinTreeNode.cs