当前位置: 首页>>代码示例>>C#>>正文


C# IIterator.MoveNext方法代码示例

本文整理汇总了C#中IIterator.MoveNext方法的典型用法代码示例。如果您正苦于以下问题:C# IIterator.MoveNext方法的具体用法?C# IIterator.MoveNext怎么用?C# IIterator.MoveNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IIterator的用法示例。


在下文中一共展示了IIterator.MoveNext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: RemoveReduceResult

        private void RemoveReduceResult(IIterator iterator, Action afterRecordDeleted, CancellationToken token)
        {
            var reduceResultsByViewAndReduceKeyAndLevelAndSourceBucket = tableStorage.ReduceResults.GetIndex(Tables.ReduceResults.Indices.ByViewAndReduceKeyAndLevelAndSourceBucket);
            var reduceResultsByViewAndReduceKeyAndLevel = tableStorage.ReduceResults.GetIndex(Tables.ReduceResults.Indices.ByViewAndReduceKeyAndLevel);
            var reduceResultsByViewAndReduceKeyAndLevelAndBucket = tableStorage.ReduceResults.GetIndex(Tables.ReduceResults.Indices.ByViewAndReduceKeyAndLevelAndBucket);
            var reduceResultsByView = tableStorage.ReduceResults.GetIndex(Tables.ReduceResults.Indices.ByView);
            var reduceResultsData = tableStorage.ReduceResults.GetIndex(Tables.ReduceResults.Indices.Data);

            do
            {
                // TODO: Check if we can avoid the clone.
                Slice id = iterator.CurrentKey.Clone();

                ushort version;
                var value = LoadStruct(tableStorage.ReduceResults, id, writeBatch.Value, out version);
				if (value == null)
					continue;
                var view = value.ReadInt(ReduceResultFields.IndexId);
                var reduceKey = value.ReadString(ReduceResultFields.ReduceKey);
                var level = value.ReadInt(ReduceResultFields.Level);
                var bucket = value.ReadInt(ReduceResultFields.Bucket);
                var sourceBucket = value.ReadInt(ReduceResultFields.SourceBucket);

                var reduceKeyHash = HashKey(reduceKey);

                var viewKey = CreateKey(view);
                var viewAndReduceKeyAndLevel = AppendToKey(viewKey, ReduceKeySizeLimited(reduceKey), reduceKeyHash, level);
                var viewAndReduceKeyAndLevelAndSourceBucket = AppendToKey(viewAndReduceKeyAndLevel, sourceBucket);
                var viewAndReduceKeyAndLevelAndBucket = AppendToKey(viewAndReduceKeyAndLevel, bucket);

                tableStorage.ReduceResults.Delete(writeBatch.Value, id);

                reduceResultsByViewAndReduceKeyAndLevelAndSourceBucket.MultiDelete(writeBatch.Value, (Slice)viewAndReduceKeyAndLevelAndSourceBucket, id);
                reduceResultsByViewAndReduceKeyAndLevel.MultiDelete(writeBatch.Value, (Slice)viewAndReduceKeyAndLevel, id);
                reduceResultsByViewAndReduceKeyAndLevelAndBucket.MultiDelete(writeBatch.Value, (Slice)viewAndReduceKeyAndLevelAndBucket, id);
                reduceResultsByView.MultiDelete(writeBatch.Value, (Slice)viewKey, id);

                reduceResultsData.Delete(writeBatch.Value, id);

                if (afterRecordDeleted != null)
                    afterRecordDeleted();
            }
			while (iterator.MoveNext() && token.IsCancellationRequested == false);
        }
开发者ID:VPashkov,项目名称:ravendb,代码行数:44,代码来源:MappedResultsStorageActions.cs


注:本文中的IIterator.MoveNext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。