Struct google_api_proto::google::spanner::v1::execute_sql_request::QueryOptions
source · pub struct QueryOptions {
pub optimizer_version: String,
pub optimizer_statistics_package: String,
}
Expand description
Query optimizer configuration.
Fields§
§optimizer_version: 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.
optimizer_statistics_package: 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.
Trait Implementations§
source§impl Clone for QueryOptions
impl Clone for QueryOptions
source§fn clone(&self) -> QueryOptions
fn clone(&self) -> QueryOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for QueryOptions
impl Debug for QueryOptions
source§impl Default for QueryOptions
impl Default for QueryOptions
source§impl Message for QueryOptions
impl Message for QueryOptions
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for QueryOptions
impl PartialEq for QueryOptions
source§fn eq(&self, other: &QueryOptions) -> bool
fn eq(&self, other: &QueryOptions) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for QueryOptions
Auto Trait Implementations§
impl Freeze for QueryOptions
impl RefUnwindSafe for QueryOptions
impl Send for QueryOptions
impl Sync for QueryOptions
impl Unpin for QueryOptions
impl UnwindSafe for QueryOptions
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request