#[non_exhaustive]pub struct ExecuteSqlRequest {Show 15 fields
pub session: String,
pub transaction: Option<TransactionSelector>,
pub sql: String,
pub params: Option<Struct>,
pub param_types: HashMap<String, Type>,
pub resume_token: Bytes,
pub query_mode: QueryMode,
pub partition_token: Bytes,
pub seqno: i64,
pub query_options: Option<QueryOptions>,
pub request_options: Option<RequestOptions>,
pub directed_read_options: Option<DirectedReadOptions>,
pub data_boost_enabled: bool,
pub last_statement: bool,
pub routing_hint: Option<RoutingHint>,
/* private fields */
}Expand description
The request for ExecuteSql and [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql].
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.session: StringRequired. The session in which the SQL query should be performed.
transaction: Option<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.
sql: StringRequired. The SQL string.
params: Option<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’s an error to execute a SQL statement with unbound parameters.
param_types: HashMap<String, Type>It isn’t 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, you can use param_types 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.
resume_token: BytesIf 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.
query_mode: QueryModeUsed to control the amount of debugging information returned in ResultSetStats. If partition_token is set, query_mode can only be set to QueryMode.NORMAL.
partition_token: BytesIf present, results are 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.
seqno: i64A 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 succeeds.
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 can be aborted. Replays of previously handled requests yield the same response as the first execution.
Required for DML statements. Ignored for queries.
query_options: Option<QueryOptions>Query optimizer configuration to use for the given query.
request_options: Option<RequestOptions>Common options for this request.
directed_read_options: Option<DirectedReadOptions>Directed read options for this request.
data_boost_enabled: boolIf this is for a partitioned query and this field is set to true, the
request is executed with Spanner Data Boost independent compute resources.
If the field is set to true but the request doesn’t set
partition_token, the API returns an INVALID_ARGUMENT error.
last_statement: boolOptional. If set to true, this statement marks the end of the
transaction. After this statement executes, you must commit or abort the
transaction. Attempts to execute any other requests against this
transaction (including reads and queries) are rejected.
For DML statements, setting this option might cause some error reporting to
be deferred until commit time (for example, validation of unique
constraints). Given this, successful execution of a DML statement shouldn’t
be assumed until a subsequent Commit call completes successfully.
routing_hint: Option<RoutingHint>Optional. Makes the Spanner requests location-aware if present.
It gives the server hints that can be used to route the request to an appropriate server, potentially significantly decreasing latency and improving throughput. To achieve improved performance, most fields must be filled in with accurate values.
Implementations§
Source§impl ExecuteSqlRequest
impl ExecuteSqlRequest
Sourcepub fn set_session<T: Into<String>>(self, v: T) -> Self
pub fn set_session<T: Into<String>>(self, v: T) -> Self
Sets the value of session.
Sourcepub fn set_transaction<T>(self, v: T) -> Selfwhere
T: Into<TransactionSelector>,
pub fn set_transaction<T>(self, v: T) -> Selfwhere
T: Into<TransactionSelector>,
Sets the value of transaction.
Sourcepub fn set_or_clear_transaction<T>(self, v: Option<T>) -> Selfwhere
T: Into<TransactionSelector>,
pub fn set_or_clear_transaction<T>(self, v: Option<T>) -> Selfwhere
T: Into<TransactionSelector>,
Sets or clears the value of transaction.
Sourcepub fn set_params<T>(self, v: T) -> Self
pub fn set_params<T>(self, v: T) -> Self
Sets the value of params.
Sourcepub fn set_or_clear_params<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_params<T>(self, v: Option<T>) -> Self
Sets or clears the value of params.
Sourcepub fn set_param_types<T, K, V>(self, v: T) -> Self
pub fn set_param_types<T, K, V>(self, v: T) -> Self
Sets the value of param_types.
Sourcepub fn set_resume_token<T: Into<Bytes>>(self, v: T) -> Self
pub fn set_resume_token<T: Into<Bytes>>(self, v: T) -> Self
Sets the value of resume_token.
Sourcepub fn set_query_mode<T: Into<QueryMode>>(self, v: T) -> Self
pub fn set_query_mode<T: Into<QueryMode>>(self, v: T) -> Self
Sets the value of query_mode.
Sourcepub fn set_partition_token<T: Into<Bytes>>(self, v: T) -> Self
pub fn set_partition_token<T: Into<Bytes>>(self, v: T) -> Self
Sets the value of partition_token.
Sourcepub fn set_query_options<T>(self, v: T) -> Selfwhere
T: Into<QueryOptions>,
pub fn set_query_options<T>(self, v: T) -> Selfwhere
T: Into<QueryOptions>,
Sets the value of query_options.
Sourcepub fn set_or_clear_query_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<QueryOptions>,
pub fn set_or_clear_query_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<QueryOptions>,
Sets or clears the value of query_options.
Sourcepub fn set_request_options<T>(self, v: T) -> Selfwhere
T: Into<RequestOptions>,
pub fn set_request_options<T>(self, v: T) -> Selfwhere
T: Into<RequestOptions>,
Sets the value of request_options.
Sourcepub fn set_or_clear_request_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<RequestOptions>,
pub fn set_or_clear_request_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<RequestOptions>,
Sets or clears the value of request_options.
Sourcepub fn set_directed_read_options<T>(self, v: T) -> Selfwhere
T: Into<DirectedReadOptions>,
pub fn set_directed_read_options<T>(self, v: T) -> Selfwhere
T: Into<DirectedReadOptions>,
Sets the value of directed_read_options.
Sourcepub fn set_or_clear_directed_read_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<DirectedReadOptions>,
pub fn set_or_clear_directed_read_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<DirectedReadOptions>,
Sets or clears the value of directed_read_options.
Sourcepub fn set_data_boost_enabled<T: Into<bool>>(self, v: T) -> Self
pub fn set_data_boost_enabled<T: Into<bool>>(self, v: T) -> Self
Sets the value of data_boost_enabled.
Sourcepub fn set_last_statement<T: Into<bool>>(self, v: T) -> Self
pub fn set_last_statement<T: Into<bool>>(self, v: T) -> Self
Sets the value of last_statement.
Sourcepub fn set_routing_hint<T>(self, v: T) -> Selfwhere
T: Into<RoutingHint>,
pub fn set_routing_hint<T>(self, v: T) -> Selfwhere
T: Into<RoutingHint>,
Sets the value of routing_hint.
Sourcepub fn set_or_clear_routing_hint<T>(self, v: Option<T>) -> Selfwhere
T: Into<RoutingHint>,
pub fn set_or_clear_routing_hint<T>(self, v: Option<T>) -> Selfwhere
T: Into<RoutingHint>,
Sets or clears the value of routing_hint.
Trait Implementations§
Source§impl Clone for ExecuteSqlRequest
impl Clone for ExecuteSqlRequest
Source§fn clone(&self) -> ExecuteSqlRequest
fn clone(&self) -> ExecuteSqlRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExecuteSqlRequest
impl Debug for ExecuteSqlRequest
Source§impl Default for ExecuteSqlRequest
impl Default for ExecuteSqlRequest
Source§fn default() -> ExecuteSqlRequest
fn default() -> ExecuteSqlRequest
Source§impl Message for ExecuteSqlRequest
impl Message for ExecuteSqlRequest
Source§impl PartialEq for ExecuteSqlRequest
impl PartialEq for ExecuteSqlRequest
Source§fn eq(&self, other: &ExecuteSqlRequest) -> bool
fn eq(&self, other: &ExecuteSqlRequest) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ExecuteSqlRequest
Auto Trait Implementations§
impl !Freeze for ExecuteSqlRequest
impl RefUnwindSafe for ExecuteSqlRequest
impl Send for ExecuteSqlRequest
impl Sync for ExecuteSqlRequest
impl Unpin for ExecuteSqlRequest
impl UnsafeUnpin for ExecuteSqlRequest
impl UnwindSafe for ExecuteSqlRequest
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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