Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / Structures / CellIdBoolean.cs / 1305376 / CellIdBoolean.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.Utils.Boolean;
using System.Text;
using System.Collections.Generic;
using System.Data.Common.Utils;
using System.Data.Mapping.ViewGeneration.CqlGeneration;
using System.Data.Mapping.ViewGeneration.Utils;
using System.Diagnostics;
namespace System.Data.Mapping.ViewGeneration.Structures
{
using DomainBoolExpr = BoolExpr>;
using DomainNotExpr = NotExpr>;
using DomainTermExpr = TermExpr>;
using System.Data.Entity;
///
/// Wraps from0, from1, etc. boolean fields that identify
/// the source of tuples (# of respective cell query) in the view statements
///
internal class CellIdBoolean : TrueFalseLiteral
{
#region Constructor
// effects: Creates a boolean expression for the variable name
// specified by "index", e.g., 0 results in from0, 1 into from1
internal CellIdBoolean(CqlIdentifiers identifiers, int index)
{
Debug.Assert(index >= 0);
m_identifiers = identifiers;
m_index = index;
}
#endregion
#region Fields
private int m_index; // e.g., from0, from1
private CqlIdentifiers m_identifiers; // Whether the prefix should be _from or something more complicated due to collisions
#endregion
#region Properties
// effects: Returns the slotName corresponding to this, ie., _from0 etc
internal string SlotName
{
get
{
string result = m_identifiers.GetFromVariable(m_index);
return result;
}
}
#endregion
#region BoolLiteral members
internal override StringBuilder AsCql(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
// Get e.g., T2._from1 using the table alias
string qualifiedName = CqlWriter.GetQualifiedName(blockAlias, SlotName);
builder.Append(qualifiedName);
return builder;
}
internal override StringBuilder AsUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
return AsCql(builder, blockAlias, canSkipIsNotNull);
}
internal override StringBuilder AsNegatedUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
builder.Append("NOT(");
builder = AsUserString(builder, blockAlias, canSkipIsNotNull);
builder.Append(")");
return builder;
}
internal override void GetRequiredSlots(MemberProjectionIndex projectedSlotMap, bool[] requiredSlots)
{
// The slot corresponding to from1, etc
int numBoolSlots = requiredSlots.Length - projectedSlotMap.Count;
int slotNum = ProjectedSlot.BoolIndexToSlot(m_index, projectedSlotMap, numBoolSlots);
requiredSlots[slotNum] = true;
}
protected override bool IsEqualTo(BoolLiteral right)
{
CellIdBoolean rightBoolean = right as CellIdBoolean;
if (rightBoolean == null)
{
return false;
}
return m_index == rightBoolean.m_index;
}
protected override int GetHash()
{
return m_index.GetHashCode();
}
// effects: See BoolExpression.RemapBool
internal override BoolLiteral RemapBool(Dictionary remap)
{
return this;
}
#endregion
#region Other Methods
internal override void ToCompactString(StringBuilder builder)
{
builder.Append(SlotName);
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.Utils.Boolean;
using System.Text;
using System.Collections.Generic;
using System.Data.Common.Utils;
using System.Data.Mapping.ViewGeneration.CqlGeneration;
using System.Data.Mapping.ViewGeneration.Utils;
using System.Diagnostics;
namespace System.Data.Mapping.ViewGeneration.Structures
{
using DomainBoolExpr = BoolExpr>;
using DomainNotExpr = NotExpr>;
using DomainTermExpr = TermExpr>;
using System.Data.Entity;
///
/// Wraps from0, from1, etc. boolean fields that identify
/// the source of tuples (# of respective cell query) in the view statements
///
internal class CellIdBoolean : TrueFalseLiteral
{
#region Constructor
// effects: Creates a boolean expression for the variable name
// specified by "index", e.g., 0 results in from0, 1 into from1
internal CellIdBoolean(CqlIdentifiers identifiers, int index)
{
Debug.Assert(index >= 0);
m_identifiers = identifiers;
m_index = index;
}
#endregion
#region Fields
private int m_index; // e.g., from0, from1
private CqlIdentifiers m_identifiers; // Whether the prefix should be _from or something more complicated due to collisions
#endregion
#region Properties
// effects: Returns the slotName corresponding to this, ie., _from0 etc
internal string SlotName
{
get
{
string result = m_identifiers.GetFromVariable(m_index);
return result;
}
}
#endregion
#region BoolLiteral members
internal override StringBuilder AsCql(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
// Get e.g., T2._from1 using the table alias
string qualifiedName = CqlWriter.GetQualifiedName(blockAlias, SlotName);
builder.Append(qualifiedName);
return builder;
}
internal override StringBuilder AsUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
return AsCql(builder, blockAlias, canSkipIsNotNull);
}
internal override StringBuilder AsNegatedUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
builder.Append("NOT(");
builder = AsUserString(builder, blockAlias, canSkipIsNotNull);
builder.Append(")");
return builder;
}
internal override void GetRequiredSlots(MemberProjectionIndex projectedSlotMap, bool[] requiredSlots)
{
// The slot corresponding to from1, etc
int numBoolSlots = requiredSlots.Length - projectedSlotMap.Count;
int slotNum = ProjectedSlot.BoolIndexToSlot(m_index, projectedSlotMap, numBoolSlots);
requiredSlots[slotNum] = true;
}
protected override bool IsEqualTo(BoolLiteral right)
{
CellIdBoolean rightBoolean = right as CellIdBoolean;
if (rightBoolean == null)
{
return false;
}
return m_index == rightBoolean.m_index;
}
protected override int GetHash()
{
return m_index.GetHashCode();
}
// effects: See BoolExpression.RemapBool
internal override BoolLiteral RemapBool(Dictionary remap)
{
return this;
}
#endregion
#region Other Methods
internal override void ToCompactString(StringBuilder builder)
{
builder.Append(SlotName);
}
#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
- PathFigure.cs
- Pair.cs
- CompositeScriptReferenceEventArgs.cs
- remotingproxy.cs
- CaseCqlBlock.cs
- SchemaImporterExtensionsSection.cs
- ServicePointManagerElement.cs
- AssemblyInfo.cs
- ToolStripPanelDesigner.cs
- PropertyEmitterBase.cs
- ElementAction.cs
- CommonDialog.cs
- StatusBar.cs
- MenuCommand.cs
- OleDbPermission.cs
- AnnotationAuthorChangedEventArgs.cs
- ProviderIncompatibleException.cs
- KeysConverter.cs
- SafeReadContext.cs
- Base64Encoder.cs
- XsltException.cs
- EventMappingSettingsCollection.cs
- RefreshEventArgs.cs
- CodeCompileUnit.cs
- ErrorWrapper.cs
- XmlQueryOutput.cs
- oledbmetadatacolumnnames.cs
- TypeGeneratedEventArgs.cs
- FilterElement.cs
- IItemProperties.cs
- IPPacketInformation.cs
- TrackingStringDictionary.cs
- Page.cs
- TableRowCollection.cs
- ParallelForEach.cs
- ExtendedPropertyCollection.cs
- BackgroundWorker.cs
- QuadTree.cs
- FocusTracker.cs
- WebPageTraceListener.cs
- DataGridViewIntLinkedList.cs
- DeviceContext.cs
- Socket.cs
- ProxyHwnd.cs
- ToolStripItemCollection.cs
- DataGridViewAccessibleObject.cs
- WebPartsPersonalizationAuthorization.cs
- RichListBox.cs
- BitmapImage.cs
- ConnectionString.cs
- MetafileHeaderWmf.cs
- ContainerParaClient.cs
- Opcode.cs
- EventArgs.cs
- WindowsClientCredential.cs
- StackBuilderSink.cs
- VarRemapper.cs
- SafeEventHandle.cs
- ValidationErrorCollection.cs
- DtrList.cs
- WebScriptMetadataMessageEncoderFactory.cs
- OptimisticConcurrencyException.cs
- FastPropertyAccessor.cs
- DataObjectEventArgs.cs
- ObfuscationAttribute.cs
- DbConnectionInternal.cs
- TextLineResult.cs
- CompilerWrapper.cs
- ClusterSafeNativeMethods.cs
- ContextStaticAttribute.cs
- TheQuery.cs
- FtpWebResponse.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ValidationRuleCollection.cs
- GridViewAutomationPeer.cs
- CoTaskMemHandle.cs
- BuildProvider.cs
- SymmetricKeyWrap.cs
- RelationshipFixer.cs
- CodeAttachEventStatement.cs
- FontUnit.cs
- ImageCodecInfoPrivate.cs
- StringPropertyBuilder.cs
- PhysicalFontFamily.cs
- Clause.cs
- HtmlDocument.cs
- CollectionEditor.cs
- XmlWrappingReader.cs
- FilterQuery.cs
- Camera.cs
- EventProperty.cs
- UriTemplateTrieNode.cs
- DataGridTableCollection.cs
- MatchingStyle.cs
- FieldTemplateUserControl.cs
- CounterSample.cs
- ConfigXmlSignificantWhitespace.cs
- ControlBuilder.cs
- Peer.cs
- DynamicDocumentPaginator.cs