Skip to content

Commit

Permalink
Prefix cursor implementations with Default
Browse files Browse the repository at this point in the history
  • Loading branch information
fickludd committed Jan 31, 2018
1 parent 336c7bf commit 72c693e
Show file tree
Hide file tree
Showing 33 changed files with 276 additions and 251 deletions.
Expand Up @@ -42,7 +42,7 @@ import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge
import org.neo4j.kernel.impl.coreapi.{InternalTransaction, PropertyContainerLocker} import org.neo4j.kernel.impl.coreapi.{InternalTransaction, PropertyContainerLocker}
import org.neo4j.kernel.impl.factory.CanWrite import org.neo4j.kernel.impl.factory.CanWrite
import org.neo4j.kernel.impl.locking.LockTracer import org.neo4j.kernel.impl.locking.LockTracer
import org.neo4j.kernel.impl.newapi.Cursors import org.neo4j.kernel.impl.newapi.DefaultCursors
import org.neo4j.kernel.impl.proc.Procedures import org.neo4j.kernel.impl.proc.Procedures
import org.neo4j.kernel.impl.query.clientconnection.ClientConnectionInfo import org.neo4j.kernel.impl.query.clientconnection.ClientConnectionInfo
import org.neo4j.kernel.impl.query.{Neo4jTransactionalContext, Neo4jTransactionalContextFactory} import org.neo4j.kernel.impl.query.{Neo4jTransactionalContext, Neo4jTransactionalContextFactory}
Expand Down Expand Up @@ -86,7 +86,7 @@ class TransactionBoundQueryContextTest extends CypherFunSuite {


val bridge = mock[ThreadToStatementContextBridge] val bridge = mock[ThreadToStatementContextBridge]
val transaction = mock[KernelTransaction] val transaction = mock[KernelTransaction]
when(transaction.cursors()).thenReturn(new Cursors()) when(transaction.cursors()).thenReturn(new DefaultCursors())
when(bridge.getKernelTransactionBoundToThisThread(true)).thenReturn(transaction) when(bridge.getKernelTransactionBoundToThisThread(true)).thenReturn(transaction)
val tc = new Neo4jTransactionalContext(graph, null, null, bridge, locker, outerTx, statement, null) val tc = new Neo4jTransactionalContext(graph, null, null, bridge, locker, outerTx, statement, null)
val transactionalContext = TransactionalContextWrapper(tc) val transactionalContext = TransactionalContextWrapper(tc)
Expand All @@ -109,7 +109,7 @@ class TransactionBoundQueryContextTest extends CypherFunSuite {
when(outerTx.securityContext()).thenReturn(AUTH_DISABLED) when(outerTx.securityContext()).thenReturn(AUTH_DISABLED)
val bridge = mock[ThreadToStatementContextBridge] val bridge = mock[ThreadToStatementContextBridge]
val transaction = mock[KernelTransaction] val transaction = mock[KernelTransaction]
when(transaction.cursors()).thenReturn(new Cursors()) when(transaction.cursors()).thenReturn(new DefaultCursors())
when(bridge.getKernelTransactionBoundToThisThread(true)).thenReturn(transaction) when(bridge.getKernelTransactionBoundToThisThread(true)).thenReturn(transaction)
val tc = new Neo4jTransactionalContext(graph, null, null, bridge, locker, outerTx, statement, null) val tc = new Neo4jTransactionalContext(graph, null, null, bridge, locker, outerTx, statement, null)
val transactionalContext = TransactionalContextWrapper(tc) val transactionalContext = TransactionalContextWrapper(tc)
Expand Down Expand Up @@ -212,7 +212,7 @@ class TransactionBoundQueryContextTest extends CypherFunSuite {
// GIVEN // GIVEN
val bridge = mock[ThreadToStatementContextBridge] val bridge = mock[ThreadToStatementContextBridge]
val transaction = mock[KernelTransaction] val transaction = mock[KernelTransaction]
when(transaction.cursors()).thenReturn(new Cursors()) when(transaction.cursors()).thenReturn(new DefaultCursors())
when(bridge.getKernelTransactionBoundToThisThread(true)).thenReturn(transaction) when(bridge.getKernelTransactionBoundToThisThread(true)).thenReturn(transaction)
val tc = new Neo4jTransactionalContext(graph, null, null, bridge, locker, outerTx, statement, null) val tc = new Neo4jTransactionalContext(graph, null, null, bridge, locker, outerTx, statement, null)
val transactionalContext = TransactionalContextWrapper(tc) val transactionalContext = TransactionalContextWrapper(tc)
Expand Down
Expand Up @@ -82,8 +82,8 @@
import org.neo4j.kernel.impl.locking.ReentrantLockService; import org.neo4j.kernel.impl.locking.ReentrantLockService;
import org.neo4j.kernel.impl.locking.StatementLocksFactory; import org.neo4j.kernel.impl.locking.StatementLocksFactory;
import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.newapi.Cursors;
import org.neo4j.kernel.impl.newapi.KernelToken; import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.newapi.DefaultCursors;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine; import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.id.IdController; import org.neo4j.kernel.impl.storageengine.impl.recordstorage.id.IdController;
Expand Down Expand Up @@ -669,7 +669,7 @@ private NeoStoreKernelModule buildKernel( LogFiles logFiles, TransactionAppender
constraintIndexCreator, statementOperationParts, schemaWriteGuard, transactionHeaderInformationFactory, constraintIndexCreator, statementOperationParts, schemaWriteGuard, transactionHeaderInformationFactory,
transactionCommitProcess, indexConfigStore, explicitIndexProviderLookup, hooks, transactionMonitor, transactionCommitProcess, indexConfigStore, explicitIndexProviderLookup, hooks, transactionMonitor,
availabilityGuard, tracers, storageEngine, procedures, transactionIdStore, clock, availabilityGuard, tracers, storageEngine, procedures, transactionIdStore, clock,
cpuClockRef, heapAllocationRef, accessCapability, token, new Cursors(), autoIndexing, explicitIndexStore ) ); cpuClockRef, heapAllocationRef, accessCapability, token, new DefaultCursors(), autoIndexing, explicitIndexStore ) );


