public class QueryProcessor extends java.lang.Object implements QueryHandler
QueryHandler.Prepared
Modifier and Type | Field and Description |
---|---|
static CassandraVersion |
CQL_VERSION |
static QueryProcessor |
instance |
static CQLMetrics |
metrics |
static CassandraVersion |
NEW_PREPARED_STATEMENT_BEHAVIOUR_SINCE_30 |
static CassandraVersion |
NEW_PREPARED_STATEMENT_BEHAVIOUR_SINCE_3X |
static CassandraVersion |
NEW_PREPARED_STATEMENT_BEHAVIOUR_SINCE_40 |
Modifier and Type | Method and Description |
---|---|
static void |
clearInternalStatementsCache()
Clear our internal statmeent cache for test purposes.
|
static void |
clearPreparedStatements(boolean memoryOnly)
Clears the prepared statement cache.
|
static void |
clearPreparedStatementsCache() |
void |
evictPrepared(MD5Digest id) |
static UntypedResultSet |
execute(java.lang.String query,
ConsistencyLevel cl,
java.lang.Object... values) |
static UntypedResultSet |
execute(java.lang.String query,
ConsistencyLevel cl,
QueryState state,
java.lang.Object... values) |
static UntypedResultSet |
executeInternal(java.lang.String query,
java.lang.Object... values) |
static UntypedResultSet |
executeInternalWithNow(int nowInSec,
long queryStartNanoTime,
java.lang.String query,
java.lang.Object... values)
A special version of executeLocally that takes the time used as "now" for the query in argument.
|
static UntypedResultSet |
executeInternalWithPaging(java.lang.String query,
int pageSize,
java.lang.Object... values) |
static UntypedResultSet |
executeOnceInternal(java.lang.String query,
java.lang.Object... values)
Same than executeLocally, but to use for queries we know are only executed once so that the
created statement object is not cached.
|
static UntypedResultSet |
executeOnceInternalWithNowAndTimestamp(int nowInSec,
long timestamp,
java.lang.String query,
java.lang.Object... values)
Execute an internal query with the provided
nowInSec and timestamp for the QueryState . |
static java.util.concurrent.ConcurrentMap<java.lang.String,QueryHandler.Prepared> |
getInternalStatements() |
QueryHandler.Prepared |
getPrepared(MD5Digest id) |
java.util.HashMap<MD5Digest,QueryHandler.Prepared> |
getPreparedStatements() |
static CQLStatement |
getStatement(java.lang.String queryStr,
ClientState clientState) |
static ResultMessage.Prepared |
getStoredPreparedStatement(java.lang.String queryString,
java.lang.String clientKeyspace) |
static QueryState |
internalQueryState() |
static QueryOptions |
makeInternalOptions(CQLStatement prepared,
java.lang.Object[] values) |
CQLStatement |
parse(java.lang.String queryString,
QueryState queryState,
QueryOptions options) |
static QueryHandler.Prepared |
parseAndPrepare(java.lang.String query,
ClientState clientState,
boolean isInternal) |
static CQLStatement.Raw |
parseStatement(java.lang.String queryStr) |
static <T extends CQLStatement.Raw> |
parseStatement(java.lang.String queryStr,
java.lang.Class<T> klass,
java.lang.String type) |
static CQLStatement |
parseStatement(java.lang.String queryStr,
ClientState clientState) |
void |
preloadPreparedStatements() |
ResultMessage.Prepared |
prepare(java.lang.String queryString,
ClientState clientState)
This method got slightly out of hand, but this is with best intentions: to allow users to be upgraded from any
prior version, and help implementers avoid previous mistakes by clearly separating fully qualified and non-fully
qualified statement behaviour.
|
ResultMessage.Prepared |
prepare(java.lang.String query,
ClientState clientState,
java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload) |
static int |
preparedStatementsCount() |
static QueryHandler.Prepared |
prepareInternal(java.lang.String query) |
ResultMessage |
process(CQLStatement prepared,
QueryState queryState,
QueryOptions options,
long queryStartNanoTime) |
ResultMessage |
process(CQLStatement statement,
QueryState state,
QueryOptions options,
java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload,
long queryStartNanoTime) |
static UntypedResultSet |
process(java.lang.String query,
ConsistencyLevel cl) |
static UntypedResultSet |
process(java.lang.String query,
ConsistencyLevel cl,
java.util.List<java.nio.ByteBuffer> values) |
static ResultMessage |
process(java.lang.String queryString,
ConsistencyLevel cl,
QueryState queryState,
long queryStartNanoTime) |
ResultMessage |
processBatch(BatchStatement batch,
QueryState queryState,
BatchQueryOptions options,
long queryStartNanoTime) |
ResultMessage |
processBatch(BatchStatement statement,
QueryState state,
BatchQueryOptions options,
java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload,
long queryStartNanoTime) |
ResultMessage |
processPrepared(CQLStatement statement,
QueryState queryState,
QueryOptions options,
long queryStartNanoTime) |
ResultMessage |
processPrepared(CQLStatement statement,
QueryState state,
QueryOptions options,
java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload,
long queryStartNanoTime) |
ResultMessage |
processStatement(CQLStatement statement,
QueryState queryState,
QueryOptions options,
long queryStartNanoTime) |
static UntypedResultSet |
resultify(java.lang.String query,
PartitionIterator partitions) |
static UntypedResultSet |
resultify(java.lang.String query,
RowIterator partition) |
static ResultMessage.Prepared |
storePreparedStatement(java.lang.String queryString,
java.lang.String keyspace,
QueryHandler.Prepared prepared) |
boolean |
useNewPreparedStatementBehaviour() |
static void |
validateKey(java.nio.ByteBuffer key) |
public static final CassandraVersion CQL_VERSION
public static final CassandraVersion NEW_PREPARED_STATEMENT_BEHAVIOUR_SINCE_30
public static final CassandraVersion NEW_PREPARED_STATEMENT_BEHAVIOUR_SINCE_3X
public static final CassandraVersion NEW_PREPARED_STATEMENT_BEHAVIOUR_SINCE_40
public static final QueryProcessor instance
public static final CQLMetrics metrics
public static int preparedStatementsCount()
public void preloadPreparedStatements()
public static void clearPreparedStatements(boolean memoryOnly)
memoryOnly
- true
if only the in memory caches must be cleared, false
otherwise.public static java.util.concurrent.ConcurrentMap<java.lang.String,QueryHandler.Prepared> getInternalStatements()
public static QueryState internalQueryState()
public void evictPrepared(MD5Digest id)
public java.util.HashMap<MD5Digest,QueryHandler.Prepared> getPreparedStatements()
public QueryHandler.Prepared getPrepared(MD5Digest id)
getPrepared
in interface QueryHandler
public static void validateKey(java.nio.ByteBuffer key) throws InvalidRequestException
InvalidRequestException
public ResultMessage processStatement(CQLStatement statement, QueryState queryState, QueryOptions options, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
public static ResultMessage process(java.lang.String queryString, ConsistencyLevel cl, QueryState queryState, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
public CQLStatement parse(java.lang.String queryString, QueryState queryState, QueryOptions options)
parse
in interface QueryHandler
public ResultMessage process(CQLStatement statement, QueryState state, QueryOptions options, java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
process
in interface QueryHandler
RequestExecutionException
RequestValidationException
public ResultMessage process(CQLStatement prepared, QueryState queryState, QueryOptions options, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
public static CQLStatement parseStatement(java.lang.String queryStr, ClientState clientState) throws RequestValidationException
RequestValidationException
public static UntypedResultSet process(java.lang.String query, ConsistencyLevel cl) throws RequestExecutionException
RequestExecutionException
public static UntypedResultSet process(java.lang.String query, ConsistencyLevel cl, java.util.List<java.nio.ByteBuffer> values) throws RequestExecutionException
RequestExecutionException
public static QueryOptions makeInternalOptions(CQLStatement prepared, java.lang.Object[] values)
public static QueryHandler.Prepared prepareInternal(java.lang.String query) throws RequestValidationException
RequestValidationException
public static QueryHandler.Prepared parseAndPrepare(java.lang.String query, ClientState clientState, boolean isInternal) throws RequestValidationException
RequestValidationException
public static UntypedResultSet executeInternal(java.lang.String query, java.lang.Object... values)
public static UntypedResultSet execute(java.lang.String query, ConsistencyLevel cl, java.lang.Object... values) throws RequestExecutionException
RequestExecutionException
public static UntypedResultSet execute(java.lang.String query, ConsistencyLevel cl, QueryState state, java.lang.Object... values) throws RequestExecutionException
RequestExecutionException
public static UntypedResultSet executeInternalWithPaging(java.lang.String query, int pageSize, java.lang.Object... values)
public static UntypedResultSet executeOnceInternal(java.lang.String query, java.lang.Object... values)
public static UntypedResultSet executeOnceInternalWithNowAndTimestamp(int nowInSec, long timestamp, java.lang.String query, java.lang.Object... values)
nowInSec
and timestamp
for the QueryState
.
This method ensure that the statement will not be cached in the prepared statement cache.
public static UntypedResultSet executeInternalWithNow(int nowInSec, long queryStartNanoTime, java.lang.String query, java.lang.Object... values)
public static UntypedResultSet resultify(java.lang.String query, RowIterator partition)
public static UntypedResultSet resultify(java.lang.String query, PartitionIterator partitions)
public ResultMessage.Prepared prepare(java.lang.String query, ClientState clientState, java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload) throws RequestValidationException
prepare
in interface QueryHandler
RequestValidationException
public boolean useNewPreparedStatementBehaviour()
public ResultMessage.Prepared prepare(java.lang.String queryString, ClientState clientState)
public static ResultMessage.Prepared getStoredPreparedStatement(java.lang.String queryString, java.lang.String clientKeyspace) throws InvalidRequestException
InvalidRequestException
public static ResultMessage.Prepared storePreparedStatement(java.lang.String queryString, java.lang.String keyspace, QueryHandler.Prepared prepared) throws InvalidRequestException
InvalidRequestException
public ResultMessage processPrepared(CQLStatement statement, QueryState state, QueryOptions options, java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
processPrepared
in interface QueryHandler
RequestExecutionException
RequestValidationException
public ResultMessage processPrepared(CQLStatement statement, QueryState queryState, QueryOptions options, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
public ResultMessage processBatch(BatchStatement statement, QueryState state, BatchQueryOptions options, java.util.Map<java.lang.String,java.nio.ByteBuffer> customPayload, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
processBatch
in interface QueryHandler
RequestExecutionException
RequestValidationException
public ResultMessage processBatch(BatchStatement batch, QueryState queryState, BatchQueryOptions options, long queryStartNanoTime) throws RequestExecutionException, RequestValidationException
public static CQLStatement getStatement(java.lang.String queryStr, ClientState clientState) throws RequestValidationException
RequestValidationException
public static <T extends CQLStatement.Raw> T parseStatement(java.lang.String queryStr, java.lang.Class<T> klass, java.lang.String type) throws SyntaxException
SyntaxException
public static CQLStatement.Raw parseStatement(java.lang.String queryStr) throws SyntaxException
SyntaxException
public static void clearInternalStatementsCache()
public static void clearPreparedStatementsCache()
Copyright © 2009- The Apache Software Foundation