Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / SymbolPair.cs / 1305376 / SymbolPair.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
{
///
/// The SymbolPair exists to solve the record flattening problem.
///
/// Consider a property expression D(v, "j3.j2.j1.a.x")
/// where v is a VarRef, j1, j2, j3 are joins, a is an extent and x is a columns.
/// This has to be translated eventually into {j'}.{x'}
///
/// The source field represents the outermost SqlStatement representing a join
/// expression (say j2) - this is always a Join symbol.
///
/// The column field keeps moving from one join symbol to the next, until it
/// stops at a non-join symbol.
///
/// This is returned by ,
/// but never makes it into a SqlBuilder.
///
class SymbolPair : ISqlFragment
{
public Symbol Source;
public Symbol Column;
public SymbolPair(Symbol source, Symbol column)
{
this.Source = source;
this.Column = column;
}
#region ISqlFragment Members
public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator)
{
// Symbol pair should never be part of a SqlBuilder.
Debug.Assert(false);
}
#endregion
}
}
// 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
- ContentTextAutomationPeer.cs
- WindowClosedEventArgs.cs
- FixedSOMLineCollection.cs
- FilePresentation.cs
- XPathConvert.cs
- SessionIDManager.cs
- KeyEvent.cs
- SecurityTokenRequirement.cs
- MetadataArtifactLoaderComposite.cs
- VariableQuery.cs
- IssuedTokenServiceElement.cs
- TraceEventCache.cs
- StylusButtonCollection.cs
- Stack.cs
- CmsUtils.cs
- WebPartsPersonalization.cs
- COM2PictureConverter.cs
- LogFlushAsyncResult.cs
- KeyGesture.cs
- ObservableCollectionDefaultValueFactory.cs
- JapaneseLunisolarCalendar.cs
- CqlQuery.cs
- SymbolPair.cs
- DrawItemEvent.cs
- DocumentOrderQuery.cs
- ScrollPattern.cs
- XmlMapping.cs
- InitializationEventAttribute.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- XmlDataSource.cs
- ZipIOExtraField.cs
- WebHeaderCollection.cs
- XmlReflectionMember.cs
- BrushValueSerializer.cs
- DataRecord.cs
- Scene3D.cs
- RecommendedAsConfigurableAttribute.cs
- ScaleTransform.cs
- PropagationProtocolsTracing.cs
- connectionpool.cs
- ShapingWorkspace.cs
- NotifyInputEventArgs.cs
- XmlUTF8TextReader.cs
- PenLineJoinValidation.cs
- EditingCommands.cs
- Listener.cs
- TileBrush.cs
- DataErrorValidationRule.cs
- MULTI_QI.cs
- PlatformCulture.cs
- RegionInfo.cs
- Solver.cs
- HeaderUtility.cs
- ChangeToolStripParentVerb.cs
- HostingEnvironmentSection.cs
- PrintingPermissionAttribute.cs
- PreloadedPackages.cs
- CheckedPointers.cs
- ACE.cs
- EdmItemCollection.OcAssemblyCache.cs
- TextEffect.cs
- DataStreams.cs
- OleDbMetaDataFactory.cs
- DocumentPageHost.cs
- WindowsScrollBar.cs
- ConfigXmlWhitespace.cs
- ResourcePool.cs
- WebPartDescription.cs
- XPathArrayIterator.cs
- AssemblyName.cs
- LogReserveAndAppendState.cs
- EventLogReader.cs
- DataMemberAttribute.cs
- ThreadStartException.cs
- CancellableEnumerable.cs
- AddInStore.cs
- EventProperty.cs
- DSGeneratorProblem.cs
- ListBindingConverter.cs
- OdbcTransaction.cs
- DataServiceOperationContext.cs
- CodeThrowExceptionStatement.cs
- ContractInferenceHelper.cs
- UTF7Encoding.cs
- PauseStoryboard.cs
- DataGridViewButtonColumn.cs
- DataServiceQueryException.cs
- InteropAutomationProvider.cs
- BroadcastEventHelper.cs
- SR.cs
- Message.cs
- ISSmlParser.cs
- Internal.cs
- Stackframe.cs
- DataTableNameHandler.cs
- DataListGeneralPage.cs
- Tablet.cs
- FontStretches.cs
- InstanceNotReadyException.cs
- SystemWebCachingSectionGroup.cs