Cloud Spanner V1 Client - Class ExecuteSqlRequest (1.64.0)

Reference documentation and code samples for the Cloud Spanner V1 Client class ExecuteSqlRequest.

The request for ExecuteSql and ExecuteStreamingSql.

Generated from protobuf message google.spanner.v1.ExecuteSqlRequest

Namespace

Google \ Cloud \ Spanner \ V1

Methods

__construct

Constructor.

Parameters
NameDescription
data array

Optional. Data for populating the Message object.

↳ session string

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

↳ transaction 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.

↳ sql string

Required. The SQL string.

↳ params 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.

↳ param_types array|Google\Protobuf\Internal\MapField

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.

↳ resume_token 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.

↳ query_mode int

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.

↳ partition_token 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.

↳ seqno int|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.

↳ query_options Google\Cloud\Spanner\V1\ExecuteSqlRequest\QueryOptions

Query optimizer configuration to use for the given query.

↳ request_options Google\Cloud\Spanner\V1\RequestOptions

Common options for this request.

↳ data_boost_enabled bool

If this is for a partitioned query and this field is set to true, the request will be executed via Spanner independent compute resources. If the field is set to true but the request does not set partition_token, the API will return an INVALID_ARGUMENT error.

getSession

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

Returns
TypeDescription
string

setSession

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

Parameter
NameDescription
var string
Returns
TypeDescription
$this

getTransaction

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
TypeDescription
Google\Cloud\Spanner\V1\TransactionSelector|null

hasTransaction

clearTransaction

setTransaction

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.

Parameter
NameDescription
var Google\Cloud\Spanner\V1\TransactionSelector
Returns
TypeDescription
$this

getSql

Required. The SQL string.

Returns
TypeDescription
string

setSql

Required. The SQL string.

Parameter
NameDescription
var string
Returns
TypeDescription
$this

getParams

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
TypeDescription
Google\Protobuf\Struct|null

hasParams

clearParams

setParams

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.

Parameter
NameDescription
var Google\Protobuf\Struct
Returns
TypeDescription
$this

getParamTypes

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
TypeDescription
Google\Protobuf\Internal\MapField

setParamTypes

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.

Parameter
NameDescription
var array|Google\Protobuf\Internal\MapField
Returns
TypeDescription
$this

getResumeToken

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
TypeDescription
string

setResumeToken

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.

Parameter
NameDescription
var string
Returns
TypeDescription
$this

getQueryMode

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
TypeDescription
int

setQueryMode

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.

Parameter
NameDescription
var int
Returns
TypeDescription
$this

getPartitionToken

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
TypeDescription
string

setPartitionToken

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.

Parameter
NameDescription
var string
Returns
TypeDescription
$this

getSeqno

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
TypeDescription
int|string

setSeqno

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.

Parameter
NameDescription
var int|string
Returns
TypeDescription
$this

getQueryOptions

Query optimizer configuration to use for the given query.

Returns
TypeDescription
Google\Cloud\Spanner\V1\ExecuteSqlRequest\QueryOptions|null

hasQueryOptions

clearQueryOptions

setQueryOptions

Query optimizer configuration to use for the given query.

Parameter
NameDescription
var Google\Cloud\Spanner\V1\ExecuteSqlRequest\QueryOptions
Returns
TypeDescription
$this

getRequestOptions

Common options for this request.

Returns
TypeDescription
Google\Cloud\Spanner\V1\RequestOptions|null

hasRequestOptions

clearRequestOptions

setRequestOptions

Common options for this request.

Parameter
NameDescription
var Google\Cloud\Spanner\V1\RequestOptions
Returns
TypeDescription
$this

getDataBoostEnabled

If this is for a partitioned query and this field is set to true, the request will be executed via Spanner independent compute resources.

If the field is set to true but the request does not set partition_token, the API will return an INVALID_ARGUMENT error.

Returns
TypeDescription
bool

setDataBoostEnabled

If this is for a partitioned query and this field is set to true, the request will be executed via Spanner independent compute resources.

If the field is set to true but the request does not set partition_token, the API will return an INVALID_ARGUMENT error.

Parameter
NameDescription
var bool
Returns
TypeDescription
$this