Class: Google::Apis::SpannerV1::QueryOptions

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

Query optimizer configuration.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ QueryOptions

Returns a new instance of QueryOptions.



5516
5517
5518
# File 'lib/google/apis/spanner_v1/classes.rb', line 5516

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

Instance Attribute Details

#optimizer_statistics_packageString

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 isn't set. The statistics package requested by the query has to be exempt from garbage collection. This can be achieved with the following DDL statement: sql ALTER STATISTICS 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. Corresponds to the JSON property optimizerStatisticsPackage

Returns:

  • (String)


5498
5499
5500
# File 'lib/google/apis/spanner_v1/classes.rb', line 5498

def optimizer_statistics_package
  @optimizer_statistics_package
end

#optimizer_versionString

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. Corresponds to the JSON property optimizerVersion

Returns:

  • (String)


5514
5515
5516
# File 'lib/google/apis/spanner_v1/classes.rb', line 5514

def optimizer_version
  @optimizer_version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5521
5522
5523
5524
# File 'lib/google/apis/spanner_v1/classes.rb', line 5521

def update!(**args)
  @optimizer_statistics_package = args[:optimizer_statistics_package] if args.key?(:optimizer_statistics_package)
  @optimizer_version = args[:optimizer_version] if args.key?(:optimizer_version)
end