class Google::Apis::SpannerV1::ExecuteSqlRequest
The request for ExecuteSql and ExecuteStreamingSql.
Attributes
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>]
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>]
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]
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 optimizer configuration. Corresponds to the JSON property `queryOptions` @return [Google::Apis::SpannerV1::QueryOptions]
Common request options for various APIs. Corresponds to the JSON property `requestOptions` @return [Google::Apis::SpannerV1::RequestOptions]
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]
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]
Required. The SQL string. Corresponds to the JSON property `sql` @return [String]
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
# File lib/google/apis/spanner_v1/classes.rb, line 1417 def initialize(**args) update!(**args) end
Public Instance Methods
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