Package com.google.cloud.spanner
Class Mutation
java.lang.Object
com.google.cloud.spanner.Mutation
- All Implemented Interfaces:
Serializable
Represents an individual table modification to be applied to Cloud Spanner.
The types of mutation that can be created are defined by Mutation.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.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Enumerates the types of mutation that can be applied.static class
Builder forMutation.Op.INSERT
,Mutation.Op.INSERT_OR_UPDATE
,Mutation.Op.UPDATE
, andMutation.Op.REPLACE
mutations. -
Method Summary
Modifier and TypeMethodDescriptionasMap()
For all types exceptMutation.Op.DELETE
, constructs a map from column name to value.static Mutation
Returns a mutation that will delete the row with primary keykey
.static Mutation
Returns a mutation that will delete all rows with primary keys covered bykeySet
.boolean
For all types exceptMutation.Op.DELETE
, returns the columns that this mutation will affect.ForMutation.Op.DELETE
mutations, returns the key set that defines the rows to be deleted.Returns the type of operation that this mutation will perform.getTable()
Returns the name of the table that this mutation will affect.For all types exceptMutation.Op.DELETE
, returns the values that this mutation will write.int
hashCode()
static Mutation.WriteBuilder
newInsertBuilder
(String table) Returns a builder that can be used to construct anMutation.Op.INSERT
mutation againsttable
; see theINSERT
documentation for mutation semantics.static Mutation.WriteBuilder
newInsertOrUpdateBuilder
(String table) Returns a builder that can be used to construct anMutation.Op.INSERT_OR_UPDATE
mutation againsttable
; see theINSERT_OR_UPDATE
documentation for mutation semantics.static Mutation.WriteBuilder
newReplaceBuilder
(String table) Returns a builder that can be used to construct anMutation.Op.REPLACE
mutation againsttable
; see theREPLACE
documentation for mutation semantics.static Mutation.WriteBuilder
newUpdateBuilder
(String table) Returns a builder that can be used to construct anMutation.Op.UPDATE
mutation againsttable
; see theUPDATE
documentation for mutation semantics.toString()
-
Method Details
-
newInsertBuilder
Returns a builder that can be used to construct anMutation.Op.INSERT
mutation againsttable
; see theINSERT
documentation for mutation semantics. -
newUpdateBuilder
Returns a builder that can be used to construct anMutation.Op.UPDATE
mutation againsttable
; see theUPDATE
documentation for mutation semantics. -
newInsertOrUpdateBuilder
Returns a builder that can be used to construct anMutation.Op.INSERT_OR_UPDATE
mutation againsttable
; see theINSERT_OR_UPDATE
documentation for mutation semantics. -
newReplaceBuilder
Returns a builder that can be used to construct anMutation.Op.REPLACE
mutation againsttable
; see theREPLACE
documentation for mutation semantics. -
delete
Returns a mutation that will delete the row with primary keykey
. Exactly equivalent todelete(table, KeySet.singleKey(key))
. -
delete
Returns a mutation that will delete all rows with primary keys covered bykeySet
. -
getTable
Returns the name of the table that this mutation will affect. -
getOperation
Returns the type of operation that this mutation will perform. -
getColumns
For all types exceptMutation.Op.DELETE
, returns the columns that this mutation will affect.- Throws:
IllegalStateException
- ifoperation() == Op.DELETE
-
getValues
For all types exceptMutation.Op.DELETE
, returns the values that this mutation will write. The number of elements returned is always the same as the number returned bygetColumns()
, and thei
th value corresponds to thei
th column.- Throws:
IllegalStateException
- ifoperation() == Op.DELETE
-
asMap
For all types exceptMutation.Op.DELETE
, constructs a map from column name to value. This is mainly intended as a convenience for testing; direct access viagetColumns()
andgetValues()
is more efficient.- Throws:
IllegalStateException
- ifoperation() == Op.DELETE
, or if any duplicate columns are present. Detection of duplicates does not consider case.
-
getKeySet
ForMutation.Op.DELETE
mutations, returns the key set that defines the rows to be deleted.- Throws:
IllegalStateException
- ifoperation() != Op.DELETE
-
toString
-
equals
-
hashCode
public int hashCode()
-