#[non_exhaustive]pub struct UpdateDatabaseDdlRequest {
pub database: String,
pub statements: Vec<String>,
pub operation_id: String,
pub proto_descriptors: Bytes,
pub throughput_mode: bool,
/* private fields */
}
Expand description
Enqueues the given DDL statements to be applied, in order but not
necessarily all at once, to the database schema at some point (or
points) in the future. The server checks that the statements
are executable (syntactically valid, name tables that exist, etc.)
before enqueueing them, but they may still fail upon
later execution (e.g., if a statement from another batch of
statements is applied first and it conflicts in some way, or if
there is some data-related problem like a NULL
value in a column to
which NOT NULL
would be added). If a statement fails, all
subsequent statements in the batch are automatically cancelled.
Each batch of statements is assigned a name which can be used with the Operations API to monitor progress. See the operation_id field for more details.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.database: String
Required. The database to update.
statements: Vec<String>
Required. DDL statements to be applied to the database.
operation_id: String
If empty, the new update request is assigned an
automatically-generated operation ID. Otherwise, operation_id
is used to construct the name of the resulting
Operation.
Specifying an explicit operation ID simplifies determining
whether the statements were executed in the event that the
UpdateDatabaseDdl
call is replayed, or the return value is otherwise lost: the
database
and operation_id
fields can be combined to form the
name of the resulting
longrunning.Operation:
<database>/operations/<operation_id>
.
operation_id
should be unique within the database, and must be
a valid identifier: [a-z][a-z0-9_]*
. Note that
automatically-generated operation IDs always begin with an
underscore. If the named operation already exists,
UpdateDatabaseDdl
returns ALREADY_EXISTS
.
proto_descriptors: Bytes
Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements.
Contains a protobuf-serialized
google.protobuf.FileDescriptorSet.
To generate it, install and
run protoc
with –include_imports and –descriptor_set_out. For example,
to generate for moon/shot/app.proto, run
$protoc --proto_path=/app_path --proto_path=/lib_path \
--include_imports \
--descriptor_set_out=descriptors.data \
moon/shot/app.proto
For more details, see protobuffer self description.
throughput_mode: bool
Optional. This field is exposed to be used by the Spanner Migration Tool. For more details, see SMT.
Implementations§
Source§impl UpdateDatabaseDdlRequest
impl UpdateDatabaseDdlRequest
pub fn new() -> Self
Sourcepub fn set_database<T: Into<String>>(self, v: T) -> Self
pub fn set_database<T: Into<String>>(self, v: T) -> Self
Sets the value of database.
Sourcepub fn set_statements<T, V>(self, v: T) -> Self
pub fn set_statements<T, V>(self, v: T) -> Self
Sets the value of statements.
Sourcepub fn set_operation_id<T: Into<String>>(self, v: T) -> Self
pub fn set_operation_id<T: Into<String>>(self, v: T) -> Self
Sets the value of operation_id.
Sourcepub fn set_proto_descriptors<T: Into<Bytes>>(self, v: T) -> Self
pub fn set_proto_descriptors<T: Into<Bytes>>(self, v: T) -> Self
Sets the value of proto_descriptors.
Sourcepub fn set_throughput_mode<T: Into<bool>>(self, v: T) -> Self
pub fn set_throughput_mode<T: Into<bool>>(self, v: T) -> Self
Sets the value of throughput_mode.
Trait Implementations§
Source§impl Clone for UpdateDatabaseDdlRequest
impl Clone for UpdateDatabaseDdlRequest
Source§fn clone(&self) -> UpdateDatabaseDdlRequest
fn clone(&self) -> UpdateDatabaseDdlRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more