Class: Google::Cloud::Spanner::V1::ExecuteSqlRequest

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/spanner/v1/spanner.rb

Overview

The request for ExecuteSql and ExecuteStreamingSql.

Defined Under Namespace

Modules: QueryMode Classes: ParamTypesEntry, QueryOptions

Instance Attribute Summary collapse

Instance Attribute Details

#param_types::Google::Protobuf::Map{::String => ::Google::Cloud::Spanner::V1::Type}

Returns 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.

Returns:

  • (::Google::Protobuf::Map{::String => ::Google::Cloud::Spanner::V1::Type})

    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.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#params::Google::Protobuf::Struct

Returns 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 https://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.

Returns:

  • (::Google::Protobuf::Struct)

    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 https://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.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#partition_token::String

Returns 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.

Returns:

  • (::String)

    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.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#query_mode::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode

Returns 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.

Returns:



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#query_options::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryOptions

Returns Query optimizer configuration to use for the given query.

Returns:



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#request_options::Google::Cloud::Spanner::V1::RequestOptions

Returns Common options for this request.

Returns:



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#resume_token::String

Returns 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.

Returns:

  • (::String)

    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.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#seqno::Integer

Returns 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.

Returns:

  • (::Integer)

    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.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#session::String

Returns Required. The session in which the SQL query should be performed.

Returns:

  • (::String)

    Required. The session in which the SQL query should be performed.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#sql::String

Returns Required. The SQL string.

Returns:

  • (::String)

    Required. The SQL string.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#transaction::Google::Cloud::Spanner::V1::TransactionSelector

Returns The transaction to use.

For queries, if none is provided, the default is a temporary read-only transaction with strong concurrency.

Standard DML statements require a read-write transaction. To protect against replays, single-use transactions are not supported. The caller must either supply an existing transaction ID or begin a new transaction.

Partitioned DML requires an existing Partitioned DML transaction ID.

Returns:

  • (::Google::Cloud::Spanner::V1::TransactionSelector)

    The transaction to use.

    For queries, if none is provided, the default is a temporary read-only transaction with strong concurrency.

    Standard DML statements require a read-write transaction. To protect against replays, single-use transactions are not supported. The caller must either supply an existing transaction ID or begin a new transaction.

    Partitioned DML requires an existing Partitioned DML transaction ID.



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'proto_docs/google/spanner/v1/spanner.rb', line 311

class ExecuteSqlRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Query optimizer configuration.
  # @!attribute [rw] optimizer_version
  #   @return [::String]
  #     An option to control the selection of optimizer version.
  #
  #     This parameter allows individual queries to pick different query
  #     optimizer versions.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the
  #     latest supported query optimizer version. If not specified, Cloud Spanner
  #     uses the optimizer version set at the database level options. Any other
  #     positive integer (from the list of supported optimizer versions)
  #     overrides the default optimizer version for query execution.
  #
  #     The list of supported optimizer versions can be queried from
  #     SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
  #
  #     Executing a SQL statement with an invalid optimizer version fails with
  #     an `INVALID_ARGUMENT` error.
  #
  #     See
  #     https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
  #     for more information on managing the query optimizer.
  #
  #     The `optimizer_version` statement hint has precedence over this setting.
  # @!attribute [rw] optimizer_statistics_package
  #   @return [::String]
  #     An option to control the selection of optimizer statistics package.
  #
  #     This parameter allows individual queries to use a different query
  #     optimizer statistics package.
  #
  #     Specifying `latest` as a value instructs Cloud Spanner to use the latest
  #     generated statistics package. If not specified, Cloud Spanner uses
  #     the statistics package set at the database level options, or the latest
  #     package if the database option is not set.
  #
  #     The statistics package requested by the query has to be exempt from
  #     garbage collection. This can be achieved with the following DDL
  #     statement:
  #
  #     ```
  #     ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
  #     ```
  #
  #     The list of available statistics packages can be queried from
  #     `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
  #
  #     Executing a SQL statement with an invalid optimizer statistics package
  #     or with a statistics package that allows garbage collection fails with
  #     an `INVALID_ARGUMENT` error.
  class QueryOptions
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Spanner::V1::Type]
  class ParamTypesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end