use of com.baidu.hugegraph.backend.store.BackendMutation in project incubator-hugegraph by apache.
the class BackendMutationTest method testInsertAndEliminateEntry.
@Test
public void testInsertAndEliminateEntry() {
BackendMutation mutation = new BackendMutation();
BackendEntry entry1 = constructBackendEntry("1", "name", "marko");
BackendEntry entry2 = constructBackendEntry("1", "name", "marko");
mutation.add(entry1, Action.INSERT);
Assert.assertThrows(HugeException.class, () -> {
mutation.add(entry2, Action.ELIMINATE);
});
}
use of com.baidu.hugegraph.backend.store.BackendMutation in project incubator-hugegraph by apache.
the class BackendMutationTest method testInsertAndDeleteEntry.
@Test
public void testInsertAndDeleteEntry() {
BackendMutation mutation = new BackendMutation();
BackendEntry entry1 = constructBackendEntry("1");
BackendEntry entry2 = constructBackendEntry("1");
mutation.add(entry1, Action.INSERT);
Assert.assertThrows(HugeException.class, () -> {
mutation.add(entry2, Action.DELETE);
});
}
use of com.baidu.hugegraph.backend.store.BackendMutation in project incubator-hugegraph by apache.
the class StoreSerializerTest method testSerializeBackendMutation.
@Test
public void testSerializeBackendMutation() {
BinaryBackendEntry entry = new BinaryBackendEntry(HugeType.VERTEX, new byte[] { 1, 2 });
entry.column(new byte[] { 1 }, new byte[] { 1 });
entry.column(new byte[] { 2 }, new byte[] { 2 });
entry.column(new byte[] { 127 }, new byte[] { 127 });
BackendMutation origin = new BackendMutation();
origin.add(entry, Action.INSERT);
byte[] bytes = StoreSerializer.writeMutation(origin);
BytesBuffer buffer = BytesBuffer.wrap(bytes);
BackendMutation actual = StoreSerializer.readMutation(buffer);
Assert.assertEquals(1, actual.size());
Iterator<BackendAction> iter = actual.mutation();
while (iter.hasNext()) {
BackendAction item = iter.next();
Assert.assertEquals(Action.INSERT, item.action());
BackendEntry e = item.entry();
Assert.assertEquals(entry.type(), e.type());
Assert.assertEquals(entry.id(), e.id());
Assert.assertEquals(entry.subId(), e.subId());
Assert.assertEquals(entry.ttl(), e.ttl());
Assert.assertEquals(entry.columnsSize(), e.columnsSize());
Assert.assertEquals(entry.columns(), e.columns());
}
}
use of com.baidu.hugegraph.backend.store.BackendMutation in project incubator-hugegraph by apache.
the class GraphTransaction method commitPartOfEdgeDeletions.
private void commitPartOfEdgeDeletions(Map<Id, HugeEdge> removedEdges) {
assert this.commitPartOfAdjacentEdges > 0;
this.prepareDeletions(removedEdges);
BackendMutation mutation = this.mutation();
BackendMutation idxMutation = this.indexTransaction().mutation();
try {
this.commitMutation2Backend(mutation, idxMutation);
} catch (Throwable e) {
this.rollbackBackend();
} finally {
mutation.clear();
idxMutation.clear();
}
removedEdges.clear();
}
use of com.baidu.hugegraph.backend.store.BackendMutation in project incubator-hugegraph by apache.
the class AbstractTransaction method commit2Backend.
protected void commit2Backend() {
BackendMutation mutation = this.prepareCommit();
assert !mutation.isEmpty();
this.commitMutation2Backend(mutation);
}
Aggregations