Class: Google::Cloud::Spanner::MutationGroup
- Inherits:
-
Object
- Object
- Google::Cloud::Spanner::MutationGroup
- Defined in:
- lib/google/cloud/spanner/mutation_group.rb
Overview
Part of the BatchWrite DSL. This object defines a group of mutations to be included in a BatchWrite operation. All writes within a mutation group will execute atomically at a single logical point in time across columns, rows, and tables in a database.
All changes are accumulated in memory until the block passed to Client#batch_write completes.
Instance Method Summary collapse
-
#delete(table, keys = []) ⇒ Object
Deletes rows from a table.
-
#insert(table, *rows) ⇒ Object
Inserts new rows in a table.
-
#replace(table, *rows) ⇒ Object
Inserts or replaces rows in a table.
-
#update(table, *rows) ⇒ Object
Updates existing rows in a table.
-
#upsert(table, *rows) ⇒ Object
(also: #save)
Inserts or updates rows in a table.
Instance Method Details
#delete(table, keys = []) ⇒ Object
Deletes rows from a table. Succeeds whether or not the specified rows were present.
All changes are accumulated in memory until the block passed to Client#batch_write completes.
275 276 277 |
# File 'lib/google/cloud/spanner/mutation_group.rb', line 275 def delete table, keys = [] @commit.delete table, keys end |
#insert(table, *rows) ⇒ Object
Inserts new rows in a table. If any of the rows already exist, the write or request fails with error AlreadyExistsError.
All changes are accumulated in memory until the block passed to Client#batch_write completes.
147 148 149 |
# File 'lib/google/cloud/spanner/mutation_group.rb', line 147 def insert table, *rows @commit.insert table, rows end |
#replace(table, *rows) ⇒ Object
Inserts or replaces rows in a table. If any of the rows already exist,
it is deleted, and the column values provided are inserted instead.
Unlike #upsert, this means any values not explicitly written become
NULL
.
All changes are accumulated in memory until the block passed to Client#batch_write completes.
245 246 247 |
# File 'lib/google/cloud/spanner/mutation_group.rb', line 245 def replace table, *rows @commit.replace table, rows end |
#update(table, *rows) ⇒ Object
Updates existing rows in a table. If any of the rows does not already exist, the request fails with error NotFoundError.
All changes are accumulated in memory until the block passed to Client#batch_write completes.
195 196 197 |
# File 'lib/google/cloud/spanner/mutation_group.rb', line 195 def update table, *rows @commit.update table, rows end |
#upsert(table, *rows) ⇒ Object Also known as: save
Inserts or updates rows in a table. If any of the rows already exist, then its column values are overwritten with the ones provided. Any column values not explicitly written are preserved.
All changes are accumulated in memory until the block passed to Client#batch_write completes.
98 99 100 |
# File 'lib/google/cloud/spanner/mutation_group.rb', line 98 def upsert table, *rows @commit.upsert table, rows end |