internal void AddNode(KeyManager manager, int nodeId) { Debug.Assert(!_nodeIds.Contains(nodeId), "don't add existing node to partition"); _nodeIds.Add(nodeId); manager._identifiers[nodeId].Partition = this; }
internal CompositeKeyComparer(KeyManager manager) { DebugCheck.NotNull(manager); _manager = manager; }
// <summary> // A result is merged with another when it is merged as part of an equi-join. // </summary> // <remarks> // In theory, this should only ever be called on two keys (since we only join on // keys). We throw in the base implementation, and override in KeyResult. By convention // the principal key is always the first result in the chain (in case of an RIC). In // addition, entity entries always appear before relationship entries. // </remarks> // <param name="other"> Result to merge with. </param> // <returns> Merged result. </returns> internal virtual PropagatorResult Merge(KeyManager keyManager, PropagatorResult other) { throw EntityUtil.InternalError(EntityUtil.InternalErrorCode.UpdatePipelineResultRequestInvalid, 0, "PropagatorResult.Merge"); }
/// <summary> /// Creates a key comparer operating in the context of the given translator. /// </summary> internal static IEqualityComparer <CompositeKey> CreateComparer(KeyManager keyManager) { return(new CompositeKeyComparer(keyManager)); }