@Override public ResourceIterator<File> snapshotFiles() { return emptyResourceIterator(); }
@Override public ResourceIterator<File> snapshotFiles() { return emptyResourceIterator(); } }
@Override public ResourceIterator<File> snapshotFiles() { return emptyResourceIterator(); }
@Override public ResourceIterator<T> iterator() { return Iterators.emptyResourceIterator(); } }
@Override public ResourceIterator<File> listStoreFiles() { return Iterators.emptyResourceIterator(); } }
private void resetRelationships() { if ( relationships != null ) { relationships.close(); } relationships = Iterators.emptyResourceIterator(); }
@Override public ResourceIterator<File> snapshotFiles() { return emptyResourceIterator(); }
public ResourceIterator<StoreFileMetadata> getSnapshot( long indexId ) throws IOException { try { ResourceIterator<File> snapshot = indexingService.getIndexProxy( indexId ).snapshotFiles(); ArrayList<StoreFileMetadata> files = new ArrayList<>(); getSnapshotFilesMetadata( snapshot, files ); return resourceIterator( files.iterator(), snapshot ); } catch ( IndexNotFoundKernelException e ) { // Perhaps it got dropped after getIndexIds() was called. return Iterators.emptyResourceIterator(); } } }
DirectionData( Node startNode, Collection<Long> sharedVisitedRels, MutableInt sharedFrozenDepth, MutableBoolean sharedStop, MutableInt sharedCurrentDepth, PathExpander expander ) { this.startNode = startNode; this.visitedNodes.put( startNode, new LevelData( null, 0 ) ); this.nextNodes.add( startNode ); this.sharedFrozenDepth = sharedFrozenDepth; this.sharedStop = sharedStop; this.sharedCurrentDepth = sharedCurrentDepth; this.expander = expander; this.sharedVisitedRels = sharedVisitedRels; this.lastPath = new DirectionDataPath( startNode ); if ( sharedCurrentDepth.intValue() < maxDepth ) { prepareNextLevel(); } else { this.nextRelationships = Iterators.emptyResourceIterator(); } }
/** * Create index snapshot iterator for a writable index. * @param indexFolder index location folder * @param indexWriter index writer * @return index file name iterator * @throws IOException */ public static ResourceIterator<File> forIndex( File indexFolder, IndexWriter indexWriter ) throws IOException { IndexDeletionPolicy deletionPolicy = indexWriter.getConfig().getIndexDeletionPolicy(); if ( deletionPolicy instanceof SnapshotDeletionPolicy ) { SnapshotDeletionPolicy policy = (SnapshotDeletionPolicy) deletionPolicy; return hasCommits( indexWriter ) ? new WritableIndexSnapshotFileIterator( indexFolder, policy ) : emptyResourceIterator(); } else { throw new UnsupportedIndexDeletionPolicy( "Can't perform index snapshot with specified index deletion " + "policy: " + deletionPolicy.getClass().getName() + ". " + "Only " + SnapshotDeletionPolicy.class.getName() + " is " + "supported" ); } }
/** * Create index snapshot iterator for a read only index. * @param indexFolder index location folder * @param directory index directory * @return index file name resource iterator * @throws IOException */ public static ResourceIterator<File> forIndex( File indexFolder, Directory directory ) throws IOException { if ( !hasCommits( directory ) ) { return emptyResourceIterator(); } Collection<IndexCommit> indexCommits = DirectoryReader.listCommits( directory ); IndexCommit indexCommit = Iterables.last( indexCommits ); return new ReadOnlyIndexSnapshotFileIterator( indexFolder, indexCommit ); }
private ResourceIterator<Node> allNodesWithLabel( final Label myLabel ) { KernelTransaction ktx = statementContext.getKernelTransactionBoundToThisThread( true ); Statement statement = ktx.acquireStatement(); int labelId = ktx.tokenRead().nodeLabel( myLabel.name() ); if ( labelId == TokenRead.NO_TOKEN ) { statement.close(); return Iterators.emptyResourceIterator(); } NodeLabelIndexCursor cursor = ktx.cursors().allocateNodeLabelIndexCursor(); ktx.dataRead().nodeLabelScan( labelId, cursor ); return new NodeCursorResourceIterator<>( cursor, statement, this::newNodeProxy ); }
private ResourceIterator<Node> nodesByLabelAndProperty( KernelTransaction transaction, int labelId, IndexQuery query ) { Statement statement = transaction.acquireStatement(); Read read = transaction.dataRead(); if ( query.propertyKeyId() == TokenRead.NO_TOKEN || labelId == TokenRead.NO_TOKEN ) { statement.close(); return emptyResourceIterator(); } IndexReference index = transaction.schemaRead().index( labelId, query.propertyKeyId() ); if ( index != IndexReference.NO_INDEX ) { // Ha! We found an index - let's use it to find matching nodes try { NodeValueIndexCursor cursor = transaction.cursors().allocateNodeValueIndexCursor(); read.nodeIndexSeek( index, cursor, IndexOrder.NONE, false, query ); return new NodeCursorResourceIterator<>( cursor, statement, this::newNodeProxy ); } catch ( KernelException e ) { // weird at this point but ignore and fallback to a label scan } } return getNodesByLabelAndPropertyWithoutIndex( statement, labelId, query ); }
private ResourceIterator<Node> nodesByLabelAndProperties( KernelTransaction transaction, int labelId, IndexQuery.ExactPredicate... queries ) { Statement statement = transaction.acquireStatement(); Read read = transaction.dataRead(); if ( isInvalidQuery( labelId, queries ) ) { statement.close(); return emptyResourceIterator(); } int[] propertyIds = getPropertyIds( queries ); IndexReference index = findMatchingIndex( transaction, labelId, propertyIds ); if ( index != IndexReference.NO_INDEX ) { try { NodeValueIndexCursor cursor = transaction.cursors().allocateNodeValueIndexCursor(); read.nodeIndexSeek( index, cursor, IndexOrder.NONE, false, getReorderedIndexQueries( index.properties(), queries ) ); return new NodeCursorResourceIterator<>( cursor, statement, this::newNodeProxy ); } catch ( KernelException e ) { // weird at this point but ignore and fallback to a label scan } } return getNodesByLabelAndPropertyWithoutIndex( statement, labelId, queries ); }
@Override public ResourceIterator<File> snapshotFiles() { return emptyResourceIterator(); } }
@Override public ResourceIterator<File> snapshotFiles() { return emptyResourceIterator(); }
@Override public ResourceIterator<File> snapshotFiles() { return emptyResourceIterator(); }
@Override public ResourceIterator<T> iterator() { return Iterators.emptyResourceIterator(); } }
private void resetRelationships() { if ( relationships != null ) { relationships.close(); } relationships = Iterators.emptyResourceIterator(); }
public RelationshipSnapshotIterator(Node node, Iterable<Relationship> wrappedIterable, TransactionDataContainer transactionDataContainer, Direction direction, RelationshipType... relationshipTypes) { this.transactionDataContainer = transactionDataContainer; this.deletedRelationshipIterator = transactionDataContainer.getRelationshipTransactionData().getDeleted(node, direction, relationshipTypes).iterator(); if (transactionDataContainer.getNodeTransactionData().hasBeenDeleted(node)) { this.wrappedIterator = Iterators.emptyResourceIterator(); } else { this.wrappedIterator = wrappedIterable.iterator(); } }