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
- HScrollBar.cs
- TransformationRules.cs
- SQLInt32Storage.cs
- CopyNamespacesAction.cs
- ListItemConverter.cs
- DoubleCollectionValueSerializer.cs
- TypeLoadException.cs
- CompensatableTransactionScopeActivityDesigner.cs
- ReadOnlyNameValueCollection.cs
- DesignerForm.cs
- MsmqHostedTransportManager.cs
- TreeWalker.cs
- JavaScriptSerializer.cs
- DbConnectionStringBuilder.cs
- ModuleConfigurationInfo.cs
- RootBuilder.cs
- FindSimilarActivitiesVerb.cs
- SpStreamWrapper.cs
- CultureMapper.cs
- LinkDescriptor.cs
- DynamicPropertyReader.cs
- BidOverLoads.cs
- KnownTypeAttribute.cs
- InvokeMethodDesigner.xaml.cs
- TemplateControlCodeDomTreeGenerator.cs
- SafeMemoryMappedFileHandle.cs
- BitmapFrameDecode.cs
- LineBreak.cs
- XmlDocumentFragment.cs
- Identity.cs
- XhtmlBasicListAdapter.cs
- RuleSetBrowserDialog.cs
- ParameterBuilder.cs
- ISO2022Encoding.cs
- RegionIterator.cs
- DeclarativeCatalogPart.cs
- handlecollector.cs
- ClientRoleProvider.cs
- HttpCapabilitiesBase.cs
- XmlEventCache.cs
- DataGridViewControlCollection.cs
- DynamicFilterExpression.cs
- ObjectContextServiceProvider.cs
- OdbcTransaction.cs
- odbcmetadatacollectionnames.cs
- BigInt.cs
- DataGridViewRowCollection.cs
- EmbeddedObject.cs
- HttpMethodAttribute.cs
- DataBoundLiteralControl.cs
- SapiRecoInterop.cs
- SecurityPolicySection.cs
- FunctionImportElement.cs
- ServiceDeploymentInfo.cs
- XmlSchemaImport.cs
- BulletChrome.cs
- Aggregates.cs
- FilteredDataSetHelper.cs
- AdRotator.cs
- RoleGroupCollection.cs
- ResizeGrip.cs
- ClientSettings.cs
- NativeObjectSecurity.cs
- EditingScopeUndoUnit.cs
- DemultiplexingDispatchMessageFormatter.cs
- Camera.cs
- CodeTypeDeclaration.cs
- PenThreadWorker.cs
- BamlLocalizabilityResolver.cs
- QilScopedVisitor.cs
- TreeNodeClickEventArgs.cs
- baseaxisquery.cs
- Scene3D.cs
- CalendarDay.cs
- StopStoryboard.cs
- AnimatedTypeHelpers.cs
- HttpServerVarsCollection.cs
- FileAuthorizationModule.cs
- UpdateExpressionVisitor.cs
- QilReplaceVisitor.cs
- TagPrefixInfo.cs
- Timeline.cs
- VisualStyleTypesAndProperties.cs
- RawTextInputReport.cs
- EventLogWatcher.cs
- KeyValuePair.cs
- BinaryNode.cs
- InputChannelAcceptor.cs
- WsdlParser.cs
- RectKeyFrameCollection.cs
- WebPart.cs
- PagesSection.cs
- UncommonField.cs
- SoapTypeAttribute.cs
- AdornerPresentationContext.cs
- SystemIPGlobalProperties.cs
- DockProviderWrapper.cs
- XmlSchemaDocumentation.cs
- DataTable.cs
- ColorAnimation.cs