Class Mutation (6.52.0)

public final class Mutation implements Serializable

Represents an individual table modification to be applied to Cloud Spanner.

The types of mutation that can be created are defined by Op. To construct a mutation, use one of the builder methods. For example, to create a mutation that will insert a value of "x" into "C1" and a value of "y" into "C2" of table "T", write the following code:

 Mutation m = Mutation.newInsertBuilder("T")
     .set("C1").to("x")
     .set("C2").to("y")
     .build();

Mutations are applied to a database by performing a standalone write or buffering them as part of a transaction. TODO(user): Add links/code samples once the corresponding APIs are available.

Mutation instances are immutable.

Inheritance

Object > Mutation

Implements

Serializable

Static Methods

delete(String table, Key key)

public static Mutation delete(String table, Key key)

Returns a mutation that will delete the row with primary key key. Exactly equivalent to delete(table, KeySet.singleKey(key)).

Parameters
NameDescription
tableString
keyKey
Returns
TypeDescription
Mutation

delete(String table, KeySet keySet)

public static Mutation delete(String table, KeySet keySet)

Returns a mutation that will delete all rows with primary keys covered by keySet.

Parameters
NameDescription
tableString
keySetKeySet
Returns
TypeDescription
Mutation

newInsertBuilder(String table)

public static Mutation.WriteBuilder newInsertBuilder(String table)

Returns a builder that can be used to construct an Op#INSERT mutation against table; see the INSERT documentation for mutation semantics.

Parameter
NameDescription
tableString
Returns
TypeDescription
Mutation.WriteBuilder

newInsertOrUpdateBuilder(String table)

public static Mutation.WriteBuilder newInsertOrUpdateBuilder(String table)

Returns a builder that can be used to construct an Op#INSERT_OR_UPDATE mutation against table; see the INSERT_OR_UPDATE documentation for mutation semantics.

Parameter
NameDescription
tableString
Returns
TypeDescription
Mutation.WriteBuilder

newReplaceBuilder(String table)

public static Mutation.WriteBuilder newReplaceBuilder(String table)

Returns a builder that can be used to construct an Op#REPLACE mutation against table; see the REPLACE documentation for mutation semantics.

Parameter
NameDescription
tableString
Returns
TypeDescription
Mutation.WriteBuilder

newUpdateBuilder(String table)

public static Mutation.WriteBuilder newUpdateBuilder(String table)

Returns a builder that can be used to construct an Op#UPDATE mutation against table; see the UPDATE documentation for mutation semantics.

Parameter
NameDescription
tableString
Returns
TypeDescription
Mutation.WriteBuilder

Methods

asMap()

public Map<String,Value> asMap()

For all types except Op#DELETE, constructs a map from column name to value. This is mainly intended as a convenience for testing; direct access via #getColumns() and #getValues() is more efficient.

Returns
TypeDescription
Map<String,Value>

equals(Object o)

public boolean equals(Object o)
Parameter
NameDescription
oObject
Returns
TypeDescription
boolean
Overrides

getColumns()

public Iterable<String> getColumns()

For all types except Op#DELETE, returns the columns that this mutation will affect.

Returns
TypeDescription
Iterable<String>

getKeySet()

public KeySet getKeySet()

For Op#DELETE mutations, returns the key set that defines the rows to be deleted.

Returns
TypeDescription
KeySet

getOperation()

public Mutation.Op getOperation()

Returns the type of operation that this mutation will perform.

Returns
TypeDescription
Mutation.Op

getTable()

public String getTable()

Returns the name of the table that this mutation will affect.

Returns
TypeDescription
String

getValues()

public Iterable<Value> getValues()

For all types except Op#DELETE, returns the values that this mutation will write. The number of elements returned is always the same as the number returned by #getColumns(), and the ith value corresponds to the ith column.

Returns
TypeDescription
Iterable<Value>

hashCode()

public int hashCode()
Returns
TypeDescription
int
Overrides

toString()

public String toString()
Returns
TypeDescription
String
Overrides