Click or drag to resize

IStatement Interface

An executable query. This represents either a SimpleStatement, a BoundStatement or a BoundStatement along with the query options (consistency level, whether to trace the query, ...).

Namespace:  Dse
Assembly:  Dse (in Dse.dll) Version: 2.9.0
Syntax
C#
public interface IStatement

The IStatement 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 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
Gets the keyspace this query operates on. The returned value should not be null only when the IStatement applies to a different keyspace to the logged keyspace of the ISession.
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 the query.

The serial consistency level is only used by conditional updates (INSERT, UPDATE and DELETE with an IF condition).

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 methodExecutingAs
Allows this statement to be executed as a different user/role than the one currently authenticated (a.k.a. proxy execution).
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 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

Reference