com.datastax.driver.core.querybuilder
Class Insert

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

public class Insert
extends RegularStatement

A built INSERT statement.


Nested Class Summary
static class Insert.Options
          The options of an INSERT statement.
 
Field Summary
protected  Boolean isCounterOp
           
protected  String keyspace
           
 
Method Summary
protected  StringBuilder buildQueryString()
           
 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.
 Insert ifNotExists()
          Sets the 'IF NOT EXISTS' option for this INSERT statement.
protected  boolean isCounterOp()
           
protected  void setCounterOp(boolean isCounterOp)
           
protected  void setDirty()
           
 Insert.Options using(Using using)
          Adds a new options for this INSERT statement.
 Insert value(String name, Object value)
          Adds a column/value pair to the values inserted by this INSERT statement.
 Insert values(String[] names, Object[] values)
          Adds multiple column/value pairs to the values inserted by this INSERT statement.
 
Methods inherited from class com.datastax.driver.core.RegularStatement
toString
 
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
 

Field Detail

keyspace

protected final String keyspace

isCounterOp

protected Boolean isCounterOp
Method Detail

buildQueryString

protected StringBuilder buildQueryString()

value

public Insert value(String name,
                    Object value)
Adds a column/value pair to the values inserted by this INSERT statement.

Parameters:
name - the name of the column to insert/update.
value - the value to insert/update for name.
Returns:
this INSERT statement.

values

public Insert values(String[] names,
                     Object[] values)
Adds multiple column/value pairs to the values inserted by this INSERT statement.

Parameters:
names - a list of column names to insert/update.
values - a list of values to insert/update. The ith value in values will be inserted for the ith column in names.
Returns:
this INSERT statement.
Throws:
IllegalArgumentException - if names.length != values.length.

using

public Insert.Options using(Using using)
Adds a new options for this INSERT statement.

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

ifNotExists

public Insert ifNotExists()
Sets the 'IF NOT EXISTS' option for this INSERT statement.

An insert with that option will not succeed unless the row does not exist at the time the insertion is execution. The existence check and insertions are done transactionally in the sense that if multiple clients attempt to create a given row with this option, then at most one may succeed.

Please keep in mind that using this option has a non negligible performance impact and should be avoided when possible.

Returns:
this INSERT 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.

setDirty

protected void setDirty()

isCounterOp

protected boolean isCounterOp()

setCounterOp

protected void setCounterOp(boolean isCounterOp)

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...)


Copyright © 2013. All rights reserved.