public void when_there_are_updates_to_map_reduce_results() { using(var transactionalStorage = NewTransactionalStorage()) { var dummyUuidGenerator = new DummyUuidGenerator(); Guid a = Guid.Empty; Guid b = Guid.Empty; Guid c = Guid.Empty; transactionalStorage.Batch(accessor => { accessor.Indexing.AddIndex("a", true); accessor.Indexing.AddIndex("b", true); accessor.Indexing.AddIndex("c", true); accessor.MapReduce.PutMappedResult("a", "a/1", "a", new RavenJObject()); a = dummyUuidGenerator.CreateSequentialUuid(UuidType.MappedResults); accessor.MapReduce.PutMappedResult("a", "a/2", "a", new RavenJObject()); accessor.MapReduce.PutMappedResult("b", "a/1", "a", new RavenJObject()); b = dummyUuidGenerator.CreateSequentialUuid(UuidType.MappedResults); accessor.MapReduce.PutMappedResult("b", "a/1", "a", new RavenJObject()); accessor.MapReduce.PutMappedResult("c", "a/1", "a", new RavenJObject()); c = dummyUuidGenerator.CreateSequentialUuid(UuidType.MappedResults); accessor.MapReduce.PutMappedResult("c", "a/1", "a", new RavenJObject()); }); transactionalStorage.Batch(actionsAccessor => { Assert.Equal(1, actionsAccessor.MapReduce.GetMappedResultsReduceKeysAfter("a", a, false, 100).Count()); Assert.Equal(1, actionsAccessor.MapReduce.GetMappedResultsReduceKeysAfter("b", b, false, 100).Count()); Assert.Equal(1, actionsAccessor.MapReduce.GetMappedResultsReduceKeysAfter("c", c, false, 100).Count()); }); } }
private static void when_there_are_updates_to_map_reduce_results(ITransactionalStorage transactionalStorage) { var dummyUuidGenerator = new DummyUuidGenerator(); transactionalStorage.Initialize(dummyUuidGenerator); Guid a = Guid.Empty; Guid b = Guid.Empty; Guid c = Guid.Empty; transactionalStorage.Batch(accessor => { accessor.Indexing.AddIndex("a", true); accessor.Indexing.AddIndex("b", true); accessor.Indexing.AddIndex("c", true); accessor.MappedResults.PutMappedResult("a", "a/1", "a", new RavenJObject(), MapReduceIndex.ComputeHash("a", "a")); a = dummyUuidGenerator.CreateSequentialUuid(); accessor.MappedResults.PutMappedResult("a", "a/2", "a", new RavenJObject(), MapReduceIndex.ComputeHash("a", "a")); accessor.MappedResults.PutMappedResult("b", "a/1", "a", new RavenJObject(), MapReduceIndex.ComputeHash("b", "a")); b = dummyUuidGenerator.CreateSequentialUuid(); accessor.MappedResults.PutMappedResult("b", "a/1", "a", new RavenJObject(), MapReduceIndex.ComputeHash("b", "a")); accessor.MappedResults.PutMappedResult("c", "a/1", "a", new RavenJObject(), MapReduceIndex.ComputeHash("c", "a")); c = dummyUuidGenerator.CreateSequentialUuid(); accessor.MappedResults.PutMappedResult("c", "a/1", "a", new RavenJObject(), MapReduceIndex.ComputeHash("c", "a")); }); transactionalStorage.Batch(actionsAccessor => { Assert.Equal(1, actionsAccessor.MappedResults.GetMappedResultsReduceKeysAfter("a", a).Count()); Assert.Equal(1, actionsAccessor.MappedResults.GetMappedResultsReduceKeysAfter("b", b).Count()); Assert.Equal(1, actionsAccessor.MappedResults.GetMappedResultsReduceKeysAfter("c", c).Count()); }); }