Search in sources :

Example 16 with IndexDefineCommand

use of org.neo4j.kernel.impl.index.IndexDefineCommand in project neo4j by neo4j.

the class LegacyIndexTransactionStateImplTest method relationshipIndexDeletionRemovesCommands.

@Test
public void relationshipIndexDeletionRemovesCommands() {
    LegacyIndexTransactionStateImpl state = newLegacyIndexTxState();
    state.removeRelationship("index", 1, "key", "value1");
    state.addRelationship("index", 2, "key", "value2", 11, 11);
    state.addRelationship("index", 3, "key", "value3", 22, 22);
    state.deleteIndex(IndexEntityType.Relationship, "index");
    IndexDefineCommand indexDefinedCommand = new IndexDefineCommand();
    indexDefinedCommand.getOrAssignIndexNameId("index");
    indexDefinedCommand.getOrAssignKeyId("key");
    IndexCommand.DeleteCommand delete = new IndexCommand.DeleteCommand();
    delete.init(1, IndexEntityType.Relationship.id());
    Set<Command> expectedCommands = new HashSet<>(Arrays.asList(indexDefinedCommand, delete));
    assertEquals(expectedCommands, extractCommands(state));
}
Also used : IndexCommand(org.neo4j.kernel.impl.index.IndexCommand) IndexDefineCommand(org.neo4j.kernel.impl.index.IndexDefineCommand) StorageCommand(org.neo4j.storageengine.api.StorageCommand) Command(org.neo4j.kernel.impl.transaction.command.Command) IndexCommand(org.neo4j.kernel.impl.index.IndexCommand) IndexDefineCommand(org.neo4j.kernel.impl.index.IndexDefineCommand) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 17 with IndexDefineCommand

use of org.neo4j.kernel.impl.index.IndexDefineCommand in project neo4j by neo4j.

the class LegacyIndexTransactionStateImplTest method tracksRelationshipCommands.

@Test
public void tracksRelationshipCommands() {
    LegacyIndexTransactionStateImpl state = newLegacyIndexTxState();
    state.removeRelationship("index1", 1, "key1", "value1");
    state.addRelationship("index1", 1, "key2", "value2", 11, 11);
    state.removeRelationship("index1", 2, "key1", "value3");
    state.addRelationship("index1", 3, "key2", "value4", 22, 22);
    state.addRelationship("index2", 4, "key1", "value5", 33, 33);
    IndexDefineCommand indexDefinedCommand = new IndexDefineCommand();
    indexDefinedCommand.getOrAssignIndexNameId("index1");
    indexDefinedCommand.getOrAssignIndexNameId("index2");
    indexDefinedCommand.getOrAssignKeyId("key1");
    indexDefinedCommand.getOrAssignKeyId("key2");
    Set<Command> expectedCommands = new HashSet<>(Arrays.asList(indexDefinedCommand, removeRelationship(1, 1, 1, "value1"), addRelationship(1, 1, 2, "value2", 11, 11), removeRelationship(1, 2, 1, "value3"), addRelationship(1, 3, 2, "value4", 22, 22), addRelationship(2, 4, 1, "value5", 33, 33)));
    assertEquals(expectedCommands, extractCommands(state));
}
Also used : IndexDefineCommand(org.neo4j.kernel.impl.index.IndexDefineCommand) StorageCommand(org.neo4j.storageengine.api.StorageCommand) Command(org.neo4j.kernel.impl.transaction.command.Command) IndexCommand(org.neo4j.kernel.impl.index.IndexCommand) IndexDefineCommand(org.neo4j.kernel.impl.index.IndexDefineCommand) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 18 with IndexDefineCommand

use of org.neo4j.kernel.impl.index.IndexDefineCommand in project neo4j by neo4j.

the class LegacyIndexTransactionStateImplTest method removalOfNodeIndexDoesNotClearRelationshipCommandsForRelationshipIndexWithSameName.

@Test
public void removalOfNodeIndexDoesNotClearRelationshipCommandsForRelationshipIndexWithSameName() {
    LegacyIndexTransactionStateImpl state = newLegacyIndexTxState();
    state.addNode("index", 1, "key", "value");
    state.addRelationship("index", 1, "key", "value", 11, 11);
    state.deleteIndex(IndexEntityType.Node, "index");
    IndexDefineCommand indexDefinedCommand = new IndexDefineCommand();
    indexDefinedCommand.getOrAssignIndexNameId("index");
    indexDefinedCommand.getOrAssignKeyId("key");
    IndexCommand.DeleteCommand delete = new IndexCommand.DeleteCommand();
    delete.init(1, IndexEntityType.Node.id());
    Set<Command> expectedCommands = new HashSet<>(Arrays.asList(indexDefinedCommand, delete, addRelationship(1, 1, 1, "value", 11, 11)));
    assertEquals(expectedCommands, extractCommands(state));
}
Also used : IndexCommand(org.neo4j.kernel.impl.index.IndexCommand) IndexDefineCommand(org.neo4j.kernel.impl.index.IndexDefineCommand) StorageCommand(org.neo4j.storageengine.api.StorageCommand) Command(org.neo4j.kernel.impl.transaction.command.Command) IndexCommand(org.neo4j.kernel.impl.index.IndexCommand) IndexDefineCommand(org.neo4j.kernel.impl.index.IndexDefineCommand) HashSet(java.util.HashSet) Test(org.junit.Test)

Aggregations

IndexDefineCommand (org.neo4j.kernel.impl.index.IndexDefineCommand)18 Test (org.junit.Test)11 StorageCommand (org.neo4j.storageengine.api.StorageCommand)7 HashSet (java.util.HashSet)6 IndexCommand (org.neo4j.kernel.impl.index.IndexCommand)6 Command (org.neo4j.kernel.impl.transaction.command.Command)6 IoPrimitiveUtils.read2bLengthAndString (org.neo4j.kernel.impl.util.IoPrimitiveUtils.read2bLengthAndString)5 IoPrimitiveUtils.read3bLengthAndString (org.neo4j.kernel.impl.util.IoPrimitiveUtils.read3bLengthAndString)5 IndexConfigStore (org.neo4j.kernel.impl.index.IndexConfigStore)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 ExecutorService (java.util.concurrent.ExecutorService)1 Executors.newCachedThreadPool (java.util.concurrent.Executors.newCachedThreadPool)1 TimeUnit (java.util.concurrent.TimeUnit)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1 After (org.junit.After)1 Assert.assertEquals (org.junit.Assert.assertEquals)1 Assert.assertFalse (org.junit.Assert.assertFalse)1 Assert.assertTrue (org.junit.Assert.assertTrue)1