• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java BTree类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.cassandra.utils.btree.BTree的典型用法代码示例。如果您正苦于以下问题:Java BTree类的具体用法?Java BTree怎么用?Java BTree使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



BTree类属于org.apache.cassandra.utils.btree包,在下文中一共展示了BTree类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: build

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
protected static Holder build(UnfilteredRowIterator iterator, int initialRowCapacity, boolean ordered)
{
    CFMetaData metadata = iterator.metadata();
    PartitionColumns columns = iterator.columns();
    boolean reversed = iterator.isReverseOrder();

    BTree.Builder<Row> builder = BTree.builder(metadata.comparator, initialRowCapacity);
    builder.auto(!ordered);
    MutableDeletionInfo.Builder deletionBuilder = MutableDeletionInfo.builder(iterator.partitionLevelDeletion(), metadata.comparator, reversed);

    while (iterator.hasNext())
    {
        Unfiltered unfiltered = iterator.next();
        if (unfiltered.kind() == Unfiltered.Kind.ROW)
            builder.add((Row)unfiltered);
        else
            deletionBuilder.add((RangeTombstoneMarker)unfiltered);
    }

    if (reversed)
        builder.reverse();

    return new Holder(columns, builder.build(), deletionBuilder.build(), iterator.staticRow(), iterator.stats());
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:25,代码来源:AbstractBTreePartition.java


示例2: mergeTo

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
/**
 * Returns the result of merging this {@code Columns} object with the
 * provided one.
 *
 * @param other the other {@code Columns} to merge this object with.
 *
 * @return the result of merging/taking the union of {@code this} and
 * {@code other}. The returned object may be one of the operand and that
 * operand is a subset of the other operand.
 */
public Columns mergeTo(Columns other)
{
    if (this == other || other == NONE)
        return this;
    if (this == NONE)
        return other;

    Object[] tree = BTree.<ColumnDefinition>merge(this.columns, other.columns, Comparator.naturalOrder(),
                                                  UpdateFunction.noOp());
    if (tree == this.columns)
        return this;
    if (tree == other.columns)
        return other;

    return new Columns(tree, findFirstComplexIdx(tree));
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:27,代码来源:Columns.java


示例3: deserialize

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
public Columns deserialize(DataInputPlus in, CFMetaData metadata) throws IOException
{
    int length = (int)in.readUnsignedVInt();
    BTree.Builder<ColumnDefinition> builder = BTree.builder(Comparator.naturalOrder());
    builder.auto(false);
    for (int i = 0; i < length; i++)
    {
        ByteBuffer name = ByteBufferUtil.readWithVIntLength(in);
        ColumnDefinition column = metadata.getColumnDefinition(name);
        if (column == null)
        {
            // If we don't find the definition, it could be we have data for a dropped column, and we shouldn't
            // fail deserialization because of that. So we grab a "fake" ColumnDefinition that ensure proper
            // deserialization. The column will be ignore later on anyway.
            column = metadata.getDroppedColumnDefinition(name);
            if (column == null)
                throw new RuntimeException("Unknown column " + UTF8Type.instance.getString(name) + " during deserialization");
        }
        builder.add(column);
    }
    return new Columns(builder.build());
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:23,代码来源:Columns.java


示例4: collection

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
private <V> Collection<V> collection(final boolean forwards, final Function<Cell, V> f)
{
    final Holder ref = this.ref;
    return new AbstractCollection<V>()
    {
        public Iterator<V> iterator()
        {
            return Iterators.transform(BTree.<Cell>slice(ref.tree, forwards), f);
        }

        public int size()
        {
            return BTree.slice(ref.tree, true).count();
        }
    };
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:17,代码来源:AtomicBTreeColumns.java


示例5: testSlicingAllSmallTrees

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
@Test
public void testSlicingAllSmallTrees() throws ExecutionException, InterruptedException
{
    Object[] cur = BTree.empty();
    TreeSet<Integer> canon = new TreeSet<>();
    // we set FAN_FACTOR to 4, so 128 items is four levels deep, three fully populated
    for (int i = 0 ; i < 128 ; i++)
    {
        String id = String.format("[0..%d)", canon.size());
        System.out.println("Testing " + id);
        Futures.allAsList(testAllSlices(id, cur, canon)).get();
        Object[] next = null;
        while (next == null)
            next = BTree.update(cur, ICMP, Arrays.asList(i), true, SPORADIC_ABORT);
        cur = next;
        canon.add(i);
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:19,代码来源:LongBTreeTest.java


示例6: testClearOnAbort

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
@Test
public void testClearOnAbort()
{
    final Comparator<String> cmp = new Comparator<String>()
    {
        public int compare(String o1, String o2)
        {
            return o1.compareTo(o2);
        }
    };

    Object[] btree = BTree.build(ranges(range(0, 8)), cmp, true, UpdateFunction.NoOp.<String>instance());
    BTree.update(btree, cmp, ranges(range(0, 94)), false, new AbortAfterX(90));
    btree = BTree.update(btree, cmp, ranges(range(0, 94)), false, UpdateFunction.NoOp.<String>instance());
    Assert.assertTrue(BTree.isWellFormed(btree, cmp));
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:17,代码来源:BTreeTest.java


示例7: build

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
protected static Holder build(UnfilteredRowIterator iterator, int initialRowCapacity)
{
    CFMetaData metadata = iterator.metadata();
    PartitionColumns columns = iterator.columns();
    boolean reversed = iterator.isReverseOrder();

    BTree.Builder<Row> builder = BTree.builder(metadata.comparator, initialRowCapacity);
    builder.auto(false);
    MutableDeletionInfo.Builder deletionBuilder = MutableDeletionInfo.builder(iterator.partitionLevelDeletion(), metadata.comparator, reversed);

    while (iterator.hasNext())
    {
        Unfiltered unfiltered = iterator.next();
        if (unfiltered.kind() == Unfiltered.Kind.ROW)
            builder.add((Row)unfiltered);
        else
            deletionBuilder.add((RangeTombstoneMarker)unfiltered);
    }

    if (reversed)
        builder.reverse();

    return new Holder(columns, builder.build(), deletionBuilder.build(), iterator.staticRow(), iterator.stats());
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:25,代码来源:AbstractBTreePartition.java


示例8: testBuilding_UpdateFunctionCallBack

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
/**
 * Tests that the apply method of the <code>UpdateFunction</code> is only called once per value with each build call.
 */
@Test
public void testBuilding_UpdateFunctionCallBack()
{
    CallsMonitor monitor = new CallsMonitor();
    Object[] btree = BTree.build(Arrays.asList(1), monitor);
    assertArrayEquals(new Object[] {1}, btree);
    assertEquals(1, monitor.getNumberOfCalls(1));

    monitor.clear();
    btree = BTree.build(Arrays.asList(1, 2), monitor);
    assertArrayEquals(new Object[] {1, 2, null}, btree);
    assertEquals(1, monitor.getNumberOfCalls(1));
    assertEquals(1, monitor.getNumberOfCalls(2));

    monitor.clear();
    btree = BTree.build(Arrays.asList(1, 2, 3), monitor);
    assertArrayEquals(new Object[] {1, 2, 3}, btree);
    assertEquals(1, monitor.getNumberOfCalls(1));
    assertEquals(1, monitor.getNumberOfCalls(2));
    assertEquals(1, monitor.getNumberOfCalls(3));
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:25,代码来源:BTreeTest.java


示例9: 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);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:9,代码来源:AbstractBTreePartition.java


示例10: lastRow

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
public Row lastRow()
{
    Object[] tree = holder().tree;
    if (BTree.isEmpty(tree))
        return null;

    return BTree.findByIndex(tree, BTree.size(tree) - 1);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:9,代码来源:AbstractBTreePartition.java


示例11: PartitionUpdate

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
private PartitionUpdate(CFMetaData metadata,
                        DecoratedKey key,
                        PartitionColumns columns,
                        MutableDeletionInfo deletionInfo,
                        int initialRowCapacity,
                        boolean canHaveShadowedData)
{
    super(metadata, key);
    this.deletionInfo = deletionInfo;
    this.holder = new Holder(columns, BTree.empty(), deletionInfo, Rows.EMPTY_STATIC_ROW, EncodingStats.NO_STATS);
    this.canHaveShadowedData = canHaveShadowedData;
    rowBuilder = builder(initialRowCapacity);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:14,代码来源:PartitionUpdate.java


示例12: findFirstComplexIdx

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
private static int findFirstComplexIdx(Object[] tree)
{
    // have fast path for common no-complex case
    int size = BTree.size(tree);
    if (!BTree.isEmpty(tree) && BTree.<ColumnDefinition>findByIndex(tree, size - 1).isSimple())
        return size;
    return BTree.ceilIndex(tree, Comparator.naturalOrder(), FIRST_COMPLEX);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:9,代码来源:Columns.java


示例13: 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;
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:21,代码来源:Columns.java


示例14: equals

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
@Override
public boolean equals(Object other)
{
    if (other == this)
        return true;
    if (!(other instanceof Columns))
        return false;

    Columns that = (Columns)other;
    return this.complexIdx == that.complexIdx && BTree.equals(this.columns, that.columns);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:12,代码来源:Columns.java


示例15: deserializeSubset

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
public Columns deserializeSubset(Columns superset, DataInputPlus in) throws IOException
{
    long encoded = in.readUnsignedVInt();
    if (encoded == 0L)
    {
        return superset;
    }
    else if (superset.size() >= 64)
    {
        return deserializeLargeSubset(in, superset, (int) encoded);
    }
    else
    {
        BTree.Builder<ColumnDefinition> builder = BTree.builder(Comparator.naturalOrder());
        int firstComplexIdx = 0;
        for (ColumnDefinition column : superset)
        {
            if ((encoded & 1) == 0)
            {
                builder.add(column);
                if (column.isSimple())
                    ++firstComplexIdx;
            }
            encoded >>>= 1;
        }
        return new Columns(builder.build(), firstComplexIdx);
    }
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:29,代码来源:Columns.java


示例16: create

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
public static BTreeRow create(Clustering clustering,
                              LivenessInfo primaryKeyLivenessInfo,
                              Deletion deletion,
                              Object[] btree)
{
    int minDeletionTime = Math.min(minDeletionTime(primaryKeyLivenessInfo), minDeletionTime(deletion.time()));
    if (minDeletionTime != Integer.MIN_VALUE)
    {
        for (ColumnData cd : BTree.<ColumnData>iterable(btree))
            minDeletionTime = Math.min(minDeletionTime, minDeletionTime(cd));
    }

    return create(clustering, primaryKeyLivenessInfo, deletion, btree, minDeletionTime);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:15,代码来源:BTreeRow.java


示例17: singleCellRow

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
public static BTreeRow singleCellRow(Clustering clustering, Cell cell)
{
    if (cell.column().isSimple())
        return new BTreeRow(clustering, BTree.singleton(cell), minDeletionTime(cell));

    ComplexColumnData complexData = new ComplexColumnData(cell.column(), new Cell[]{ cell }, DeletionTime.LIVE);
    return new BTreeRow(clustering, BTree.singleton(complexData), minDeletionTime(cell));
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:9,代码来源:BTreeRow.java


示例18: minDeletionTime

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
private static int minDeletionTime(Object[] btree, LivenessInfo info, DeletionTime rowDeletion)
{
    //we have to wrap this for the lambda
    final WrappedInt min = new WrappedInt(Math.min(minDeletionTime(info), minDeletionTime(rowDeletion)));

    BTree.<ColumnData>apply(btree, cd -> min.set( Math.min(min.get(), minDeletionTime(cd)) ), cd -> min.get() == Integer.MIN_VALUE, false);
    return min.get();
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:9,代码来源:BTreeRow.java


示例19: transformAndFilter

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
private Row transformAndFilter(LivenessInfo info, Deletion deletion, Function<ColumnData, ColumnData> function)
{
    Object[] transformed = BTree.transformAndFilter(btree, function);

    if (btree == transformed && info == this.primaryKeyLivenessInfo && deletion == this.deletion)
        return this;

    if (info.isEmpty() && deletion.isLive() && BTree.isEmpty(transformed))
        return null;

    int minDeletionTime = minDeletionTime(transformed, info, deletion.time());
    return BTreeRow.create(clustering, info, deletion, transformed, minDeletionTime);
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:14,代码来源:BTreeRow.java


示例20: unsharedHeapSizeExcludingData

import org.apache.cassandra.utils.btree.BTree; //导入依赖的package包/类
public long unsharedHeapSizeExcludingData()
{
    long heapSize = EMPTY_SIZE
                  + clustering.unsharedHeapSizeExcludingData()
                  + BTree.sizeOfStructureOnHeap(btree);

    for (ColumnData cd : this)
        heapSize += cd.unsharedHeapSizeExcludingData();
    return heapSize;
}
 
开发者ID:Netflix,项目名称:sstable-adaptor,代码行数:11,代码来源:BTreeRow.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ITranslationUnit类代码示例发布时间:2022-05-22
下一篇:
Java XtextSyntaxDiagnostic类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap