Skip to content

Commit

Permalink
Augmented relationships cursor consistency test.
Browse files Browse the repository at this point in the history
Adds an additional test to check that augmenting a relationship cursor remains consistent with regards to the changed relationships in the current state.
  • Loading branch information
Max Sumrall committed Jan 5, 2016
1 parent 0682eec commit d54db9c
Show file tree
Hide file tree
Showing 6 changed files with 401 additions and 367 deletions.
Expand Up @@ -21,9 +21,15 @@


import org.neo4j.storageengine.api.RelationshipItem; import org.neo4j.storageengine.api.RelationshipItem;


public abstract class RelationshipItemHelper public abstract class RelationshipItemHelper extends EntityItemHelper implements RelationshipItem
extends EntityItemHelper
implements RelationshipItem
{ {

@Override
public String toString()
{
return "Relationship[" +
"id:" + id() + ", " +
"type:" + type() + ", " +
"startNode:" + startNode() + ", " +
"endNode:" + endNode() + "]";
}
} }
Expand Up @@ -34,9 +34,8 @@
/** /**
* Overlays transaction state on a {@link RelationshipItem} cursor. * Overlays transaction state on a {@link RelationshipItem} cursor.
*/ */
public abstract class TxAbstractRelationshipCursor public abstract class TxAbstractRelationshipCursor extends EntityItemHelper
extends EntityItemHelper implements Cursor<RelationshipItem>, RelationshipItem, implements Cursor<RelationshipItem>, RelationshipItem, RelationshipVisitor<RuntimeException>
RelationshipVisitor<RuntimeException>
{ {
protected final TransactionState state; protected final TransactionState state;
private final Consumer<TxAbstractRelationshipCursor> instanceCache; private final Consumer<TxAbstractRelationshipCursor> instanceCache;
Expand All @@ -51,8 +50,7 @@ public abstract class TxAbstractRelationshipCursor
protected RelationshipState relationshipState; protected RelationshipState relationshipState;
protected boolean relationshipIsAddedInThisTx; protected boolean relationshipIsAddedInThisTx;


public TxAbstractRelationshipCursor( TransactionState state, public TxAbstractRelationshipCursor( TransactionState state, Consumer<TxAbstractRelationshipCursor> instanceCache )
Consumer<TxAbstractRelationshipCursor> instanceCache )
{ {
this.state = state; this.state = state;
this.instanceCache = instanceCache; this.instanceCache = instanceCache;
Expand Down Expand Up @@ -136,7 +134,6 @@ public Cursor<PropertyItem> property( int propertyKeyId )
{ {
return state.augmentSinglePropertyCursor( return state.augmentSinglePropertyCursor(
relationshipIsAddedInThisTx ? Cursors.<PropertyItem>empty() : cursor.get().property( propertyKeyId ), relationshipIsAddedInThisTx ? Cursors.<PropertyItem>empty() : cursor.get().property( propertyKeyId ),
relationshipState, relationshipState, propertyKeyId );
propertyKeyId );
} }
} }
Expand Up @@ -23,6 +23,7 @@
import java.util.IdentityHashMap; import java.util.IdentityHashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;

import org.neo4j.collection.primitive.Primitive; import org.neo4j.collection.primitive.Primitive;
import org.neo4j.collection.primitive.PrimitiveIntCollections; import org.neo4j.collection.primitive.PrimitiveIntCollections;
import org.neo4j.collection.primitive.PrimitiveIntIterator; import org.neo4j.collection.primitive.PrimitiveIntIterator;
Expand Down Expand Up @@ -139,16 +140,6 @@ public RelationshipIterator augmentRelationships( Direction direction, int[] typ
return rels; return rels;
} }


@Override
public RelationshipIterator addedRelationships( Direction direction, int[] types )
{
if ( hasAddedRelationships() )
{
return relationshipsAdded.augmentRelationships( direction, types, RelationshipIterator.EMPTY );
}
return null;
}

@Override @Override
public int augmentDegree( Direction direction, int degree ) public int augmentDegree( Direction direction, int degree )
{ {
Expand Down Expand Up @@ -347,11 +338,6 @@ public RelationshipIterator augmentRelationships( Direction direction, int[] typ
return rels; return rels;
} }


@Override
public PrimitiveLongIterator addedRelationships( Direction direction, int[] types )
{
return Primitive.iterator();
}


@Override @Override
public int augmentDegree( Direction direction, int degree ) public int augmentDegree( Direction direction, int degree )
Expand Down

0 comments on commit d54db9c

Please sign in to comment.