Search in sources :

Example 1 with READ

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);
    }
}
Also used : BeforeClass(org.junit.BeforeClass) WRITE(com.vaticle.typedb.core.common.parameters.Arguments.Transaction.Type.WRITE) Factory(com.vaticle.typedb.core.database.Factory) MB(com.vaticle.typedb.core.common.collection.Bytes.MB) ASC(com.vaticle.typedb.core.common.iterator.sorted.SortedIterator.ASC) DESC(com.vaticle.typedb.core.common.iterator.sorted.SortedIterator.DESC) Arguments(com.vaticle.typedb.core.common.parameters.Arguments) ArrayList(java.util.ArrayList) Storage(com.vaticle.typedb.core.graph.common.Storage) AttributeTypeImpl(com.vaticle.typedb.core.concept.type.impl.AttributeTypeImpl) VertexIID(com.vaticle.typedb.core.graph.iid.VertexIID) READ(com.vaticle.typedb.core.common.parameters.Arguments.Transaction.Type.READ) After(org.junit.After) CoreFactory(com.vaticle.typedb.core.database.CoreFactory) Path(java.nio.file.Path) Before(org.junit.Before) AfterClass(org.junit.AfterClass) CoreDatabaseManager(com.vaticle.typedb.core.database.CoreDatabaseManager) Options(com.vaticle.typedb.core.common.parameters.Options) Test(org.junit.Test) IOException(java.io.IOException) UUID(java.util.UUID) TypeDB(com.vaticle.typedb.core.TypeDB) CoreSession(com.vaticle.typedb.core.database.CoreSession) List(java.util.List) Paths(java.nio.file.Paths) AttributeType(com.vaticle.typedb.core.concept.type.AttributeType) Comparator(java.util.Comparator) CoreTransaction(com.vaticle.typedb.core.database.CoreTransaction) Assert.assertEquals(org.junit.Assert.assertEquals) Util(com.vaticle.typedb.core.test.integration.util.Util) ArrayList(java.util.ArrayList) TypeDB(com.vaticle.typedb.core.TypeDB) CoreTransaction(com.vaticle.typedb.core.database.CoreTransaction) Storage(com.vaticle.typedb.core.graph.common.Storage) VertexIID(com.vaticle.typedb.core.graph.iid.VertexIID) AttributeType(com.vaticle.typedb.core.concept.type.AttributeType) Test(org.junit.Test)

Aggregations

TypeDB (com.vaticle.typedb.core.TypeDB)1 MB (com.vaticle.typedb.core.common.collection.Bytes.MB)1 ASC (com.vaticle.typedb.core.common.iterator.sorted.SortedIterator.ASC)1 DESC (com.vaticle.typedb.core.common.iterator.sorted.SortedIterator.DESC)1 Arguments (com.vaticle.typedb.core.common.parameters.Arguments)1 READ (com.vaticle.typedb.core.common.parameters.Arguments.Transaction.Type.READ)1 WRITE (com.vaticle.typedb.core.common.parameters.Arguments.Transaction.Type.WRITE)1 Options (com.vaticle.typedb.core.common.parameters.Options)1 AttributeType (com.vaticle.typedb.core.concept.type.AttributeType)1 AttributeTypeImpl (com.vaticle.typedb.core.concept.type.impl.AttributeTypeImpl)1 CoreDatabaseManager (com.vaticle.typedb.core.database.CoreDatabaseManager)1 CoreFactory (com.vaticle.typedb.core.database.CoreFactory)1 CoreSession (com.vaticle.typedb.core.database.CoreSession)1 CoreTransaction (com.vaticle.typedb.core.database.CoreTransaction)1 Factory (com.vaticle.typedb.core.database.Factory)1 Storage (com.vaticle.typedb.core.graph.common.Storage)1 VertexIID (com.vaticle.typedb.core.graph.iid.VertexIID)1 Util (com.vaticle.typedb.core.test.integration.util.Util)1 IOException (java.io.IOException)1 Path (java.nio.file.Path)1