Click or drag to resize

Statement Class

Base class for statements that contains the options.
Inheritance Hierarchy

Namespace:  Cassandra
Assembly:  Cassandra (in Cassandra.dll) Version: 3.11.0
Syntax
C#
public abstract class Statement : IStatement

The Statement type exposes the following members.

Properties
  NameDescription
Public propertyAutoPage
Determines if the RowSet returned when executing this IStatement will automatically fetch the following result pages. Defaults to true.
Public propertyConsistencyLevel
Gets the consistency level for this query.
Public propertyHost
Gets the host configured on this Statement, or null if none is configured.

In the general case, the host used to execute this Statement will depend on the configured ILoadBalancingPolicy and this property will return null.

Public propertyIsIdempotent
Determines if this statement is idempotent, i.e. whether it can be applied multiple times without changing the result beyond the initial application.

Idempotence of the statement plays a role in ISpeculativeExecutionPolicy. If a statement is not idempotent, the driver will not schedule speculative executions for it.

When the property is null, the driver will use the default value from the GetDefaultIdempotence.
Public propertyIsTracing
Gets whether tracing is enabled for this query or not.
Public propertyKeyspace
Returns the keyspace this query operates on.

Note that not all Statement implementations specify on which keyspace they operate on so this method can return null.

The keyspace returned is used as a hint for token-aware routing.

Public propertyOutgoingPayload
Gets custom payload for that will be included when executing this Statement.
Public propertyPageSize
Gets query's page size.
Public propertyPagingState
This object represents the next page to be fetched if the query is multi page. It can be saved and reused later on a different execution.
Public propertyQueryValues
Public propertyReadTimeoutMillis
Gets the per-host read timeout for this statement.

When the value is 0 or lower, the default value from the socket options will be used.

Public propertyRetryPolicy
Gets the retry policy sets for this query, if any.
Public propertyRoutingKey
The routing key (in binary raw form) to use for token aware routing of this query.

The routing key is optional in the sense that implementers are free to return null. The routing key is an hint used for token aware routing (see TokenAwarePolicy), and if provided should correspond to the binary value for the query partition key. However, not providing a routing key never causes a query to fail and if the load balancing policy used is not token aware, then the routing key can be safely ignored.

Public propertySerialConsistencyLevel
Gets the serial consistency level for this query.
Public propertySkipMetadata
Public propertyTimestamp
Gets the timestamp associated with this statement execution.
Top
Methods
  NameDescription
Public methodDisableTracing
Disable tracing for the statement.
Public methodEnableTracing
Enables tracing for the statement
Public methodSetAutoPage
Sets the paging behavior. When set to true (default), the RowSet returned when executing this IStatement will automatically fetch the following result pages. When false, the RowSet returned will only contain the rows contained in the result page and will not fetch additional pages.
Public methodSetConsistencyLevel
Sets the consistency level for the query.

The default consistency level, if this method is not called, is ConsistencyLevel.ONE.

Public methodSetHost
Sets the Host that should handle this query.

In the general case, use of this method is heavily discouraged and should only be used in the following cases:

  • Querying node-local tables, such as tables in the system and system_views keyspaces.
  • Applying a series of schema changes, where it may be advantageous to execute schema changes in sequence on the same node.

Configuring a specific host causes the configured ILoadBalancingPolicy to be completely bypassed. However, if the load balancing policy dictates that the host is at distance Ignored or there is no active connectivity to the host, the request will fail with a NoHostAvailableException.

Public methodSetIdempotence
Sets whether this statement is idempotent.

Idempotence of the statement plays a role in ISpeculativeExecutionPolicy. If a statement is not idempotent, the driver will not schedule speculative executions for it.

Public methodSetOutgoingPayload
Sets a custom outgoing payload for this statement. Each time this statement is executed, this payload will be included in the request. Once it is set using this method, the payload should not be modified.
Public methodSetPageSize
Sets the page size for this query. The page size controls how much resulting rows will be retrieved simultaneously (the goal being to avoid loading too much results in memory for queries yielding large results). Please note that while value as low as 1 can be used, it is highly discouraged to use such a low value in practice as it will yield very poor performance. If in doubt, leaving the default is probably a good idea.

Also note that only SELECT queries ever make use of that setting.

the page size to use. If set to 0 or less, the default value will be used. To disable paging of the result set, use int.MaxValue

Return Value

Type: 
this Query object.
Public methodSetPagingState
Sets the paging state, a token representing the current page state of query used to continue paging by retrieving the following result page. Setting the paging state will disable automatic paging.
Public methodSetReadTimeoutMillis
Overrides the default per-host read timeout ReadTimeoutMillis for this statement.
Public methodSetRetryPolicy
Sets the retry policy to use for this query.

Calling this method is only required when you want to override the default RetryPolicy set in the cluster configuration for this request or the one set in the execution profile (see RetryPolicy) for this request.

Use a IExtendedRetryPolicy implementation to cover all error scenarios.

Public methodSetSerialConsistencyLevel
Sets the serial consistency level for the query. The serial consistency level is only used by conditional updates (so INSERT, UPDATE and DELETE with an IF condition). For those, the serial consistency level defines the consistency level of the serial phase (or "paxos" phase) while the normal consistency level defines the consistency for the "learn" phase, i.e. what type of reads will be guaranteed to see the update right away. For instance, if a conditional write has a regular consistency of QUORUM (and is successful), then a QUORUM read is guaranteed to see that write. But if the regular consistency of that write is ANY, then only a read with a consistency of SERIAL is guaranteed to see it (even a read with consistency ALL is not guaranteed to be enough).
Public methodSetTimestamp
Sets the timestamp associated with this statement execution. If provided, this will replace the server side assigned timestamp as default timestamp. Note that a timestamp in the query itself will still override this timestamp.
Top
See Also