Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- // // 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
- InvokeSchedule.cs
- EntitySqlException.cs
- PasswordRecoveryDesigner.cs
- WCFModelStrings.Designer.cs
- DesignerWebPartChrome.cs
- ClientBuildManagerCallback.cs
- Variant.cs
- MessageQueuePermissionEntryCollection.cs
- EnumerableRowCollection.cs
- FormViewInsertEventArgs.cs
- KeyedCollection.cs
- CriticalFinalizerObject.cs
- XmlCharacterData.cs
- ScriptControlManager.cs
- JsonFormatReaderGenerator.cs
- LayoutUtils.cs
- CompilerResults.cs
- NavigationService.cs
- DownloadProgressEventArgs.cs
- WebPartActionVerb.cs
- ScalarRestriction.cs
- NameService.cs
- DataSourceListEditor.cs
- XsltArgumentList.cs
- ComponentEditorForm.cs
- ListViewEditEventArgs.cs
- ClientScriptManager.cs
- DynamicRenderer.cs
- FormsAuthenticationModule.cs
- HtmlLinkAdapter.cs
- InfoCardService.cs
- FixedHighlight.cs
- XmlParser.cs
- Privilege.cs
- FilterQuery.cs
- XmlSchemaAttributeGroup.cs
- TransportChannelListener.cs
- XmlSchemaGroup.cs
- StaticResourceExtension.cs
- BinarySerializer.cs
- ToolStripSeparatorRenderEventArgs.cs
- Path.cs
- SqlBulkCopy.cs
- Bind.cs
- TextServicesContext.cs
- HtmlInputButton.cs
- TagMapCollection.cs
- ProtocolsConfiguration.cs
- AnnotationAuthorChangedEventArgs.cs
- GeneralTransform3DTo2D.cs
- DocumentPropertiesDialog.cs
- QilExpression.cs
- AttachedAnnotationChangedEventArgs.cs
- TrackBar.cs
- EntityContainer.cs
- httpserverutility.cs
- DataGridViewBand.cs
- TableItemPatternIdentifiers.cs
- DocumentViewerBase.cs
- TypeRestriction.cs
- WpfWebRequestHelper.cs
- DbDataSourceEnumerator.cs
- LinkLabel.cs
- ButtonField.cs
- HttpApplication.cs
- pingexception.cs
- EncoderBestFitFallback.cs
- FlowPosition.cs
- CodeTypeDelegate.cs
- XmlChildEnumerator.cs
- DataViewSetting.cs
- SerialReceived.cs
- ImportCatalogPart.cs
- XmlTextReaderImpl.cs
- XmlLangPropertyAttribute.cs
- EditorZone.cs
- SiteIdentityPermission.cs
- HttpConfigurationSystem.cs
- TypeConstant.cs
- ToolboxDataAttribute.cs
- HorizontalAlignConverter.cs
- ChangeTracker.cs
- CodeTypeParameter.cs
- AppSettingsExpressionBuilder.cs
- XmlSchemaComplexContentRestriction.cs
- ThreadSafeList.cs
- DataMember.cs
- ResetableIterator.cs
- ExplicitDiscriminatorMap.cs
- EmbeddedMailObjectsCollection.cs
- RegexCapture.cs
- AutomationPatternInfo.cs
- ReadOnlyDictionary.cs
- BuildProviderUtils.cs
- PageThemeParser.cs
- CommonGetThemePartSize.cs
- FilterQuery.cs
- ObjectNavigationPropertyMapping.cs
- RemotingConfigParser.cs
- TargetParameterCountException.cs