com.datastax.driver.core.querybuilder
Class Update

java.lang.Object
  extended by com.datastax.driver.core.Statement
      extended by com.datastax.driver.core.RegularStatement
          extended by com.datastax.driver.core.querybuilder.Update

public class Update
extends RegularStatement

A built UPDATE statement.


Nested Class Summary
static class Update.Assignments
          The assignments of an UPDATE statement.
static class Update.Conditions
          Conditions for an UDPATE statement.
static class Update.Options
          The options of a UDPATE statement.
static class Update.Where
          The WHERE clause of an UPDATE statement.
 
Method Summary
 String getKeyspace()
          Returns the keyspace this query operates on.
 String getQueryString()
          Returns the query string for this statement.
 ByteBuffer getRoutingKey()
          Returns the routing key (in binary raw form) to use for token aware routing of this query.
 ByteBuffer[] getValues()
          The values to use for this statement.
 Update.Conditions onlyIf()
          Adds a conditions clause (IF) to this statement.
 Update.Conditions onlyIf(Clause condition)
          Adds a conditions clause (IF) to this statement.
 RegularStatement setForceNoValues(boolean forceNoValues)
          Allows to force this builder to not generate values (through its getValues() method).
 String toString()
           
 Update.Options using(Using using)
          Adds a new options for this UPDATE statement.
 Update.Where where()
          Returns a Where statement for this query without adding clause.
 Update.Where where(Clause clause)
          Adds a WHERE clause to this statement.
 Update.Assignments with()
          Returns the assignments of this UPDATE statement.
 Update.Assignments with(Assignment assignment)
          Adds an assignment to this UPDATE statement.
 
Methods inherited from class com.datastax.driver.core.Statement
disableTracing, enableTracing, getConsistencyLevel, getFetchSize, getRetryPolicy, getSerialConsistencyLevel, isTracing, setConsistencyLevel, setFetchSize, setRetryPolicy, setSerialConsistencyLevel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

with

public Update.Assignments with(Assignment assignment)
Adds an assignment to this UPDATE statement. This is a shorter/more readable version for with().and(assignment).

Parameters:
assignment - the assignment to add.
Returns:
the Assignments of this UPDATE statement.

with

public Update.Assignments with()
Returns the assignments of this UPDATE statement.

Returns:
the assignments of this UPDATE statement.

where

public Update.Where where(Clause clause)
Adds a WHERE clause to this statement. This is a shorter/more readable version for where().and(clause).

Parameters:
clause - the clause to add.
Returns:
the where clause of this query to which more clause can be added.

where

public Update.Where where()
Returns a Where statement for this query without adding clause.

Returns:
the where clause of this query to which more clause can be added.

onlyIf

public Update.Conditions onlyIf(Clause condition)
Adds a conditions clause (IF) to this statement.

This is a shorter/more readable version for onlyIf().and(condition).

Parameters:
condition - the condition to add.
Returns:
the conditions of this query to which more conditions can be added.

onlyIf

public Update.Conditions onlyIf()
Adds a conditions clause (IF) to this statement.

Returns:
the conditions of this query to which more conditions can be added.

using

public Update.Options using(Using using)
Adds a new options for this UPDATE statement.

Parameters:
using - the option to add.
Returns:
the options of this UPDATE statement.

getQueryString

public String getQueryString()
Description copied from class: RegularStatement
Returns the query string for this statement.

Specified by:
getQueryString in class RegularStatement
Returns:
a valid CQL query string.

getRoutingKey

public ByteBuffer getRoutingKey()
Description copied from class: Statement
Returns the routing key (in binary raw form) to use for token aware routing of this query.

The routing key is optional in 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.

Specified by:
getRoutingKey in class Statement
Returns:
the routing key for this query or null.

getKeyspace

public String getKeyspace()
Description copied from class: Statement
Returns the keyspace this query operates on.

Note that not all query specify on which keyspace they operate on, and so this method can always reutrn null. Firstly, some queries do not operate inside a keyspace: keyspace creation, USE queries, user creation, etc. Secondly, even query that operate within a keyspace do not have to specify said keyspace directly, in which case the currently logged in keyspace (the one set through a USE query (or through the use of Cluster.connect(String))). Lastly, as for the routing key, this keyspace information is only a hint for token-aware routing (since replica placement depend on the replication strategy in use which is a per-keyspace property) and having this method return null (or even a bogus keyspace name) will never cause the query to fail.

Specified by:
getKeyspace in class Statement
Returns:
the keyspace this query operate on if relevant or null.

getValues

public ByteBuffer[] getValues()
Description copied from class: RegularStatement
The values to use for this statement.

Specified by:
getValues in class RegularStatement
Returns:
the values to use for this statement or null if there is no such values.
See Also:
SimpleStatement.SimpleStatement(String, Object...)

toString

public String toString()
Overrides:
toString in class RegularStatement

setForceNoValues

public RegularStatement setForceNoValues(boolean forceNoValues)
Allows to force this builder to not generate values (through its getValues() method).

By default and for performance reasons, the query builder will not serialize all values provided to strings. This means that the getQueryString() may return a query string with bind markers (where and when is at the discretion of the builder) and getValues() will return the binary values for those markers. This method allows to force the builder to not generate binary values but rather to serialize them all in the query string. In practice, this means that if you call setForceNoValues(true), you are guarateed that getValues() will return null and that the string returned by getQueryString() will contain no other bind markers than the one inputed by the user.

Note that this method is mainly useful for debugging purpose. In general, the default behavior should be the correct and most efficient one.

Parameters:
forceNoValues - whether or not this builder may generate values.
Returns:
this statement.


Copyright © 2013. All rights reserved.