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
- Util.cs
- Relationship.cs
- LayoutEditorPart.cs
- GregorianCalendar.cs
- SqlServer2KCompatibilityAnnotation.cs
- BatchStream.cs
- RangeValidator.cs
- EmptyCollection.cs
- BuildResultCache.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- PartialTrustHelpers.cs
- SafeLocalMemHandle.cs
- HTTPNotFoundHandler.cs
- iisPickupDirectory.cs
- FixedSOMLineCollection.cs
- ApplicationId.cs
- TextClipboardData.cs
- StylusDownEventArgs.cs
- StylusDevice.cs
- SmtpSection.cs
- UnsafeNativeMethods.cs
- MatrixUtil.cs
- EncoderBestFitFallback.cs
- Action.cs
- MatrixCamera.cs
- WindowsIdentity.cs
- DesignerVerbCollection.cs
- OletxEnlistment.cs
- ImageAutomationPeer.cs
- StyleSheetDesigner.cs
- XmlSchemaExporter.cs
- XmlName.cs
- CodeDirectionExpression.cs
- DataGridHeaderBorder.cs
- IndexedGlyphRun.cs
- SwitchLevelAttribute.cs
- UnicastIPAddressInformationCollection.cs
- Triplet.cs
- MsmqDiagnostics.cs
- ExtensibleClassFactory.cs
- ArrangedElementCollection.cs
- InvalidContentTypeException.cs
- ListView.cs
- HitTestFilterBehavior.cs
- PrivilegedConfigurationManager.cs
- SerializableAttribute.cs
- ThemeDirectoryCompiler.cs
- SafeSecurityHandles.cs
- EmptyEnumerator.cs
- ManagedWndProcTracker.cs
- HTMLTagNameToTypeMapper.cs
- SQLRoleProvider.cs
- Pointer.cs
- SimpleExpression.cs
- WebScriptMetadataFormatter.cs
- String.cs
- SafeSecurityHandles.cs
- PartBasedPackageProperties.cs
- ProxyGenerationError.cs
- TraceLevelStore.cs
- CrossSiteScriptingValidation.cs
- HtmlInputPassword.cs
- TextRangeAdaptor.cs
- NotConverter.cs
- HealthMonitoringSection.cs
- DataSourceView.cs
- TextTreeInsertUndoUnit.cs
- TypedReference.cs
- SplineKeyFrames.cs
- ClientProxyGenerator.cs
- ExceptionHelpers.cs
- FontWeight.cs
- TypeSource.cs
- ActivitiesCollection.cs
- DataKey.cs
- MouseButton.cs
- ConfigurationFileMap.cs
- Compiler.cs
- IteratorAsyncResult.cs
- ScriptDescriptor.cs
- BigInt.cs
- ConnectionStringsSection.cs
- HttpFileCollectionWrapper.cs
- IndividualDeviceConfig.cs
- Operators.cs
- QueryContinueDragEvent.cs
- CalendarTable.cs
- ControlPager.cs
- SafeMILHandle.cs
- XsdBuildProvider.cs
- OdbcPermission.cs
- MasterPageCodeDomTreeGenerator.cs
- QilDataSource.cs
- URLMembershipCondition.cs
- Size3DConverter.cs
- SplitterCancelEvent.cs
- CqlQuery.cs
- TypeUtils.cs
- ListSourceHelper.cs
- Separator.cs