Example usage for org.apache.cassandra.cql3 QueryProcessor getStatement

List of usage examples for org.apache.cassandra.cql3 QueryProcessor getStatement

Introduction

In this page you can find the example usage for org.apache.cassandra.cql3 QueryProcessor getStatement.

Prototype

public static CQLStatement getStatement(String queryStr, ClientState clientState)
            throws RequestValidationException 

Source Link

Usage

From source file:com.stratio.cassandra.lucene.IndexQueryHandler.java

License:Apache License

@Override
/** {@inheritDoc} */
public ResultMessage process(String query, QueryState state, QueryOptions options,
        Map<String, ByteBuffer> customPayload) {
    ParsedStatement.Prepared p = QueryProcessor.getStatement(query, state.getClientState());
    options.prepare(p.boundNames);/* ww  w. j a  va2  s . c om*/
    CQLStatement prepared = p.statement;
    if (prepared.getBoundTerms() != options.getValues().size()) {
        throw new InvalidRequestException("Invalid amount of bind variables");
    }

    if (!state.getClientState().isInternal) {
        QueryProcessor.metrics.regularStatementsExecuted.inc();
    }

    return processStatement(prepared, state, options);
}

From source file:org.elassandra.cluster.InternalCassandraClusterService.java

License:Apache License

public UntypedResultSet process(final ConsistencyLevel cl, final ConsistencyLevel serialConsistencyLevel,
        final String query, Long writetime, final Object... values)
        throws RequestExecutionException, RequestValidationException, InvalidRequestException {
    if (logger.isDebugEnabled()) {
        logger.debug("processing CL={} SERIAL_CL={} query=[{}] values={} ", cl, serialConsistencyLevel, query,
                Arrays.toString(values));
    }/* w  w w .  j ava 2 s .  c o  m*/
    ParsedStatement.Prepared prepared = QueryProcessor.getStatement(query, ClientState.forInternalCalls());
    List<ByteBuffer> boundValues = new ArrayList<ByteBuffer>(values.length);
    for (int i = 0; i < values.length; i++) {
        Object v = values[i];
        AbstractType type = prepared.boundNames.get(i).type;
        boundValues.add(v instanceof ByteBuffer || v == null ? (ByteBuffer) v : type.decompose(v));
    }
    QueryState queryState = QueryState.forInternalCalls();
    QueryOptions queryOptions = QueryOptions.forInternalCalls(cl, serialConsistencyLevel, boundValues);
    ResultMessage result = QueryProcessor.instance.process(query, queryState, queryOptions);
    writetime = queryState.getTimestamp();
    if (result instanceof ResultMessage.Rows)
        return UntypedResultSet.create(((ResultMessage.Rows) result).result);
    else
        return null;
}

From source file:org.elasticsearch.cassandra.cluster.InternalCassandraClusterService.java

License:Apache License

public UntypedResultSet process(final ConsistencyLevel cl, final ConsistencyLevel serialConsistencyLevel,
        final String query, Long writetime, final Object... values)
        throws RequestExecutionException, RequestValidationException, InvalidRequestException {
    if (logger.isDebugEnabled()) {
        logger.debug("processing CL={} SERIAL_CL={} query=[{}] values={} ", cl, serialConsistencyLevel, query,
                Arrays.toString(values));
    }/*from  ww  w  . j ava2  s.c  om*/
    ParsedStatement.Prepared prepared = QueryProcessor.getStatement(query, ClientState.forInternalCalls());
    List<ByteBuffer> boundValues = new ArrayList<ByteBuffer>(values.length);
    for (int i = 0; i < values.length; i++) {
        Object v = values[i];
        AbstractType type = prepared.boundNames.get(i).type;
        boundValues.add(v instanceof ByteBuffer || v == null ? (ByteBuffer) v : type.decompose(v));
    }
    QueryState queryState = QueryState.forInternalCalls();
    ResultMessage result = QueryProcessor.instance.process(query, queryState,
            QueryOptions.forInternalCalls(cl, serialConsistencyLevel, boundValues));
    writetime = queryState.getTimestamp();
    if (result instanceof ResultMessage.Rows)
        return UntypedResultSet.create(((ResultMessage.Rows) result).result);
    else
        return null;
}