Class: Google::Apis::SpannerV1::UpdateDatabaseDdlRequest

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/spanner_v1/classes.rb,
lib/google/apis/spanner_v1/representations.rb,
lib/google/apis/spanner_v1/representations.rb

Overview

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 (for example, 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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ UpdateDatabaseDdlRequest

Returns a new instance of UpdateDatabaseDdlRequest.



7007
7008
7009
# File 'lib/google/apis/spanner_v1/classes.rb', line 7007

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#operation_idString

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: /operations/. operation_id should be unique within the database, and must be a valid identifier: a-z*. Note that automatically-generated operation IDs always begin with an underscore. If the named operation already exists, UpdateDatabaseDdl returns ALREADY_EXISTS. Corresponds to the JSON property operationId

Returns:

  • (String)


6985
6986
6987
# File 'lib/google/apis/spanner_v1/classes.rb', line 6985

def operation_id
  @operation_id
end

#proto_descriptorsString

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. Corresponds to the JSON property protoDescriptors NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


7000
7001
7002
# File 'lib/google/apis/spanner_v1/classes.rb', line 7000

def proto_descriptors
  @proto_descriptors
end

#statementsArray<String>

Required. DDL statements to be applied to the database. Corresponds to the JSON property statements

Returns:

  • (Array<String>)


7005
7006
7007
# File 'lib/google/apis/spanner_v1/classes.rb', line 7005

def statements
  @statements
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



7012
7013
7014
7015
7016
# File 'lib/google/apis/spanner_v1/classes.rb', line 7012

def update!(**args)
  @operation_id = args[:operation_id] if args.key?(:operation_id)
  @proto_descriptors = args[:proto_descriptors] if args.key?(:proto_descriptors)
  @statements = args[:statements] if args.key?(:statements)
end