Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / JoinSymbol.cs / 2 / 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
- SafeNativeMethods.cs
- BuildProvider.cs
- ExpandCollapseProviderWrapper.cs
- InternalBufferOverflowException.cs
- ConfigurationFileMap.cs
- GenericTextProperties.cs
- ArgumentValidation.cs
- XmlEntity.cs
- PrintControllerWithStatusDialog.cs
- XPathNodePointer.cs
- FormViewCommandEventArgs.cs
- ResourceExpressionEditorSheet.cs
- ByteConverter.cs
- ZipFileInfoCollection.cs
- QuaternionAnimationBase.cs
- OleCmdHelper.cs
- DataRowCollection.cs
- ViewBase.cs
- PrinterSettings.cs
- AppSecurityManager.cs
- ConfigurationSection.cs
- CompilationAssemblyInstallComponent.cs
- TreeNodeStyleCollectionEditor.cs
- HandlerBase.cs
- XmlKeywords.cs
- FileRecordSequenceHelper.cs
- ContextMenuStripActionList.cs
- CodeTypeParameter.cs
- WorkflowServiceHost.cs
- ChangeTracker.cs
- DynamicDataRouteHandler.cs
- SpellerHighlightLayer.cs
- ScrollItemProviderWrapper.cs
- RoleManagerEventArgs.cs
- XmlILIndex.cs
- DataGridViewRowConverter.cs
- CodeRemoveEventStatement.cs
- RijndaelCryptoServiceProvider.cs
- GradientPanel.cs
- LinqDataSourceValidationException.cs
- ButtonField.cs
- PolyBezierSegmentFigureLogic.cs
- SqlBinder.cs
- KoreanLunisolarCalendar.cs
- ImageMetadata.cs
- ProtocolsConfigurationEntry.cs
- InputBindingCollection.cs
- InvalidEnumArgumentException.cs
- sqlinternaltransaction.cs
- externdll.cs
- DBParameter.cs
- DrawingContextDrawingContextWalker.cs
- IChannel.cs
- XAMLParseException.cs
- RSAOAEPKeyExchangeDeformatter.cs
- DoubleUtil.cs
- CardSpaceSelector.cs
- XmlWellformedWriter.cs
- ResourcePart.cs
- TextRunProperties.cs
- ScrollChrome.cs
- securitycriticaldataClass.cs
- SourceSwitch.cs
- ConfigsHelper.cs
- TextRange.cs
- GotoExpression.cs
- WebBrowserContainer.cs
- DataGridViewAccessibleObject.cs
- GeneralTransform3D.cs
- LookupNode.cs
- FtpWebRequest.cs
- JournalEntryStack.cs
- DependencyPropertyDescriptor.cs
- ClientConfigurationHost.cs
- EntityViewContainer.cs
- FontStyleConverter.cs
- DataGridLinkButton.cs
- AllMembershipCondition.cs
- VariableAction.cs
- ColorDialog.cs
- HttpContextServiceHost.cs
- Registry.cs
- FormatConvertedBitmap.cs
- UriTemplateTrieLocation.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- AxWrapperGen.cs
- HtmlShim.cs
- DefaultValueConverter.cs
- ConfigXmlAttribute.cs
- PerformanceCounterManager.cs
- SmiXetterAccessMap.cs
- METAHEADER.cs
- ChildrenQuery.cs
- _MultipleConnectAsync.cs
- SHA256Managed.cs
- EmbeddedMailObjectsCollection.cs
- DesignerSerializerAttribute.cs
- UIElementCollection.cs
- ScriptManagerProxy.cs
- EditorOptionAttribute.cs