org.neo4j.kernel.impl.store.NodeStore.getHighestPossibleIdInUse()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(4.5k)|赞(0)|评价(0)|浏览(79)

本文整理了Java中org.neo4j.kernel.impl.store.NodeStore.getHighestPossibleIdInUse()方法的一些代码示例,展示了NodeStore.getHighestPossibleIdInUse()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NodeStore.getHighestPossibleIdInUse()方法的具体详情如下:
包路径:org.neo4j.kernel.impl.store.NodeStore
类名称:NodeStore
方法名:getHighestPossibleIdInUse

NodeStore.getHighestPossibleIdInUse介绍

暂无

代码示例

代码示例来源:origin: neo4j/neo4j

private long nodeHighMark()
{
  return read.getHighestPossibleIdInUse();
}

代码示例来源:origin: neo4j/neo4j

private boolean hasNotEmptyNodesOrRelationshipsStores()
{
  return (nodes.getHighestPossibleIdInUse() != -1) || (relationships.getHighestPossibleIdInUse() != -1);
}

代码示例来源:origin: neo4j/neo4j

@Override
public void initialize( CountsAccessor.Updater countsUpdater )
{
  if ( hasNotEmptyNodesOrRelationshipsStores() )
  {
    progressMonitor.start( nodes.getHighestPossibleIdInUse() + relationships.getHighestPossibleIdInUse() );
    populateCountStore( countsUpdater );
  }
  progressMonitor.completed();
}

代码示例来源:origin: neo4j/neo4j

@Test
public void shouldBeAbleToForceStoreScan() throws Exception
{
  when( labelScanStore.newReader() ).thenThrow( new RuntimeException( "Should not be used" ) );
  when( nodeStore.getHighestPossibleIdInUse() ).thenReturn( 200L );
  when( nodeStore.getHighId() ).thenReturn( 20L );
  when( nodeStore.openPageCursorForReading( anyLong() ) ).thenReturn( mock( PageCursor.class ) );
  mockLabelNodeCount( countStore, 2 );
  mockLabelNodeCount( countStore, 6 );
  DynamicIndexStoreView storeView = dynamicIndexStoreView();
  StoreScan<Exception> storeScan = storeView
      .visitNodes( new int[]{2, 6}, propertyKeyIdFilter, propertyUpdateVisitor, labelUpdateVisitor, true );
  storeScan.run();
  Mockito.verify( nodeStore, times( 1 ) )
      .getRecordByCursor( anyLong(), any( NodeRecord.class ), any( RecordLoad.class ), any( PageCursor.class ) );
  Mockito.verify( nodeStore, times( 200 ) )
      .nextRecordByCursor( any( NodeRecord.class ), any( RecordLoad.class ), any( PageCursor.class ) );
}

代码示例来源:origin: neo4j/neo4j

@Test
public void visitOnlyLabeledNodes() throws Exception
{
  LabelScanReader labelScanReader = mock( LabelScanReader.class );
  when( labelScanStore.newReader() ).thenReturn( labelScanReader );
  when( nodeLabelRanges.maxCount() ).thenReturn( 1L );
  PrimitiveLongResourceIterator labeledNodesIterator = PrimitiveLongResourceCollections.iterator( null, 1, 2, 3, 4, 5, 6, 7, 8 );
  when( nodeStore.getHighestPossibleIdInUse() ).thenReturn( 200L );
  when( nodeStore.getHighId() ).thenReturn( 20L );
  when( labelScanReader.nodesWithAnyOfLabels( new int[] {2, 6} ) ).thenReturn( labeledNodesIterator );
  when( nodeStore.openPageCursorForReading( anyLong() ) ).thenReturn( mock( PageCursor.class ) );
  mockLabelNodeCount( countStore, 2 );
  mockLabelNodeCount( countStore, 6 );
  DynamicIndexStoreView storeView = dynamicIndexStoreView();
  StoreScan<Exception> storeScan = storeView
      .visitNodes( new int[]{2, 6}, propertyKeyIdFilter, propertyUpdateVisitor, labelUpdateVisitor, false );
  storeScan.run();
  Mockito.verify( nodeStore, times( 8 ) )
      .getRecordByCursor( anyLong(), any( NodeRecord.class ), any( RecordLoad.class ), any( PageCursor.class ) );
}

代码示例来源:origin: org.neo4j/neo4j-kernel

private long nodeHighMark()
{
  return read.getHighestPossibleIdInUse();
}

代码示例来源:origin: org.neo4j/neo4j-kernel

private boolean hasNotEmptyNodesOrRelationshipsStores()
{
  return (nodes.getHighestPossibleIdInUse() != -1) || (relationships.getHighestPossibleIdInUse() != -1);
}

代码示例来源:origin: com.graphaware.neo4j/runtime

private long nextId(GraphDatabaseService database) {
    long highestId = ((GraphDatabaseAPI) database).getDependencyResolver().resolveDependency(RecordStorageEngine.class).testAccessNeoStores().getNodeStore().getHighestPossibleIdInUse();
    long nextId = lastId.incrementAndGet();

    if (nextId > highestId) {
      lastId.set(-1);
      nextId = lastId.incrementAndGet();
    }
    return nextId;
  }
}

代码示例来源:origin: org.neo4j/neo4j-kernel

@Override
public void initialize( CountsAccessor.Updater countsUpdater )
{
  if ( hasNotEmptyNodesOrRelationshipsStores() )
  {
    progressMonitor.start( nodes.getHighestPossibleIdInUse() + relationships.getHighestPossibleIdInUse() );
    populateCountStore( countsUpdater );
  }
  progressMonitor.completed();
}

代码示例来源:origin: com.graphaware.neo4j/runtime

/**
 * Get a random node in O(1), try only 10 attempts.
 *
 * @param database in which to find a random node.
 * @return random node, null if not successful.
 */
private Node randomNodeO1(GraphDatabaseService database) {
  long highestId = ((GraphDatabaseAPI) database).getDependencyResolver().resolveDependency(RecordStorageEngine.class).testAccessNeoStores().getNodeStore().getHighestPossibleIdInUse();
  if (highestId <= 0) {
    return null;
  }
  for (int i = 0; i < MAX_EFFICIENT_ATTEMPTS; i++) {
    long randomId = random.nextLong(0, highestId);
    try {
      Node node = database.getNodeById(randomId);
      if (inclusionPolicy.include(node)) {
        return node;
      }
    } catch (NotFoundException e) {
      //ok, try again
    }
  }
  return null;
}

相关文章