Search in sources :

Example 21 with LongIterator

use of org.eclipse.collections.api.iterator.LongIterator in project neo4j by neo4j.

the class DocValuesCollectorTest method shouldReturnEmptyIteratorWhenNoDocValuesInOrder.

@Test
void shouldReturnEmptyIteratorWhenNoDocValuesInOrder() throws Exception {
    // given
    DocValuesCollector collector = new DocValuesCollector(false);
    IndexReaderStub readerStub = indexReaderWithMaxDocs(42);
    // when
    collector.doSetNextReader(readerStub.getContext());
    // then
    LongIterator valuesIterator = collector.getValuesSortedByRelevance("id");
    assertFalse(valuesIterator.hasNext());
}
Also used : IndexReaderStub(org.neo4j.kernel.api.impl.index.IndexReaderStub) LongIterator(org.eclipse.collections.api.iterator.LongIterator) Test(org.junit.jupiter.api.Test)

Example 22 with LongIterator

use of org.eclipse.collections.api.iterator.LongIterator in project neo4j by neo4j.

the class IndexingCompositeQueryAcceptanceTest method shouldConsiderEntitiesChangedInSameTxInIndexSeek.

@ParameterizedTest(name = "shouldConsiderEntitiesChangedInSameTxInIndexSeek using {0} with {1} index for {2}")
@MethodSource("data")
public void shouldConsiderEntitiesChangedInSameTxInIndexSeek(DataSet dataSet, IndexingMode withIndex, EntityControl entityControl) {
    createIndex(withIndex, dataSet.keys, entityControl);
    // GIVEN
    createEntities(db, entityControl, TOKEN_NAME, dataSet.keys, dataSet.nonMatching[0]);
    LongSet toChangeToMatch = createEntities(db, entityControl, TOKEN_NAME, dataSet.keys, dataSet.nonMatching[1]);
    LongSet toChangeToNotMatch = createEntities(db, entityControl, TOKEN_NAME, dataSet.keys, dataSet.values);
    MutableLongSet expected = createEntities(db, entityControl, TOKEN_NAME, dataSet.keys, dataSet.values);
    // WHEN
    LongSet found;
    try (Transaction tx = db.beginTx()) {
        LongIterator toMatching = toChangeToMatch.longIterator();
        while (toMatching.hasNext()) {
            long id = toMatching.next();
            entityControl.setProperties(tx, id, dataSet.keys, dataSet.values);
            expected.add(id);
        }
        LongIterator toNotMatching = toChangeToNotMatch.longIterator();
        while (toNotMatching.hasNext()) {
            long id = toNotMatching.next();
            entityControl.setProperties(tx, id, dataSet.keys, dataSet.nonMatching[2]);
            expected.remove(id);
        }
        found = dataSet.indexSeek.findEntities(tx, dataSet.keys, dataSet.values, entityControl);
    }
    // THEN
    assertThat(found).isEqualTo(expected);
}
Also used : MutableLongSet(org.eclipse.collections.api.set.primitive.MutableLongSet) MutableLongSet(org.eclipse.collections.api.set.primitive.MutableLongSet) LongSet(org.eclipse.collections.api.set.primitive.LongSet) LongIterator(org.eclipse.collections.api.iterator.LongIterator) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) MethodSource(org.junit.jupiter.params.provider.MethodSource)

Example 23 with LongIterator

use of org.eclipse.collections.api.iterator.LongIterator in project neo4j by neo4j.

the class AbstractLinearProbeLongHashSet method appendString.

