public void AfterTransactionCompletionProcess_EvictsFromCache(string querySpaces, bool persisterHasCache, int expectedPropertySpaceLength, int expectedEntityEvictionCount, int expectedCollectionEvictionCount) { _persister.HasCache.Returns(persisterHasCache); var target = new BulkOperationCleanupAction(_session, new HashSet <string>(querySpaces.Split(new [] { ',' }, StringSplitOptions.RemoveEmptyEntries))); target.AfterTransactionCompletionProcess(true); Assert.AreEqual(expectedPropertySpaceLength, target.PropertySpaces.Length); if (expectedEntityEvictionCount > 0) { _factory.Received(1).EvictEntity(Arg.Is <IEnumerable <string> >(x => x.Count() == expectedEntityEvictionCount)); } else { _factory.DidNotReceive().EvictEntity(Arg.Any <IEnumerable <string> >()); } if (expectedCollectionEvictionCount > 0) { _factory.Received(1).EvictCollection(Arg.Is <IEnumerable <string> >(x => x.Count() == expectedCollectionEvictionCount)); } else { _factory.DidNotReceive().EvictCollection(Arg.Any <IEnumerable <string> >()); } }
public Task AddActionAsync(BulkOperationCleanupAction cleanupAction, CancellationToken cancellationToken) { if (cancellationToken.IsCancellationRequested) { return(Task.FromCanceled <object>(cancellationToken)); } return(RegisterCleanupActionsAsync(cleanupAction, cancellationToken)); }
private void CoordinateSharedCacheCleanup(ISessionImplementor session) { BulkOperationCleanupAction action = new BulkOperationCleanupAction(session, CustomQuery.QuerySpaces); if (session.IsEventSource) { ((IEventSource)session).ActionQueue.AddAction(action); } }
protected virtual void CoordinateSharedCacheCleanup(ISessionImplementor session) { var action = new BulkOperationCleanupAction(session, AffectedQueryables); action.Init(); if (session.IsEventSource) { ((IEventSource)session).ActionQueue.AddAction(action); } }
protected virtual async Task CoordinateSharedCacheCleanupAsync(ISessionImplementor session, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); var action = new BulkOperationCleanupAction(session, AffectedQueryables); await(action.InitAsync(cancellationToken)).ConfigureAwait(false); if (session.IsEventSource) { ((IEventSource)session).ActionQueue.AddAction(action); } }
private async Task CoordinateSharedCacheCleanupAsync(ISessionImplementor session, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); BulkOperationCleanupAction action = new BulkOperationCleanupAction(session, CustomQuery.QuerySpaces); await(action.InitAsync(cancellationToken)).ConfigureAwait(false); if (session.IsEventSource) { ((IEventSource)session).ActionQueue.AddAction(action); } }
protected virtual void CoordinateSharedCacheCleanup(ISessionImplementor session) { var action = new BulkOperationCleanupAction(session, AffectedQueryables); if (session.IsEventSource) { ((IEventSource)session).ActionQueue.AddAction(action); } else { action.ExecuteAfterTransactionCompletion(true); } }
public Task AddActionAsync(BulkOperationCleanupAction cleanupAction, CancellationToken cancellationToken = default(CancellationToken)) { if (cancellationToken.IsCancellationRequested) { return(Task.FromCanceled(cancellationToken)); } try { AddAction(cleanupAction); return(Task.CompletedTask); } catch (Exception e) { return(Task.FromException(e)); } }
public void AddAction(BulkOperationCleanupAction cleanupAction) { RegisterCleanupActions(cleanupAction); }
public void AddAction(BulkOperationCleanupAction cleanupAction) { // Add these directly to the executions queue executions.Add(cleanupAction); }