Packages
google_api_spanner
0.9.0
0.48.0
0.47.1
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.1
0.42.0
0.41.1
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.7
0.34.6
0.34.5
0.34.4
0.34.3
0.34.2
0.34.1
0.34.0
0.33.0
0.32.1
0.32.0
0.31.1
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.1
0.25.0
0.24.0
0.23.1
0.23.0
0.22.1
0.22.0
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.1
0.6.0
0.5.0
0.2.0
0.1.0
0.0.1
Cloud Spanner API client library. Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.
Current section
Files
Jump to
Current section
Files
lib/google_api/spanner/v1/model/mutation.ex
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This class is auto generated by the elixir code generator program.
# Do not edit the class manually.
defmodule GoogleApi.Spanner.V1.Model.Mutation do
@moduledoc """
A modification to one or more Cloud Spanner rows. Mutations can be
applied to a Cloud Spanner database by sending them in a
Commit call.
## Attributes
* `delete` (*type:* `GoogleApi.Spanner.V1.Model.Delete.t`, *default:* `nil`) - Delete rows from a table. Succeeds whether or not the named
rows were present.
* `insert` (*type:* `GoogleApi.Spanner.V1.Model.Write.t`, *default:* `nil`) - Insert new rows in a table. If any of the rows already exist,
the write or transaction fails with error `ALREADY_EXISTS`.
* `insertOrUpdate` (*type:* `GoogleApi.Spanner.V1.Model.Write.t`, *default:* `nil`) - Like insert, except that if the row already exists, then
its column values are overwritten with the ones provided. Any
column values not explicitly written are preserved.
* `replace` (*type:* `GoogleApi.Spanner.V1.Model.Write.t`, *default:* `nil`) - Like insert, except that if the row already exists, it is
deleted, and the column values provided are inserted
instead. Unlike insert_or_update, this means any values not
explicitly written become `NULL`.
* `update` (*type:* `GoogleApi.Spanner.V1.Model.Write.t`, *default:* `nil`) - Update existing rows in a table. If any of the rows does not
already exist, the transaction fails with error `NOT_FOUND`.
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:delete => GoogleApi.Spanner.V1.Model.Delete.t(),
:insert => GoogleApi.Spanner.V1.Model.Write.t(),
:insertOrUpdate => GoogleApi.Spanner.V1.Model.Write.t(),
:replace => GoogleApi.Spanner.V1.Model.Write.t(),
:update => GoogleApi.Spanner.V1.Model.Write.t()
}
field(:delete, as: GoogleApi.Spanner.V1.Model.Delete)
field(:insert, as: GoogleApi.Spanner.V1.Model.Write)
field(:insertOrUpdate, as: GoogleApi.Spanner.V1.Model.Write)
field(:replace, as: GoogleApi.Spanner.V1.Model.Write)
field(:update, as: GoogleApi.Spanner.V1.Model.Write)
end
defimpl Poison.Decoder, for: GoogleApi.Spanner.V1.Model.Mutation do
def decode(value, options) do
GoogleApi.Spanner.V1.Model.Mutation.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.Spanner.V1.Model.Mutation do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end