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
- ObjectAnimationBase.cs
- Span.cs
- EmptyEnumerator.cs
- Peer.cs
- TextProviderWrapper.cs
- UnsafeNativeMethodsPenimc.cs
- MaskedTextBoxTextEditorDropDown.cs
- ObjectView.cs
- BaseResourcesBuildProvider.cs
- LinqDataSourceHelper.cs
- returneventsaver.cs
- nulltextcontainer.cs
- ContainerControlDesigner.cs
- VersionUtil.cs
- ChildChangedEventArgs.cs
- DataColumn.cs
- ToggleButton.cs
- Context.cs
- BindingRestrictions.cs
- WebPageTraceListener.cs
- StorageBasedPackageProperties.cs
- SQLByte.cs
- DynamicMethod.cs
- QuaternionAnimationBase.cs
- Cell.cs
- ThumbButtonInfoCollection.cs
- MonthCalendar.cs
- FileChangesMonitor.cs
- CollectionBase.cs
- SourceLineInfo.cs
- Int16AnimationUsingKeyFrames.cs
- PageThemeParser.cs
- AsmxEndpointPickerExtension.cs
- ConfigViewGenerator.cs
- KeyEventArgs.cs
- DashStyle.cs
- StrokeNodeData.cs
- ActiveXContainer.cs
- DispatcherExceptionFilterEventArgs.cs
- MetadataUtil.cs
- ITextView.cs
- DBConnectionString.cs
- HTMLTextWriter.cs
- SQLBytesStorage.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- StructuredTypeInfo.cs
- DataGridViewTopLeftHeaderCell.cs
- _BaseOverlappedAsyncResult.cs
- LambdaCompiler.ControlFlow.cs
- AuthenticateEventArgs.cs
- FileDialog_Vista_Interop.cs
- UrlMappingCollection.cs
- StrokeRenderer.cs
- ComponentDispatcher.cs
- FormViewRow.cs
- StreamBodyWriter.cs
- WindowsGrip.cs
- MultiBindingExpression.cs
- DefaultConfirmation.cs
- FormViewInsertEventArgs.cs
- SystemDiagnosticsSection.cs
- SslStream.cs
- XmlNodeChangedEventManager.cs
- ToolboxComponentsCreatingEventArgs.cs
- TimelineClockCollection.cs
- MarkedHighlightComponent.cs
- TransformConverter.cs
- TimelineGroup.cs
- HandlerWithFactory.cs
- ColumnMapVisitor.cs
- ConnectionStringsExpressionBuilder.cs
- Recipient.cs
- FontUnit.cs
- SchemaImporterExtension.cs
- DBProviderConfigurationHandler.cs
- LocationReferenceValue.cs
- GuidConverter.cs
- ControlAdapter.cs
- DesignerAttribute.cs
- GridViewSelectEventArgs.cs
- AssemblyUtil.cs
- LiteralControl.cs
- UnicodeEncoding.cs
- TokenFactoryFactory.cs
- OrderedEnumerableRowCollection.cs
- MyContact.cs
- AtomServiceDocumentSerializer.cs
- Image.cs
- TopClause.cs
- BufferModesCollection.cs
- FixedSOMPageElement.cs
- PanelStyle.cs
- StructuredType.cs
- SqlNotificationEventArgs.cs
- ExpressionPrefixAttribute.cs
- XmlSubtreeReader.cs
- ChtmlCommandAdapter.cs
- PassportAuthenticationModule.cs
- CorrelationToken.cs
- ServiceNotStartedException.cs