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
- SpeechUI.cs
- PtsContext.cs
- DeflateEmulationStream.cs
- ThreadInterruptedException.cs
- AppSettingsExpressionBuilder.cs
- ButtonBaseDesigner.cs
- RowVisual.cs
- AnnotationService.cs
- HTMLTagNameToTypeMapper.cs
- SqlDeflator.cs
- ResourceIDHelper.cs
- SiteMapPath.cs
- XmlQueryContext.cs
- QilTypeChecker.cs
- SqlXmlStorage.cs
- BreakRecordTable.cs
- NativeMethodsCLR.cs
- PrePrepareMethodAttribute.cs
- DataSysAttribute.cs
- SoapIgnoreAttribute.cs
- Helper.cs
- BitmapDecoder.cs
- RemotingSurrogateSelector.cs
- ArgumentException.cs
- CallbackValidator.cs
- MarkupCompilePass2.cs
- WebPartDeleteVerb.cs
- ObjectDataSourceFilteringEventArgs.cs
- XamlReaderHelper.cs
- MenuAutomationPeer.cs
- LinkedResourceCollection.cs
- DataSpaceManager.cs
- ResourceDefaultValueAttribute.cs
- RegistryPermission.cs
- RegisteredExpandoAttribute.cs
- SqlDataSourceCommandEventArgs.cs
- MediaCommands.cs
- DbInsertCommandTree.cs
- ServicePointManager.cs
- PingReply.cs
- XXXInfos.cs
- X509UI.cs
- DataViewSettingCollection.cs
- ErrorFormatter.cs
- ObjectDataSource.cs
- CharacterString.cs
- baseaxisquery.cs
- DictionarySurrogate.cs
- SpellerInterop.cs
- ExpressionDumper.cs
- PartialCachingAttribute.cs
- PrintPreviewDialog.cs
- initElementDictionary.cs
- CommentEmitter.cs
- AssemblyInfo.cs
- AsyncStreamReader.cs
- PenCursorManager.cs
- SolidColorBrush.cs
- ScriptingWebServicesSectionGroup.cs
- LinearKeyFrames.cs
- ExpressionQuoter.cs
- EventBuilder.cs
- MouseOverProperty.cs
- UnaryQueryOperator.cs
- xamlnodes.cs
- AutoScrollHelper.cs
- CultureSpecificCharacterBufferRange.cs
- PerfCounters.cs
- CompiledQueryCacheKey.cs
- SpeechRecognizer.cs
- ResourceProperty.cs
- EncryptedData.cs
- SqlBuilder.cs
- Message.cs
- XmlSchemaComplexType.cs
- TreeNodeConverter.cs
- DeclarationUpdate.cs
- SystemResourceHost.cs
- RemotingAttributes.cs
- SingleTagSectionHandler.cs
- HttpCacheVaryByContentEncodings.cs
- ImageUrlEditor.cs
- Version.cs
- DesignerAdRotatorAdapter.cs
- EditorPartChrome.cs
- FormsAuthentication.cs
- XmlSchemaSet.cs
- RequestSecurityTokenSerializer.cs
- Vector3DAnimation.cs
- FilteredXmlReader.cs
- DrawToolTipEventArgs.cs
- _DigestClient.cs
- ItemsPanelTemplate.cs
- MeasureItemEvent.cs
- DiagnosticTraceSchemas.cs
- Error.cs
- DataFormat.cs
- BidOverLoads.cs
- FieldToken.cs
- DataControlLinkButton.cs