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
- cookiecollection.cs
- AnnouncementInnerClient11.cs
- XmlSchemaElement.cs
- InternalMappingException.cs
- QueryContinueDragEventArgs.cs
- UnderstoodHeaders.cs
- XmlTextReaderImplHelpers.cs
- RijndaelManagedTransform.cs
- PlanCompilerUtil.cs
- NonDualMessageSecurityOverHttp.cs
- Adorner.cs
- DiscoveryMessageSequence11.cs
- UnSafeCharBuffer.cs
- RegistrationContext.cs
- SplayTreeNode.cs
- HexParser.cs
- ModelItem.cs
- DirectionalLight.cs
- CodeCompiler.cs
- ColorTranslator.cs
- DataSourceIDConverter.cs
- PropertyFilter.cs
- CompiledELinqQueryState.cs
- OperationCanceledException.cs
- xamlnodes.cs
- OnOperation.cs
- PerCallInstanceContextProvider.cs
- GifBitmapEncoder.cs
- Substitution.cs
- StyleHelper.cs
- DuplexChannelFactory.cs
- BindingContext.cs
- MethodBody.cs
- BaseInfoTable.cs
- MessageQueuePermissionEntryCollection.cs
- ButtonFieldBase.cs
- PipelineModuleStepContainer.cs
- CommandDevice.cs
- SecureConversationDriver.cs
- ValueUnavailableException.cs
- IMembershipProvider.cs
- CallbackTimeoutsBehavior.cs
- GenericPrincipal.cs
- pingexception.cs
- OdbcErrorCollection.cs
- ReadOnlyNameValueCollection.cs
- BinaryKeyIdentifierClause.cs
- TaskFormBase.cs
- IconConverter.cs
- PixelShader.cs
- ServiceMoniker.cs
- TagMapCollection.cs
- IconConverter.cs
- DataSourceCacheDurationConverter.cs
- QueryResultOp.cs
- NullableBoolConverter.cs
- TraceUtility.cs
- ConfigurationSchemaErrors.cs
- ConditionalExpression.cs
- RequestUriProcessor.cs
- TagNameToTypeMapper.cs
- DataGridViewUtilities.cs
- TargetControlTypeCache.cs
- CreateUserWizardAutoFormat.cs
- Atom10ItemFormatter.cs
- EdmSchemaError.cs
- DocumentAutomationPeer.cs
- LambdaCompiler.ControlFlow.cs
- GeneralTransform3DGroup.cs
- XPathAxisIterator.cs
- SwitchAttribute.cs
- PartialCachingAttribute.cs
- CompleteWizardStep.cs
- ProfileSettings.cs
- MulticastOption.cs
- EnvironmentPermission.cs
- TextRenderer.cs
- GridView.cs
- DrawingImage.cs
- DBSqlParserColumn.cs
- CompilerHelpers.cs
- EdmSchemaError.cs
- XmlSchemaGroupRef.cs
- WebControlAdapter.cs
- VisualTarget.cs
- ConfigurationSection.cs
- SoapConverter.cs
- TimeoutException.cs
- VisualTreeHelper.cs
- EventEntry.cs
- NullToBooleanConverter.cs
- TransformerInfoCollection.cs
- NegationPusher.cs
- DBNull.cs
- StretchValidation.cs
- CompilationAssemblyInstallComponent.cs
- SoapObjectReader.cs
- Symbol.cs
- filewebrequest.cs
- Popup.cs