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
- Shape.cs
- DataGridViewCell.cs
- ExpressionBindingCollection.cs
- Script.cs
- DetailsViewPagerRow.cs
- PersianCalendar.cs
- ListDataBindEventArgs.cs
- DoubleLink.cs
- NamespaceList.cs
- Cursors.cs
- ProvidersHelper.cs
- EntitySet.cs
- SynchronizedInputPattern.cs
- StylusDevice.cs
- BitmapEffectrendercontext.cs
- AttributedMetaModel.cs
- TabControl.cs
- CqlBlock.cs
- CodeParameterDeclarationExpression.cs
- _Rfc2616CacheValidators.cs
- StructuredTypeEmitter.cs
- PointAnimationUsingKeyFrames.cs
- ColumnPropertiesGroup.cs
- CompiledScopeCriteria.cs
- ParallelTimeline.cs
- PersianCalendar.cs
- DataGridViewRowsRemovedEventArgs.cs
- Opcode.cs
- BitmapEffectInput.cs
- ClassicBorderDecorator.cs
- x509store.cs
- PartialCachingControl.cs
- SpellerHighlightLayer.cs
- GenericRootAutomationPeer.cs
- AdornedElementPlaceholder.cs
- DbDataReader.cs
- ToolBarButtonClickEvent.cs
- PageTrueTypeFont.cs
- _SecureChannel.cs
- WindowsAuthenticationEventArgs.cs
- SqlDataSourceEnumerator.cs
- ForwardPositionQuery.cs
- SafeSecurityHelper.cs
- FileRecordSequenceCompletedAsyncResult.cs
- TemplateControlCodeDomTreeGenerator.cs
- ActiveXContainer.cs
- RuleSettings.cs
- Expressions.cs
- RightsManagementInformation.cs
- MetadataArtifactLoaderCompositeResource.cs
- ToolStripContainerActionList.cs
- InstanceKeyView.cs
- BuiltInPermissionSets.cs
- DataServiceRequestException.cs
- XmlDictionaryReader.cs
- DataGridRow.cs
- SBCSCodePageEncoding.cs
- SourceElementsCollection.cs
- _NestedSingleAsyncResult.cs
- InstancePersistenceException.cs
- TogglePattern.cs
- QuaternionAnimationBase.cs
- ActionFrame.cs
- ProtocolReflector.cs
- webbrowsersite.cs
- GradientBrush.cs
- BooleanAnimationUsingKeyFrames.cs
- FixedDocumentPaginator.cs
- GridItemPattern.cs
- ValidatorUtils.cs
- EmptyEnumerator.cs
- Task.cs
- SqlTypeSystemProvider.cs
- CurrentTimeZone.cs
- versioninfo.cs
- BaseResourcesBuildProvider.cs
- EdmItemCollection.cs
- ImageDrawing.cs
- LinearGradientBrush.cs
- StructuredProperty.cs
- ConfigurationSectionHelper.cs
- KeyValueInternalCollection.cs
- HebrewCalendar.cs
- ResourceReferenceKeyNotFoundException.cs
- ImageInfo.cs
- SequentialUshortCollection.cs
- TextLine.cs
- XPathNodePointer.cs
- XmlSchemaAnnotated.cs
- EUCJPEncoding.cs
- DataKeyArray.cs
- NativeMethods.cs
- WindowsScrollBarBits.cs
- StyleSelector.cs
- DefaultValueConverter.cs
- BuildProviderAppliesToAttribute.cs
- FocusTracker.cs
- Pair.cs
- SafeBitVector32.cs
- ProviderSettings.cs