Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- HttpPostedFile.cs
- TableChangeProcessor.cs
- TransformConverter.cs
- ToolboxComponentsCreatingEventArgs.cs
- XPathScanner.cs
- JavaScriptSerializer.cs
- EdmComplexTypeAttribute.cs
- TypeDelegator.cs
- ObjectQueryExecutionPlan.cs
- CustomAttributeBuilder.cs
- TextTabProperties.cs
- SByteStorage.cs
- SubtreeProcessor.cs
- InputBuffer.cs
- DependencyPropertyConverter.cs
- FieldTemplateUserControl.cs
- SerializableReadOnlyDictionary.cs
- OracleMonthSpan.cs
- ChtmlTextWriter.cs
- XPathParser.cs
- ListViewSelectEventArgs.cs
- PropertyGridCommands.cs
- IconConverter.cs
- OneOfTypeConst.cs
- PackageStore.cs
- GraphicsState.cs
- OleDbInfoMessageEvent.cs
- InvalidFilterCriteriaException.cs
- SmtpReplyReader.cs
- CreateUserWizardDesigner.cs
- mil_commands.cs
- ParseChildrenAsPropertiesAttribute.cs
- httpserverutility.cs
- MarkupCompiler.cs
- DesignBindingPicker.cs
- BlobPersonalizationState.cs
- ConfigXmlWhitespace.cs
- _FtpControlStream.cs
- FixUp.cs
- TypedAsyncResult.cs
- CompleteWizardStep.cs
- ResourceDictionary.cs
- codemethodreferenceexpression.cs
- LinkedResource.cs
- ProbeRequestResponseAsyncResult.cs
- TableCellCollection.cs
- EntityConnectionStringBuilderItem.cs
- Propagator.cs
- ClientTargetCollection.cs
- SizeChangedEventArgs.cs
- DependencyObject.cs
- Int16AnimationBase.cs
- TransformGroup.cs
- Compilation.cs
- CacheChildrenQuery.cs
- TranslateTransform3D.cs
- PartialTrustVisibleAssembly.cs
- SspiNegotiationTokenProvider.cs
- Delay.cs
- Control.cs
- SkinBuilder.cs
- basecomparevalidator.cs
- XmlSerializableWriter.cs
- SecurityManager.cs
- GlyphTypeface.cs
- ListViewAutomationPeer.cs
- AnnouncementInnerClient11.cs
- ValidationHelper.cs
- ObjectParameterCollection.cs
- ObjectDataSourceSelectingEventArgs.cs
- TreeNodeBinding.cs
- RemoteWebConfigurationHostServer.cs
- ProgressBarBrushConverter.cs
- _HeaderInfo.cs
- FatalException.cs
- WindowsAuthenticationEventArgs.cs
- Serialization.cs
- GeneralTransformGroup.cs
- CustomMenuItemCollection.cs
- SymDocumentType.cs
- EdmFunction.cs
- BrowserCapabilitiesCodeGenerator.cs
- CompressedStack.cs
- ExpressionHelper.cs
- QilXmlReader.cs
- MenuTracker.cs
- WindowsTokenRoleProvider.cs
- QilVisitor.cs
- WorkflowOperationBehavior.cs
- AssemblyBuilder.cs
- MeasureItemEvent.cs
- EntityTransaction.cs
- FixedPageAutomationPeer.cs
- TraceData.cs
- Point3DAnimation.cs
- Effect.cs
- RulePatternOps.cs
- documentsequencetextcontainer.cs
- _BufferOffsetSize.cs
- ElementsClipboardData.cs