buildTransactionMonitor( kernelTransactions, clock, config ); buildTransactionMonitor( kernelTransactions, clock, config );


Expand Down
Expand Up @@ -74,7 +74,7 @@
import org.neo4j.kernel.impl.locking.Locks; import org.neo4j.kernel.impl.locking.Locks;
import org.neo4j.kernel.impl.locking.StatementLocks; import org.neo4j.kernel.impl.locking.StatementLocks;
import org.neo4j.kernel.impl.newapi.AllStoreHolder; import org.neo4j.kernel.impl.newapi.AllStoreHolder;
import org.neo4j.kernel.impl.newapi.Cursors; import org.neo4j.kernel.impl.newapi.DefaultCursors;
import org.neo4j.kernel.impl.newapi.IndexTxStateUpdater; import org.neo4j.kernel.impl.newapi.IndexTxStateUpdater;
import org.neo4j.kernel.impl.newapi.KernelToken; import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.newapi.Operations; import org.neo4j.kernel.impl.newapi.Operations;
Expand Down Expand Up @@ -180,7 +180,7 @@ public KernelTransactionImplementation( StatementOperationParts statementOperati
TransactionMonitor transactionMonitor, Supplier<ExplicitIndexTransactionState> explicitIndexTxStateSupplier, TransactionMonitor transactionMonitor, Supplier<ExplicitIndexTransactionState> explicitIndexTxStateSupplier,
Pool<KernelTransactionImplementation> pool, Clock clock, AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef, Pool<KernelTransactionImplementation> pool, Clock clock, AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef,
TransactionTracer transactionTracer, LockTracer lockTracer, PageCursorTracerSupplier cursorTracerSupplier, TransactionTracer transactionTracer, LockTracer lockTracer, PageCursorTracerSupplier cursorTracerSupplier,
StorageEngine storageEngine, AccessCapability accessCapability, KernelToken token, Cursors cursors, AutoIndexing autoIndexing, StorageEngine storageEngine, AccessCapability accessCapability, KernelToken token, DefaultCursors cursors, AutoIndexing autoIndexing,
ExplicitIndexStore explicitIndexStore ) ExplicitIndexStore explicitIndexStore )
{ {
this.statementOperations = statementOperations; this.statementOperations = statementOperations;
Expand Down
Expand Up @@ -45,7 +45,7 @@
import org.neo4j.kernel.impl.index.IndexConfigStore; import org.neo4j.kernel.impl.index.IndexConfigStore;
import org.neo4j.kernel.impl.locking.StatementLocks; import org.neo4j.kernel.impl.locking.StatementLocks;
import org.neo4j.kernel.impl.locking.StatementLocksFactory; import org.neo4j.kernel.impl.locking.StatementLocksFactory;
import org.neo4j.kernel.impl.newapi.Cursors; import org.neo4j.kernel.impl.newapi.DefaultCursors;
import org.neo4j.kernel.impl.newapi.KernelToken; import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.store.TransactionId; import org.neo4j.kernel.impl.store.TransactionId;
Expand Down Expand Up @@ -93,7 +93,7 @@ public class KernelTransactions extends LifecycleAdapter implements Supplier<Ker
private final SystemNanoClock clock; private final SystemNanoClock clock;
private final ReentrantReadWriteLock newTransactionsLock = new ReentrantReadWriteLock(); private final ReentrantReadWriteLock newTransactionsLock = new ReentrantReadWriteLock();
private final MonotonicCounter userTransactionIdCounter = MonotonicCounter.newAtomicMonotonicCounter(); private final MonotonicCounter userTransactionIdCounter = MonotonicCounter.newAtomicMonotonicCounter();
private final Cursors cursors; private final DefaultCursors cursors;
private final KernelToken token; private final KernelToken token;
private final AutoIndexing autoIndexing; private final AutoIndexing autoIndexing;
private final ExplicitIndexStore explicitIndexStore; private final ExplicitIndexStore explicitIndexStore;
Expand Down Expand Up @@ -135,7 +135,7 @@ public KernelTransactions( StatementLocksFactory statementLocksFactory,
StorageEngine storageEngine, Procedures procedures, TransactionIdStore transactionIdStore, StorageEngine storageEngine, Procedures procedures, TransactionIdStore transactionIdStore,
SystemNanoClock clock, SystemNanoClock clock,
AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef, AccessCapability accessCapability, AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef, AccessCapability accessCapability,
KernelToken token, Cursors cursors, KernelToken token, DefaultCursors cursors,
AutoIndexing autoIndexing, AutoIndexing autoIndexing,
ExplicitIndexStore explicitIndexStore ) ExplicitIndexStore explicitIndexStore )
{ {
Expand Down
Expand Up @@ -28,6 +28,7 @@
import org.neo4j.helpers.collection.Iterators; import org.neo4j.helpers.collection.Iterators;
import org.neo4j.internal.kernel.api.CapableIndexReference; import org.neo4j.internal.kernel.api.CapableIndexReference;
import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.IndexCapability;
import org.neo4j.internal.kernel.api.IndexReference;
import org.neo4j.internal.kernel.api.InternalIndexState; import org.neo4j.internal.kernel.api.InternalIndexState;
import org.neo4j.internal.kernel.api.exceptions.explicitindex.ExplicitIndexNotFoundKernelException; import org.neo4j.internal.kernel.api.exceptions.explicitindex.ExplicitIndexNotFoundKernelException;
import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; import org.neo4j.internal.kernel.api.schema.SchemaDescriptor;
Expand Down Expand Up @@ -79,7 +80,7 @@ public class AllStoreHolder extends Read
public AllStoreHolder( StorageEngine engine, public AllStoreHolder( StorageEngine engine,
StorageStatement statement, StorageStatement statement,
KernelTransactionImplementation ktx, KernelTransactionImplementation ktx,
Cursors cursors, DefaultCursors cursors,
ExplicitIndexStore explicitIndexStore ) ExplicitIndexStore explicitIndexStore )
{ {
super( cursors, ktx ); super( cursors, ktx );
Expand Down Expand Up @@ -121,7 +122,7 @@ long graphPropertiesReference()
} }


@Override @Override
IndexReader indexReader( org.neo4j.internal.kernel.api.IndexReference index ) throws IndexNotFoundKernelException IndexReader indexReader( IndexReference index ) throws IndexNotFoundKernelException
{ {
IndexDescriptor indexDescriptor = index.isUnique() ? IndexDescriptor indexDescriptor = index.isUnique() ?
IndexDescriptorFactory.uniqueForLabel( index.label(), index.properties() ) : IndexDescriptorFactory.uniqueForLabel( index.label(), index.properties() ) :
Expand Down Expand Up @@ -346,15 +347,15 @@ long relationshipHighMark()
} }


@Override @Override
TextValue string( PropertyCursor cursor, long reference, PageCursor page ) TextValue string( DefaultPropertyCursor cursor, long reference, PageCursor page )
{ {
ByteBuffer buffer = cursor.buffer = properties.loadString( reference, cursor.buffer, page ); ByteBuffer buffer = cursor.buffer = properties.loadString( reference, cursor.buffer, page );
buffer.flip(); buffer.flip();
return Values.stringValue( UTF8.decode( buffer.array(), 0, buffer.limit() ) ); return Values.stringValue( UTF8.decode( buffer.array(), 0, buffer.limit() ) );
} }


@Override @Override
ArrayValue array( PropertyCursor cursor, long reference, PageCursor page ) ArrayValue array( DefaultPropertyCursor cursor, long reference, PageCursor page )
{ {
ByteBuffer buffer = cursor.buffer = properties.loadArray( reference, cursor.buffer, page ); ByteBuffer buffer = cursor.buffer = properties.loadArray( reference, cursor.buffer, page );
buffer.flip(); buffer.flip();
Expand Down

This file was deleted.

Expand Up @@ -19,12 +19,13 @@
*/ */
package org.neo4j.kernel.impl.newapi; package org.neo4j.kernel.impl.newapi;


import org.neo4j.internal.kernel.api.CapableIndexReference;
import org.neo4j.internal.kernel.api.IndexCapability; import org.neo4j.internal.kernel.api.IndexCapability;
import org.neo4j.internal.kernel.api.IndexOrder; import org.neo4j.internal.kernel.api.IndexOrder;
import org.neo4j.internal.kernel.api.IndexValueCapability; import org.neo4j.internal.kernel.api.IndexValueCapability;
import org.neo4j.values.storable.ValueGroup; import org.neo4j.values.storable.ValueGroup;


class DefaultCapableIndexReference implements org.neo4j.internal.kernel.api.CapableIndexReference class DefaultCapableIndexReference implements CapableIndexReference
{ {
private final int label; private final int label;
private final int[] properties; private final int[] properties;
Expand Down
@@ -0,0 +1,79 @@
/*
* Copyright (c) 2002-2018 "Neo Technology,"
* Network Engine for Objects in Lund AB [http://neotechnology.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.newapi;

import org.neo4j.internal.kernel.api.CursorFactory;

public class DefaultCursors implements CursorFactory
{
@Override
public DefaultNodeCursor allocateNodeCursor()
{
return new DefaultNodeCursor( );
}

@Override
public DefaultRelationshipScanCursor allocateRelationshipScanCursor()
{
return new DefaultRelationshipScanCursor( );
}

@Override
public DefaultRelationshipTraversalCursor allocateRelationshipTraversalCursor()
{
return new DefaultRelationshipTraversalCursor( allocateRelationshipGroupCursor() );
}

@Override
public DefaultPropertyCursor allocatePropertyCursor()
{
return new DefaultPropertyCursor( );
}

@Override
public DefaultRelationshipGroupCursor allocateRelationshipGroupCursor()
{
return new DefaultRelationshipGroupCursor( );
}

@Override
public DefaultNodeValueIndexCursor allocateNodeValueIndexCursor()
{
return new DefaultNodeValueIndexCursor( );
}

@Override
public DefaultNodeLabelIndexCursor allocateNodeLabelIndexCursor()
{
return new DefaultNodeLabelIndexCursor( );
}

@Override
public DefaultNodeExplicitIndexCursor allocateNodeExplicitIndexCursor()
{
return new DefaultNodeExplicitIndexCursor( );
}

@Override
public DefaultRelationshipExplicitIndexCursor allocateRelationshipExplicitIndexCursor()
{
return new DefaultRelationshipExplicitIndexCursor( );
}
}
Expand Up @@ -24,6 +24,7 @@
import org.neo4j.collection.primitive.Primitive; import org.neo4j.collection.primitive.Primitive;
import org.neo4j.collection.primitive.PrimitiveIntSet; import org.neo4j.collection.primitive.PrimitiveIntSet;
import org.neo4j.internal.kernel.api.LabelSet; import org.neo4j.internal.kernel.api.LabelSet;
import org.neo4j.internal.kernel.api.NodeCursor;
import org.neo4j.internal.kernel.api.PropertyCursor; import org.neo4j.internal.kernel.api.PropertyCursor;
import org.neo4j.internal.kernel.api.RelationshipGroupCursor; import org.neo4j.internal.kernel.api.RelationshipGroupCursor;
import org.neo4j.internal.kernel.api.RelationshipTraversalCursor; import org.neo4j.internal.kernel.api.RelationshipTraversalCursor;
Expand All @@ -36,7 +37,7 @@


import static java.util.Collections.emptySet; import static java.util.Collections.emptySet;


class NodeCursor extends NodeRecord implements org.neo4j.internal.kernel.api.NodeCursor class DefaultNodeCursor extends NodeRecord implements NodeCursor
{ {
private Read read; private Read read;
private RecordCursor<DynamicRecord> labelCursor; private RecordCursor<DynamicRecord> labelCursor;
Expand All @@ -46,7 +47,7 @@ class NodeCursor extends NodeRecord implements org.neo4j.internal.kernel.api.Nod
private HasChanges hasChanges = HasChanges.MAYBE; private HasChanges hasChanges = HasChanges.MAYBE;
private Set<Long> addedNodes; private Set<Long> addedNodes;


NodeCursor() DefaultNodeCursor()
{ {
super( NO_ID ); super( NO_ID );
} }
Expand Down
Expand Up @@ -24,15 +24,15 @@


import static org.neo4j.kernel.impl.store.record.AbstractBaseRecord.NO_ID; import static org.neo4j.kernel.impl.store.record.AbstractBaseRecord.NO_ID;


class NodeExplicitIndexCursor extends IndexCursor<ExplicitIndexProgressor> class DefaultNodeExplicitIndexCursor extends IndexCursor<ExplicitIndexProgressor>
implements org.neo4j.internal.kernel.api.NodeExplicitIndexCursor, ExplicitClient implements org.neo4j.internal.kernel.api.NodeExplicitIndexCursor, ExplicitClient
{ {
private Read read; private Read read;
private int expectedSize; private int expectedSize;
private long node; private long node;
private float score; private float score;


NodeExplicitIndexCursor() DefaultNodeExplicitIndexCursor()
{ {
node = NO_ID; node = NO_ID;
} }
Expand Down
Expand Up @@ -26,23 +26,24 @@
import org.neo4j.collection.primitive.PrimitiveLongIterator; import org.neo4j.collection.primitive.PrimitiveLongIterator;
import org.neo4j.internal.kernel.api.LabelSet; import org.neo4j.internal.kernel.api.LabelSet;
import org.neo4j.internal.kernel.api.NodeCursor; import org.neo4j.internal.kernel.api.NodeCursor;
import org.neo4j.internal.kernel.api.NodeLabelIndexCursor;
import org.neo4j.kernel.impl.index.labelscan.LabelScanValueIndexProgressor; import org.neo4j.kernel.impl.index.labelscan.LabelScanValueIndexProgressor;
import org.neo4j.storageengine.api.schema.IndexProgressor; import org.neo4j.storageengine.api.schema.IndexProgressor;
import org.neo4j.storageengine.api.schema.IndexProgressor.NodeLabelClient; import org.neo4j.storageengine.api.schema.IndexProgressor.NodeLabelClient;
import org.neo4j.storageengine.api.txstate.ReadableDiffSets; import org.neo4j.storageengine.api.txstate.ReadableDiffSets;


import static org.neo4j.kernel.impl.store.record.AbstractBaseRecord.NO_ID; import static org.neo4j.kernel.impl.store.record.AbstractBaseRecord.NO_ID;


class NodeLabelIndexCursor extends IndexCursor<LabelScanValueIndexProgressor> class DefaultNodeLabelIndexCursor extends IndexCursor<LabelScanValueIndexProgressor>
implements org.neo4j.internal.kernel.api.NodeLabelIndexCursor, NodeLabelClient implements NodeLabelIndexCursor, NodeLabelClient
{ {
private Read read; private Read read;
private long node; private long node;
private LabelSet labels; private LabelSet labels;
private PrimitiveLongIterator added; private PrimitiveLongIterator added;
private Set<Long> removed; private Set<Long> removed;


NodeLabelIndexCursor() DefaultNodeLabelIndexCursor()
{ {
node = NO_ID; node = NO_ID;
} }
Expand Down

0 comments on commit 72c693e

Please sign in to comment.