class Google::Apis::SpannerV1::ExecuteSqlRequest

The request for ExecuteSql and ExecuteStreamingSql.

Attributes

param_types[RW]

It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type `BYTES` and values of type `STRING` both appear in params as JSON strings. In these cases, `param_types` can be used to specify the exact SQL type for some or all of the SQL statement parameters. See the definition of Type for more information about SQL types. Corresponds to the JSON property `paramTypes` @return [Hash<String,Google::Apis::SpannerV1::Type>]

params[RW]

Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names must conform to the naming requirements of identifiers as specified at cloud.google.com/spanner/ docs/lexical#identifiers. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: ` “WHERE id > @msg_id AND id < @msg_id + 100”` It is an error to execute a SQL statement with unbound parameters. Corresponds to the JSON property `params` @return [Hash<String,Object>]

partition_token[RW]

If present, results will be restricted to the specified partition previously created using PartitionQuery(). There must be an exact match for the values of fields common to this message and the PartitionQueryRequest message used to create this partition_token. Corresponds to the JSON property `partitionToken` NOTE: Values are automatically base64 encoded/decoded in the client library. @return [String]

query_mode[RW]

Used to control the amount of debugging information returned in ResultSetStats. If partition_token is set, query_mode can only be set to QueryMode.NORMAL. Corresponds to the JSON property `queryMode` @return [String]

query_options[RW]

Query optimizer configuration. Corresponds to the JSON property `queryOptions` @return [Google::Apis::SpannerV1::QueryOptions]

request_options[RW]

Common request options for various APIs. Corresponds to the JSON property `requestOptions` @return [Google::Apis::SpannerV1::RequestOptions]

resume_token[RW]

If this request is resuming a previously interrupted SQL statement execution, ` resume_token` should be copied from the last PartialResultSet yielded before the interruption. Doing this enables the new SQL statement execution to resume where the last one left off. The rest of the request parameters must exactly match the request that yielded this token. Corresponds to the JSON property `resumeToken` NOTE: Values are automatically base64 encoded/decoded in the client library. @return [String]

seqno[RW]

A per-transaction sequence number used to identify this request. This field makes each request idempotent such that if the request is received multiple times, at most one will succeed. The sequence number must be monotonically increasing within the transaction. If a request arrives for the first time with an out-of-order sequence number, the transaction may be aborted. Replays of previously handled requests will yield the same response as the first execution. Required for DML statements. Ignored for queries. Corresponds to the JSON property `seqno` @return [Fixnum]

sql[RW]

Required. The SQL string. Corresponds to the JSON property `sql` @return [String]

transaction[RW]

This message is used to select the transaction in which a Read or ExecuteSql call runs. See TransactionOptions for more information about transactions. Corresponds to the JSON property `transaction` @return [Google::Apis::SpannerV1::TransactionSelector]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/spanner_v1/classes.rb, line 1417
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/spanner_v1/classes.rb, line 1422
def update!(**args)
  @param_types = args[:param_types] if args.key?(:param_types)
  @params = args[:params] if args.key?(:params)
  @partition_token = args[:partition_token] if args.key?(:partition_token)
  @query_mode = args[:query_mode] if args.key?(:query_mode)
  @query_options = args[:query_options] if args.key?(:query_options)
  @request_options = args[:request_options] if args.key?(:request_options)
  @resume_token = args[:resume_token] if args.key?(:resume_token)
  @seqno = args[:seqno] if args.key?(:seqno)
  @sql = args[:sql] if args.key?(:sql)
  @transaction = args[:transaction] if args.key?(:transaction)
end