@Override
public void appendString(Appendable appendable, String start, String separator, String end) {
    try {
        appendable.append(start);
        appendable.append("offheap,size=").append(String.valueOf(size())).append("; ");
        final LongIterator iterator = longIterator();
        for (int i = 0; i < 100 && iterator.hasNext(); i++) {
            appendable.append(Long.toString(iterator.next()));
            if (iterator.hasNext()) {
                appendable.append(", ");
            }
        }
        if (iterator.hasNext()) {
            appendable.append("...");
        }
        appendable.append(end);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
Also used : IOException(java.io.IOException) MutableLongIterator(org.eclipse.collections.api.iterator.MutableLongIterator) LongIterator(org.eclipse.collections.api.iterator.LongIterator)

Example 24 with LongIterator

use of org.eclipse.collections.api.iterator.LongIterator in project neo4j by neo4j.

the class ImportLogic method prepareIdMapper.

/**
 * Prepares {@link IdMapper} to be queried for ID --> nodeId lookups. This is required for running {@link #importRelationships()}.
 */
public void prepareIdMapper() {
    if (idMapper.needsPreparation()) {
        MemoryUsageStatsProvider memoryUsageStats = new MemoryUsageStatsProvider(neoStore, idMapper);
        PropertyValueLookup inputIdLookup = new NodeInputIdPropertyLookup(neoStore.getTemporaryPropertyStore());
        executeStage(new IdMapperPreparationStage(config, idMapper, inputIdLookup, badCollector, memoryUsageStats));
        final LongIterator duplicateNodeIds = idMapper.leftOverDuplicateNodesIds();
        if (duplicateNodeIds.hasNext()) {
            executeStage(new DeleteDuplicateNodesStage(config, duplicateNodeIds, neoStore, storeUpdateMonitor, pageCacheTracer));
        }
        updatePeakMemoryUsage();
    }
}
Also used : LongIterator(org.eclipse.collections.api.iterator.LongIterator)

Example 25 with LongIterator

use of org.eclipse.collections.api.iterator.LongIterator in project neo4j by neo4j.

the class DatabaseManagementServiceImpl method findNodeForCreatedDatabaseInTransactionState.

private long findNodeForCreatedDatabaseInTransactionState(TransactionState txState, TokenHolders tokenHolders, String name) {
    int databaseLabelTokenId = tokenHolders.labelTokens().getIdByName(DATABASE_LABEL.name());
    int databaseNamePropertyKeyTokenId = tokenHolders.propertyKeyTokens().getIdByName(DATABASE_NAME_PROPERTY);
    LongIterator addedNodes = txState.addedAndRemovedNodes().getAdded().longIterator();
    while (addedNodes.hasNext()) {
        long nodeId = addedNodes.next();
        NodeState nodeState = txState.getNodeState(nodeId);
        // The database name entered by user goes through the DatabaseNameValidator, which also makes the name lower-case.
        // Use the same validator to end up with the same name to compare with.
        String validatedName = DatabaseNameValidator.validateDatabaseNamePattern(name);
        if (nodeState.labelDiffSets().isAdded(databaseLabelTokenId) && validatedName.equals(nodeState.propertyValue(databaseNamePropertyKeyTokenId).asObjectCopy().toString())) {
            return nodeId;
        }
    }
    throw new IllegalStateException("Couldn't find the node representing the created database '" + name + "'");
}
Also used : NodeState(org.neo4j.storageengine.api.txstate.NodeState) LongIterator(org.eclipse.collections.api.iterator.LongIterator)

Aggregations

LongIterator (org.eclipse.collections.api.iterator.LongIterator)45 Test (org.junit.Test)16 Test (org.junit.jupiter.api.Test)15 MutableLongSet (org.eclipse.collections.api.set.primitive.MutableLongSet)9 MutableLongIterator (org.eclipse.collections.api.iterator.MutableLongIterator)5 MutableLongCollection (org.eclipse.collections.api.collection.primitive.MutableLongCollection)4 LongSet (org.eclipse.collections.api.set.primitive.LongSet)3 IndexReaderStub (org.neo4j.kernel.api.impl.index.IndexReaderStub)3 LazyLongIterable (org.eclipse.collections.api.LazyLongIterable)2 LongIterable (org.eclipse.collections.api.LongIterable)2 LongArrayList (org.eclipse.collections.impl.list.mutable.primitive.LongArrayList)2 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)2 MethodSource (org.junit.jupiter.params.provider.MethodSource)2 RelationshipChangesForNode.createRelationshipChangesForNode (org.neo4j.kernel.impl.api.state.RelationshipChangesForNode.createRelationshipChangesForNode)2 IOException (java.io.IOException)1 AtomicLong (java.util.concurrent.atomic.AtomicLong)1 MutableLongList (org.eclipse.collections.api.list.primitive.MutableLongList)1 ImmutableEmptyLongIterator (org.eclipse.collections.impl.iterator.ImmutableEmptyLongIterator)1 AbstractPrimitiveLongBaseIterator (org.neo4j.collection.PrimitiveLongCollections.AbstractPrimitiveLongBaseIterator)1 RangeLongIterator (org.neo4j.collection.RangeLongIterator)1