本文整理汇总了Java中org.apache.cassandra.utils.btree.BTree.slice方法的典型用法代码示例。如果您正苦于以下问题:Java BTree.slice方法的具体用法?Java BTree.slice怎么用?Java BTree.slice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.cassandra.utils.btree.BTree
的用法示例。
在下文中一共展示了BTree.slice方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: sliceIterator
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
private UnfilteredRowIterator sliceIterator(ColumnFilter selection, Slice slice, boolean reversed, Holder current, Row staticRow)
{
ClusteringBound start = slice.start() == ClusteringBound.BOTTOM ? null : slice.start();
ClusteringBound end = slice.end() == ClusteringBound.TOP ? null : slice.end();
Iterator<Row> rowIter = BTree.slice(current.tree, metadata.comparator, start, true, end, true, desc(reversed));
Iterator<RangeTombstone> deleteIter = current.deletionInfo.rangeIterator(slice, reversed);
return merge(rowIter, deleteIter, selection, reversed, current, staticRow);
}
示例2: containsAll
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
/**
* Whether this object is a superset of the provided other {@code Columns object}.
*
* @param other the other object to test for inclusion in this object.
*
* @return whether all the columns of {@code other} are contained by this object.
*/
public boolean containsAll(Collection<?> other)
{
if (other == this)
return true;
if (other.size() > this.size())
return false;
BTreeSearchIterator<ColumnDefinition, ColumnDefinition> iter = BTree.slice(columns, Comparator.naturalOrder(), BTree.Dir.ASC);
for (Object def : other)
if (iter.next((ColumnDefinition) def) == null)
return false;
return true;
}
示例3: slice
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
private static Iterator<Cell> slice(Object[] btree, Comparator<Object> comparator, Composite start, Composite finish, boolean forwards)
{
return BTree.slice(btree,
comparator,
start.isEmpty() ? null : start,
true,
finish.isEmpty() ? null : finish,
true,
forwards);
}
示例4: sliceIterator
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
private UnfilteredRowIterator sliceIterator(ColumnFilter selection, Slice slice, boolean reversed, Holder current, Row staticRow)
{
Slice.Bound start = slice.start() == Slice.Bound.BOTTOM ? null : slice.start();
Slice.Bound end = slice.end() == Slice.Bound.TOP ? null : slice.end();
Iterator<Row> rowIter = BTree.slice(current.tree, metadata.comparator, start, true, end, true, desc(reversed));
Iterator<RangeTombstone> deleteIter = current.deletionInfo.rangeIterator(slice, reversed);
return merge(rowIter, deleteIter, selection, reversed, current, staticRow);
}
示例5: checkResult
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
private static void checkResult(int count, Object[] btree)
{
Iterator<Integer> iter = BTree.slice(btree, CMP, BTree.Dir.ASC);
int i = 0;
while (iter.hasNext())
assertEquals(iter.next(), ints[i++]);
assertEquals(count, i);
}
示例6: searchIterator
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
public BTreeSearchIterator<ColumnDefinition, ColumnData> searchIterator()
{
return BTree.slice(btree, ColumnDefinition.asymmetricColumnDataComparator, BTree.Dir.ASC);
}
示例7: addAllWithSizeDelta
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
/**
* This is only called by Memtable.resolve, so only AtomicSortedColumns needs to implement it.
*
* @return the difference in size seen after merging the given columns
*/
public long addAllWithSizeDelta(final ColumnFamily cm, Allocator allocator, Function<Cell, Cell> transformation, Updater indexer)
{
boolean transformed = false;
Collection<Cell> insert;
if (cm instanceof UnsortedColumns)
{
insert = transform(metadata.comparator.columnComparator(), cm, transformation, true);
transformed = true;
}
else
insert = cm.getSortedColumns();
while (true)
{
Holder current = ref;
DeletionInfo deletionInfo = cm.deletionInfo();
if (deletionInfo.hasRanges())
{
for (Iterator<Cell> iter : new Iterator[] { insert.iterator(), BTree.<Cell>slice(current.tree, true) })
{
while (iter.hasNext())
{
Cell col = iter.next();
if (deletionInfo.isDeleted(col))
indexer.remove(col);
}
}
}
deletionInfo = current.deletionInfo.copy().add(deletionInfo);
ColumnUpdater updater = new ColumnUpdater(allocator, transformation, indexer);
Holder h = current.update(this, deletionInfo, metadata.comparator.columnComparator(), insert, updater);
if (h != null && refUpdater.compareAndSet(this, current, h))
{
indexer.updateRowLevelIndexes();
return updater.delta;
}
if (!transformed)
{
// After failing once, transform Columns into a new collection to avoid repeatedly allocating Slab space
insert = transform(metadata.comparator.columnComparator(), cm, transformation, false);
transformed = true;
}
}
}
示例8: iterator
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
/**
* Iterator over all the columns of this object.
*
* @return an iterator over all the columns of this object.
*/
public BTreeSearchIterator<ColumnDefinition, ColumnDefinition> iterator()
{
return BTree.<ColumnDefinition, ColumnDefinition>slice(columns, Comparator.naturalOrder(), BTree.Dir.ASC);
}
示例9: inOrderInclusionTester
import org.apache.cassandra.utils.btree.BTree; //导入方法依赖的package包/类
/**
* Returns a predicate to test whether columns are included in this {@code Columns} object,
* assuming that tes tested columns are passed to the predicate in sorted order.
*
* @return a predicate to test the inclusion of sorted columns in this object.
*/
public Predicate<ColumnDefinition> inOrderInclusionTester()
{
SearchIterator<ColumnDefinition, ColumnDefinition> iter = BTree.slice(columns, Comparator.naturalOrder(), BTree.Dir.ASC);
return column -> iter.next(column) != null;
}