Packages
google_api_spanner
0.38.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 file is auto generated by the elixir code generator program.
# Do not edit this file 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. When using insert_or_update, just as when using insert, all `NOT NULL` columns in the table must be given a value. This holds true even when the row already exists and will therefore actually be updated.
* `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`. In an interleaved table, if you create the child table with the `ON DELETE CASCADE` annotation, then replacing a parent row also deletes the child rows. Otherwise, you must delete the child rows before you replace the parent row.
* `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() | nil,
:insert => GoogleApi.Spanner.V1.Model.Write.t() | nil,
:insertOrUpdate => GoogleApi.Spanner.V1.Model.Write.t() | nil,
:replace => GoogleApi.Spanner.V1.Model.Write.t() | nil,
:update => GoogleApi.Spanner.V1.Model.Write.t() | nil
}
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