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
- ObfuscationAttribute.cs
- CustomCategoryAttribute.cs
- SQLBytesStorage.cs
- AttachedPropertyDescriptor.cs
- HandlerFactoryWrapper.cs
- BrowserCapabilitiesFactoryBase.cs
- TemplateControlParser.cs
- DetailsViewCommandEventArgs.cs
- EntityDataSourceColumn.cs
- UnauthorizedWebPart.cs
- ProcessThread.cs
- RIPEMD160Managed.cs
- Vector3DAnimationUsingKeyFrames.cs
- ToolboxItemWrapper.cs
- UndirectedGraph.cs
- XPathBinder.cs
- IDReferencePropertyAttribute.cs
- EntryIndex.cs
- _ConnectOverlappedAsyncResult.cs
- PropertyNames.cs
- Encoding.cs
- ProfileService.cs
- CodeTypeParameter.cs
- TagMapCollection.cs
- DataListItemCollection.cs
- SignatureDescription.cs
- WebPartMovingEventArgs.cs
- AppDomainShutdownMonitor.cs
- FloatAverageAggregationOperator.cs
- SerializationFieldInfo.cs
- BindableAttribute.cs
- OdbcUtils.cs
- DashStyles.cs
- UInt32Storage.cs
- ThrowHelper.cs
- WasEndpointConfigContainer.cs
- _StreamFramer.cs
- XPathChildIterator.cs
- XmlSchemaAttribute.cs
- Parameter.cs
- XmlIncludeAttribute.cs
- FileIOPermission.cs
- RecognizerInfo.cs
- ProgressBar.cs
- XmlDataLoader.cs
- PrivilegeNotHeldException.cs
- UpdatableGenericsFeature.cs
- BreakRecordTable.cs
- _FixedSizeReader.cs
- ContentPlaceHolder.cs
- EntityWrapperFactory.cs
- PathSegment.cs
- HwndHost.cs
- SqlCommand.cs
- RtfControls.cs
- InvokeWebServiceDesigner.cs
- DesignColumnCollection.cs
- AddingNewEventArgs.cs
- DecoderNLS.cs
- XamlSerializerUtil.cs
- AtomEntry.cs
- RequiredAttributeAttribute.cs
- AnimatedTypeHelpers.cs
- VoiceObjectToken.cs
- ArithmeticException.cs
- ServiceModelConfigurationSectionGroup.cs
- ViewService.cs
- ConvertersCollection.cs
- XComponentModel.cs
- JoinGraph.cs
- FontNameConverter.cs
- _FixedSizeReader.cs
- bidPrivateBase.cs
- QilTernary.cs
- ServicePoint.cs
- OutgoingWebResponseContext.cs
- CodeGroup.cs
- HostDesigntimeLicenseContext.cs
- RoleManagerEventArgs.cs
- SelectedGridItemChangedEvent.cs
- InOutArgument.cs
- RootBrowserWindow.cs
- CallbackValidator.cs
- basecomparevalidator.cs
- PointLightBase.cs
- ConfigurationStrings.cs
- ScriptComponentDescriptor.cs
- DataGridViewBindingCompleteEventArgs.cs
- FontEmbeddingManager.cs
- InputScopeConverter.cs
- TrustLevel.cs
- DispatcherFrame.cs
- ImageMap.cs
- MenuCommandsChangedEventArgs.cs
- ParameterElementCollection.cs
- XamlTypeMapper.cs
- ObjectComplexPropertyMapping.cs
- Atom10ItemFormatter.cs
- AppDomain.cs
- MimeTypeMapper.cs