Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ParameterBuilder.cs
- Win32Native.cs
- HttpHandlerActionCollection.cs
- _NetRes.cs
- CharacterHit.cs
- MarkupCompiler.cs
- SafeProcessHandle.cs
- PasswordRecoveryAutoFormat.cs
- Thumb.cs
- ByteKeyFrameCollection.cs
- MultiSelector.cs
- XamlWrappingReader.cs
- TransformedBitmap.cs
- DesignerAdRotatorAdapter.cs
- MessageQueueEnumerator.cs
- ConfigViewGenerator.cs
- DesignerCommandSet.cs
- Rect3D.cs
- SystemGatewayIPAddressInformation.cs
- DirectoryObjectSecurity.cs
- ContractSearchPattern.cs
- Memoizer.cs
- XamlTypeMapper.cs
- CollectionView.cs
- Light.cs
- TypeUtil.cs
- KnownBoxes.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- SmiContextFactory.cs
- RemoteX509AsymmetricSecurityKey.cs
- BamlStream.cs
- TransformerConfigurationWizardBase.cs
- TextDecorationUnitValidation.cs
- MetricEntry.cs
- Vector3DIndependentAnimationStorage.cs
- StreamBodyWriter.cs
- BaseAddressPrefixFilterElement.cs
- EndpointDiscoveryMetadata.cs
- Memoizer.cs
- NumericUpDown.cs
- TableLayout.cs
- PeerInvitationResponse.cs
- UserNameSecurityTokenProvider.cs
- SoapFault.cs
- PrintingPermissionAttribute.cs
- DisplayInformation.cs
- DataControlFieldHeaderCell.cs
- FastPropertyAccessor.cs
- ExpressionParser.cs
- TimeSpanConverter.cs
- Trace.cs
- FamilyTypeface.cs
- DeferredSelectedIndexReference.cs
- RelativeSource.cs
- AppSettingsReader.cs
- IgnoreSectionHandler.cs
- ReadOnlyMetadataCollection.cs
- Line.cs
- ExceptionHandlerDesigner.cs
- SafeThemeHandle.cs
- PropertyEmitter.cs
- SchemaSetCompiler.cs
- NewArrayExpression.cs
- FlowDocumentView.cs
- SqlProfileProvider.cs
- JulianCalendar.cs
- Binding.cs
- NativeMethods.cs
- Perspective.cs
- EntityContainer.cs
- ISAPIWorkerRequest.cs
- BinaryParser.cs
- OdbcConnectionString.cs
- ReferenceEqualityComparer.cs
- FileInfo.cs
- DesignerObject.cs
- AuthenticatedStream.cs
- GroupItemAutomationPeer.cs
- BindingMAnagerBase.cs
- Opcode.cs
- SoapReflectionImporter.cs
- Transactions.cs
- ConsumerConnectionPoint.cs
- CalendarTable.cs
- TrackingProfile.cs
- NotCondition.cs
- GacUtil.cs
- DataContractAttribute.cs
- CryptoStream.cs
- SafeHGlobalHandleCritical.cs
- SystemWebExtensionsSectionGroup.cs
- Lasso.cs
- CallTemplateAction.cs
- QueryPageSettingsEventArgs.cs
- X509Chain.cs
- ErrorFormatter.cs
- LineInfo.cs
- XmlAnyElementAttribute.cs
- MemberDescriptor.cs
- TriggerActionCollection.cs