use of com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OWALChangesTree in project orientdb by orientechnologies.
the class OCompositeKeyTest method testWALChangesBinarySerializationCompositeKeyNull.
public void testWALChangesBinarySerializationCompositeKeyNull() {
final int serializationOffset = 5;
final OCompositeKey compositeKey = new OCompositeKey();
compositeKey.addKey(1);
compositeKey.addKey(null);
compositeKey.addKey(2);
final int len = OCompositeKeySerializer.INSTANCE.getObjectSize(compositeKey);
final ByteBuffer buffer = ByteBuffer.allocateDirect(len + serializationOffset).order(ByteOrder.nativeOrder());
final byte[] data = new byte[len];
OCompositeKeySerializer.INSTANCE.serializeNativeObject(compositeKey, data, 0);
final OWALChanges walChanges = new OWALChangesTree();
walChanges.setBinaryValue(buffer, data, serializationOffset);
Assert.assertEquals(OCompositeKeySerializer.INSTANCE.getObjectSizeInByteBuffer(buffer, walChanges, serializationOffset), len);
Assert.assertEquals(OCompositeKeySerializer.INSTANCE.deserializeFromByteBufferObject(buffer, walChanges, serializationOffset), compositeKey);
}
use of com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OWALChangesTree in project orientdb by orientechnologies.
the class LinkSerializerTest method testSerializeWALChanges.
public void testSerializeWALChanges() {
final int serializationOffset = 5;
final ByteBuffer buffer = ByteBuffer.allocateDirect(FIELD_SIZE + serializationOffset);
final byte[] data = new byte[FIELD_SIZE];
linkSerializer.serializeNativeObject(OBJECT, data, 0);
final OWALChanges walChanges = new OWALChangesTree();
walChanges.setBinaryValue(buffer, data, serializationOffset);
Assert.assertEquals(linkSerializer.getObjectSizeInByteBuffer(buffer, walChanges, serializationOffset), FIELD_SIZE);
Assert.assertEquals(linkSerializer.deserializeFromByteBufferObject(buffer, walChanges, serializationOffset), OBJECT);
}
use of com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OWALChangesTree in project orientdb by orientechnologies.
the class OStreamSerializerSBTreeIndexRIDContainerTest method testSerializeWALChangesEmbeddedNonDurable.
public void testSerializeWALChangesEmbeddedNonDurable() {
final OIndexRIDContainer indexRIDContainer = new OIndexRIDContainer("test", false);
indexRIDContainer.setTopThreshold(100);
for (int i = 0; i < 5; i++) {
indexRIDContainer.add(new ORecordId(1, i));
}
Assert.assertTrue(indexRIDContainer.isEmbedded());
final int len = streamSerializerSBTreeIndexRIDContainer.getObjectSize(indexRIDContainer);
final int serializationOffset = 5;
final ByteBuffer buffer = ByteBuffer.allocateDirect(len + serializationOffset).order(ByteOrder.nativeOrder());
final byte[] data = new byte[len];
streamSerializerSBTreeIndexRIDContainer.serializeNativeObject(indexRIDContainer, data, 0);
final OWALChanges walChanges = new OWALChangesTree();
walChanges.setBinaryValue(buffer, data, serializationOffset);
Assert.assertEquals(streamSerializerSBTreeIndexRIDContainer.getObjectSizeInByteBuffer(buffer, walChanges, serializationOffset), len);
OIndexRIDContainer newRidContainer = streamSerializerSBTreeIndexRIDContainer.deserializeFromByteBufferObject(buffer, walChanges, serializationOffset);
Assert.assertNotSame(newRidContainer, indexRIDContainer);
Assert.assertTrue(newRidContainer.isEmbedded());
Assert.assertFalse(newRidContainer.isDurableNonTxMode());
final Set<OIdentifiable> storedRids = new HashSet<OIdentifiable>(newRidContainer);
final Set<OIdentifiable> newRids = new HashSet<OIdentifiable>(indexRIDContainer);
Assert.assertEquals(newRids, storedRids);
}
use of com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OWALChangesTree in project orientdb by orientechnologies.
the class OStreamSerializerSBTreeIndexRIDContainerTest method testSerializeWALChangesNonEmbeddedDurable.
public void testSerializeWALChangesNonEmbeddedDurable() {
final OIndexRIDContainer indexRIDContainer = new OIndexRIDContainer("test", true);
indexRIDContainer.setTopThreshold(1);
for (int i = 0; i < 5; i++) {
indexRIDContainer.add(new ORecordId(1, i * 4));
}
Assert.assertFalse(indexRIDContainer.isEmbedded());
final int len = streamSerializerSBTreeIndexRIDContainer.getObjectSize(indexRIDContainer);
final int serializationOffset = 5;
final ByteBuffer buffer = ByteBuffer.allocateDirect(len + serializationOffset).order(ByteOrder.nativeOrder());
final byte[] data = new byte[len];
streamSerializerSBTreeIndexRIDContainer.serializeNativeObject(indexRIDContainer, data, 0);
final OWALChanges walChanges = new OWALChangesTree();
walChanges.setBinaryValue(buffer, data, serializationOffset);
Assert.assertEquals(streamSerializerSBTreeIndexRIDContainer.getObjectSizeInByteBuffer(buffer, walChanges, serializationOffset), len);
OIndexRIDContainer newRidContainer = streamSerializerSBTreeIndexRIDContainer.deserializeFromByteBufferObject(buffer, walChanges, serializationOffset);
Assert.assertNotSame(newRidContainer, indexRIDContainer);
Assert.assertFalse(newRidContainer.isEmbedded());
Assert.assertTrue(newRidContainer.isDurableNonTxMode());
final Set<OIdentifiable> storedRids = new HashSet<OIdentifiable>(newRidContainer);
final Set<OIdentifiable> newRids = new HashSet<OIdentifiable>(indexRIDContainer);
Assert.assertEquals(newRids, storedRids);
}
use of com.orientechnologies.orient.core.storage.impl.local.paginated.wal.OWALChangesTree in project orientdb by orientechnologies.
the class OStreamSerializerSBTreeIndexRIDContainerTest method testSerializeWALChangesNonEmbeddedNonDurable.
public void testSerializeWALChangesNonEmbeddedNonDurable() {
final OIndexRIDContainer indexRIDContainer = new OIndexRIDContainer("test", false);
indexRIDContainer.setTopThreshold(1);
for (int i = 0; i < 5; i++) {
indexRIDContainer.add(new ORecordId(1, i * 3));
}
Assert.assertFalse(indexRIDContainer.isEmbedded());
final int len = streamSerializerSBTreeIndexRIDContainer.getObjectSize(indexRIDContainer);
final int serializationOffset = 5;
final ByteBuffer buffer = ByteBuffer.allocateDirect(len + serializationOffset).order(ByteOrder.nativeOrder());
final byte[] data = new byte[len];
streamSerializerSBTreeIndexRIDContainer.serializeNativeObject(indexRIDContainer, data, 0);
final OWALChanges walChanges = new OWALChangesTree();
walChanges.setBinaryValue(buffer, data, serializationOffset);
Assert.assertEquals(streamSerializerSBTreeIndexRIDContainer.getObjectSizeInByteBuffer(buffer, walChanges, serializationOffset), len);
OIndexRIDContainer newRidContainer = streamSerializerSBTreeIndexRIDContainer.deserializeFromByteBufferObject(buffer, walChanges, serializationOffset);
Assert.assertNotSame(newRidContainer, indexRIDContainer);
Assert.assertFalse(newRidContainer.isEmbedded());
Assert.assertFalse(newRidContainer.isDurableNonTxMode());
final Set<OIdentifiable> storedRids = new HashSet<OIdentifiable>(newRidContainer);
final Set<OIdentifiable> newRids = new HashSet<OIdentifiable>(indexRIDContainer);
Assert.assertEquals(newRids, storedRids);
}
Aggregations