Exemplo n.º 1
0
		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());
				});
			}
		}
Exemplo n.º 2
0
		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());
			});
		}