use of com.vaticle.typedb.core.common.parameters.Arguments.Transaction.Type.READ in project grakn by graknlabs.
the class RocksIteratorTest method attributesRetrievedAscending.
@Test
public void attributesRetrievedAscending() {
List<String> strings = new ArrayList<>();
for (int i = 0; i < 10_000; i++) {
strings.add(UUID.randomUUID().toString());
}
try (TypeDB.Transaction transaction = session.transaction(WRITE)) {
AttributeType.String stringValueType = transaction.concepts().getAttributeType("string-value").asString();
for (String string : strings) {
stringValueType.put(string);
}
transaction.commit();
}
// test ascending order
strings.sort(Comparator.naturalOrder());
try (CoreTransaction transaction = session.transaction(READ)) {
Storage.Data storage = transaction.graphMgr.data().storage();
AttributeType.String stringValueType = transaction.concepts().getAttributeType("string-value").asString();
VertexIID.Type iid = ((AttributeTypeImpl) stringValueType).vertex.iid();
Storage.Key.Prefix<VertexIID.Thing> iteratePrefix = VertexIID.Thing.Attribute.String.prefix(iid);
List<String> values = storage.iterate(iteratePrefix, ASC).map(kv -> kv.key().asAttribute().asString().value()).toList();
assertEquals(strings, values);
}
// test descending order
strings.sort(Comparator.reverseOrder());
try (CoreTransaction transaction = session.transaction(READ)) {
Storage.Data storage = transaction.graphMgr.data().storage();
AttributeType.String stringValueType = transaction.concepts().getAttributeType("string-value").asString();
VertexIID.Type iid = ((AttributeTypeImpl) stringValueType).vertex.iid();
Storage.Key.Prefix<VertexIID.Thing> iteratePrefix = VertexIID.Thing.Attribute.String.prefix(iid);
List<String> values = storage.iterate(iteratePrefix, DESC).map(kv -> kv.key().asAttribute().asString().value()).toList();
assertEquals(strings, values);
}
}
Aggregations