Пример #1
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, false, 100).Count());
                Assert.Equal(1, actionsAccessor.MappedResults.GetMappedResultsReduceKeysAfter("b", b, false, 100).Count());
                Assert.Equal(1, actionsAccessor.MappedResults.GetMappedResultsReduceKeysAfter("c", c, false, 100).Count());
            });
        }
Пример #2
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();
                    accessor.MapReduce.PutMappedResult("a", "a/2", "a", new RavenJObject());
                    accessor.MapReduce.PutMappedResult("b", "a/1", "a", new RavenJObject());
                    b = dummyUuidGenerator.CreateSequentialUuid();
                    accessor.MapReduce.PutMappedResult("b", "a/1", "a", new RavenJObject());
                    accessor.MapReduce.PutMappedResult("c", "a/1", "a", new RavenJObject());
                    c = dummyUuidGenerator.CreateSequentialUuid();
                    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());
                });
            }
        }