|
using System.Linq;
using Newtonsoft.Json.Linq;
using Raven.Database.Indexing;
using Raven.Database.Json;
namespace Raven.Database.Tasks
{
public class ReduceTask : Task
{
public string ReduceKey { get; set; }
public override void Execute(WorkContext context)
{
var viewGenerator = context.IndexDefinitionStorage.GetViewGenerator(Index);
if (viewGenerator == null)
return; // deleted view?
context.TransactionaStorage.Batch(actions =>
{
var mappedResults = actions.GetMappedResults(Index, ReduceKey)
.Select(JObject.Parse)
.Select(JsonToExpando.Convert);
context.IndexStorage.Reduce(Index, viewGenerator, mappedResults, context, actions, ReduceKey);
actions.Commit();
});
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I've been a software developer since 1996 and have enjoyed C# since 2003. I have a Bachelor's degree in Computer Science and for some reason, a Master's degree in Business Administration. I currently do software development contracting/consulting.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.