Search in sources :

Example 6 with Options

use of com.vaticle.typedb.core.common.parameters.Options in project grakn by graknlabs.

the class QueryService method execute.

public void execute(TransactionProto.Transaction.Req req) {
    try (FactoryTracingThreadStatic.ThreadTrace ignored = traceOnThread("query")) {
        QueryProto.QueryManager.Req queryReq = req.getQueryManagerReq();
        Options.Query options = new Options.Query();
        applyDefaultOptions(options, queryReq.getOptions());
        applyQueryOptions(options, queryReq.getOptions());
        UUID reqID = byteStringAsUUID(req.getReqId());
        switch(queryReq.getReqCase()) {
            case DEFINE_REQ:
                this.define(queryReq.getDefineReq().getQuery(), options, reqID);
                return;
            case UNDEFINE_REQ:
                this.undefine(queryReq.getUndefineReq().getQuery(), options, reqID);
                return;
            case MATCH_REQ:
                this.match(queryReq.getMatchReq().getQuery(), options, reqID);
                return;
            case MATCH_AGGREGATE_REQ:
                this.matchAggregate(queryReq.getMatchAggregateReq().getQuery(), options, reqID);
                return;
            case MATCH_GROUP_REQ:
                this.matchGroup(queryReq.getMatchGroupReq().getQuery(), options, reqID);
                return;
            case MATCH_GROUP_AGGREGATE_REQ:
                this.matchGroupAggregate(queryReq.getMatchGroupAggregateReq().getQuery(), options, reqID);
                return;
            case INSERT_REQ:
                this.insert(queryReq.getInsertReq().getQuery(), options, reqID);
                return;
            case DELETE_REQ:
                this.delete(queryReq.getDeleteReq().getQuery(), options, reqID);
                return;
            case UPDATE_REQ:
                this.update(queryReq.getUpdateReq().getQuery(), options, reqID);
                return;
            case EXPLAIN_REQ:
                this.explain(queryReq.getExplainReq().getExplainableId(), reqID);
                return;
            case REQ_NOT_SET:
            default:
                throw TypeDBException.of(UNKNOWN_REQUEST_TYPE);
        }
    }
}
Also used : RequestReader.applyQueryOptions(com.vaticle.typedb.core.server.common.RequestReader.applyQueryOptions) RequestReader.applyDefaultOptions(com.vaticle.typedb.core.server.common.RequestReader.applyDefaultOptions) Options(com.vaticle.typedb.core.common.parameters.Options) FactoryTracingThreadStatic(com.vaticle.factory.tracing.client.FactoryTracingThreadStatic) QueryManager(com.vaticle.typedb.core.query.QueryManager) RequestReader.byteStringAsUUID(com.vaticle.typedb.core.server.common.RequestReader.byteStringAsUUID) UUID(java.util.UUID)

Example 7 with Options

use of com.vaticle.typedb.core.common.parameters.Options in project grakn by graknlabs.

the class TypeDBService method sessionOpen.

@Override
public void sessionOpen(SessionProto.Session.Open.Req request, StreamObserver<SessionProto.Session.Open.Res> responder) {
    try {
        Instant start = Instant.now();
        Arguments.Session.Type sessionType = Arguments.Session.Type.of(request.getType().getNumber());
        Options.Session options = applyDefaultOptions(new Options.Session(), request.getOptions());
        TypeDB.Session session = databaseMgr.session(request.getDatabase(), sessionType, options);
        SessionService sessionSvc = new SessionService(this, session, options);
        sessionServices.put(sessionSvc.UUID(), sessionSvc);
        int duration = (int) Duration.between(start, Instant.now()).toMillis();
        responder.onNext(openRes(sessionSvc.UUID(), duration));
        responder.onCompleted();
    } catch (RuntimeException e) {
        LOG.error(e.getMessage(), e);
        responder.onError(exception(e));
    }
}
Also used : RequestReader.applyDefaultOptions(com.vaticle.typedb.core.server.common.RequestReader.applyDefaultOptions) Options(com.vaticle.typedb.core.common.parameters.Options) Instant(java.time.Instant) TypeDB(com.vaticle.typedb.core.TypeDB)

Aggregations

Options (com.vaticle.typedb.core.common.parameters.Options)7 Path (java.nio.file.Path)5 Test (org.junit.Test)5 TypeDB (com.vaticle.typedb.core.TypeDB)4 MB (com.vaticle.typedb.core.common.collection.Bytes.MB)3 TypeDBException (com.vaticle.typedb.core.common.exception.TypeDBException)3 Arguments (com.vaticle.typedb.core.common.parameters.Arguments)3 ConceptManager (com.vaticle.typedb.core.concept.ConceptManager)3 Attribute (com.vaticle.typedb.core.concept.thing.Attribute)3 AttributeType (com.vaticle.typedb.core.concept.type.AttributeType)3 BOOLEAN (com.vaticle.typedb.core.concept.type.AttributeType.ValueType.BOOLEAN)3 DATETIME (com.vaticle.typedb.core.concept.type.AttributeType.ValueType.DATETIME)3 DOUBLE (com.vaticle.typedb.core.concept.type.AttributeType.ValueType.DOUBLE)3 LONG (com.vaticle.typedb.core.concept.type.AttributeType.ValueType.LONG)3 STRING (com.vaticle.typedb.core.concept.type.AttributeType.ValueType.STRING)3 EntityType (com.vaticle.typedb.core.concept.type.EntityType)3 RelationType (com.vaticle.typedb.core.concept.type.RelationType)3 RoleType (com.vaticle.typedb.core.concept.type.RoleType)3 ThingType (com.vaticle.typedb.core.concept.type.ThingType)3 CoreDatabaseManager (com.vaticle.typedb.core.database.CoreDatabaseManager)3