org.apache.cassandra.cql3
Class Operation

java.lang.Object
  extended by org.apache.cassandra.cql3.Operation
Direct Known Subclasses:
Constants.Adder, Constants.Deleter, Constants.Setter, Constants.Substracter, Lists.Appender, Lists.Discarder, Lists.DiscarderByIndex, Lists.Prepender, Lists.Setter, Lists.SetterByIndex, Maps.DiscarderByKey, Maps.Putter, Maps.Setter, Maps.SetterByKey, Sets.Adder, Sets.Discarder, Sets.Setter

public abstract class Operation
extends java.lang.Object

An UPDATE or DELETE operation. For UPDATE this includes: - setting a constant - counter operations - collections operations and for DELETE: - deleting a column - deleting an element of collection column Fine grained operation are obtained from their raw counterpart (Operation.Raw, which correspond to a parsed, non-checked operation) by provided the receiver for the operation.


Nested Class Summary
static class Operation.Addition
           
static class Operation.ColumnDeletion
           
static class Operation.ElementDeletion
           
static class Operation.Prepend
           
static interface Operation.RawDeletion
          A parsed raw DELETE operation.
static interface Operation.RawUpdate
          A parsed raw UPDATE operation.
static class Operation.SetElement
           
static class Operation.SetValue
           
static class Operation.Substraction
           
 
Field Summary
 ColumnIdentifier columnName
           
protected  Term t
           
 
Constructor Summary
protected Operation(ColumnIdentifier columnName, Term t)
           
 
Method Summary
 void collectMarkerSpecification(ColumnSpecification[] boundNames)
          Collects the column specification for the bind variables of this operation.
abstract  void execute(java.nio.ByteBuffer rowKey, ColumnFamily cf, ColumnNameBuilder namePrefix, UpdateParameters params)
          Execute the operation.
 boolean requiresRead()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

columnName

public final ColumnIdentifier columnName

t

protected final Term t
Constructor Detail

Operation

protected Operation(ColumnIdentifier columnName,
                    Term t)
Method Detail

requiresRead

public boolean requiresRead()
Returns:
whether the operation requires a read of the previous value to be executed (only lists setterByIdx, discard and discardByIdx requires that).

collectMarkerSpecification

public void collectMarkerSpecification(ColumnSpecification[] boundNames)
Collects the column specification for the bind variables of this operation.

Parameters:
boundNames - the list of column specification where to collect the bind variables of this term in.

execute

public abstract void execute(java.nio.ByteBuffer rowKey,
                             ColumnFamily cf,
                             ColumnNameBuilder namePrefix,
                             UpdateParameters params)
                      throws InvalidRequestException
Execute the operation.

Parameters:
rowKey - row key for the update.
cf - the column family to which to add the updates generated by this operation.
namePrefix - the prefix that identify the CQL3 row this operation applies to (callers should not reuse the ColumnNameBuilder they pass here).
params - parameters of the update.
Throws:
InvalidRequestException


Copyright © 2013 The Apache Software Foundation