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
- SQLInt64Storage.cs
- EditCommandColumn.cs
- JsonQueryStringConverter.cs
- ReaderWriterLock.cs
- ProviderConnectionPoint.cs
- TextTreeRootTextBlock.cs
- SqlTrackingService.cs
- MarkupCompilePass2.cs
- OracleInfoMessageEventArgs.cs
- NotifyParentPropertyAttribute.cs
- ServiceHttpModule.cs
- MimeMapping.cs
- SelectionPatternIdentifiers.cs
- WorkflowOperationFault.cs
- Variant.cs
- MenuItemStyleCollection.cs
- InplaceBitmapMetadataWriter.cs
- DynamicEndpointElement.cs
- ColumnResizeUndoUnit.cs
- StringArrayEditor.cs
- HandlerFactoryCache.cs
- WebPartsPersonalization.cs
- DebugView.cs
- HyperLinkStyle.cs
- LateBoundBitmapDecoder.cs
- OdbcConnectionFactory.cs
- TextRunCache.cs
- KnownTypes.cs
- TypeBuilder.cs
- ExpandCollapseIsCheckedConverter.cs
- MouseActionConverter.cs
- ProtocolsSection.cs
- DefaultAutoFieldGenerator.cs
- ToolStripComboBox.cs
- BufferedReadStream.cs
- XmlSchemaSimpleType.cs
- DependencyObject.cs
- HyperLinkColumn.cs
- XPathMultyIterator.cs
- SqlProcedureAttribute.cs
- CodeThrowExceptionStatement.cs
- ActivationArguments.cs
- DisplayNameAttribute.cs
- UriScheme.cs
- DataGridViewCellValueEventArgs.cs
- DefaultTraceListener.cs
- HandoffBehavior.cs
- ListenerSessionConnectionReader.cs
- CaseExpr.cs
- sqlmetadatafactory.cs
- XPathScanner.cs
- SerializationEventsCache.cs
- TextBoxBaseDesigner.cs
- SapiRecoContext.cs
- TraceData.cs
- AspProxy.cs
- InstalledFontCollection.cs
- PointLightBase.cs
- InstanceCompleteException.cs
- WebPartConnectionsConnectVerb.cs
- TimeoutStream.cs
- TraceRecord.cs
- Clock.cs
- FrameworkContentElement.cs
- XmlEventCache.cs
- SharedDp.cs
- GridEntryCollection.cs
- MailWebEventProvider.cs
- RewritingProcessor.cs
- WorkflowApplicationIdleEventArgs.cs
- ImageCollectionEditor.cs
- TextBoxLine.cs
- Point3DCollection.cs
- StringStorage.cs
- StandardBindingElementCollection.cs
- RewritingProcessor.cs
- PointLightBase.cs
- EdmFunctions.cs
- AndMessageFilterTable.cs
- NativeMethods.cs
- ViewSimplifier.cs
- StdValidatorsAndConverters.cs
- DLinqTableProvider.cs
- MetadataItemSerializer.cs
- XsdDataContractExporter.cs
- PauseStoryboard.cs
- XmlSerializerOperationFormatter.cs
- KeyedHashAlgorithm.cs
- Directory.cs
- TypeCacheManager.cs
- ValueExpressions.cs
- Label.cs
- ThrowHelper.cs
- XsltFunctions.cs
- SerializationInfoEnumerator.cs
- SchemaImporterExtension.cs
- Overlapped.cs
- MessageHeaderT.cs
- FixedTextSelectionProcessor.cs
- TreeViewCancelEvent.cs