Cloud Spanner V1 Client - Class ExecuteSqlRequest (1.90.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
Name Description
data array

Optional. Data for populating the Message object.

↳ session string

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

↳ transaction 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 ExecuteSqlRequest\QueryOptions

Query optimizer configuration to use for the given query.

↳ request_options RequestOptions

Common options for this request.

↳ directed_read_options DirectedReadOptions

Directed read options for this request.

↳ data_boost_enabled bool

If 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 does not set partition_token, the API returns an INVALID_ARGUMENT error.

↳ last_statement bool

Optional. If set to true, this statement marks the end of the transaction. The transaction should be committed or aborted after this statement executes, and attempts to execute any other requests against this transaction (including reads and queries) will be rejected. For DML statements, setting this option may cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful execution of a DML statement should not be assumed until a subsequent Commit call completes successfully.

getSession

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

Returns
Type Description
string

setSession

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

Parameter
Name Description
var string
Returns
Type Description
$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
Type Description
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
Name Description
var TransactionSelector
Returns
Type Description
$this

getSql

Required. The SQL string.

Returns
Type Description
string

setSql

Required. The SQL string.

Parameter
Name Description
var string
Returns
Type Description
$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
Type Description
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
Name Description
var Google\Protobuf\Struct
Returns
Type Description
$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
Type Description
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
Name Description
var array|Google\Protobuf\Internal\MapField
Returns
Type Description
$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
Type Description
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
Name Description
var string
Returns
Type Description
$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
Type Description
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
Name Description
var int
Returns
Type Description
$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
Type Description
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
Name Description
var string
Returns
Type Description
$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
Type Description
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
Name Description
var int|string
Returns
Type Description
$this

getQueryOptions

Query optimizer configuration to use for the given query.

Returns
Type Description
ExecuteSqlRequest\QueryOptions|null

hasQueryOptions

clearQueryOptions

setQueryOptions

Query optimizer configuration to use for the given query.

Parameter
Name Description
var ExecuteSqlRequest\QueryOptions
Returns
Type Description
$this

getRequestOptions

Common options for this request.

Returns
Type Description
RequestOptions|null

hasRequestOptions

clearRequestOptions

setRequestOptions

Common options for this request.

Parameter
Name Description
var RequestOptions
Returns
Type Description
$this

getDirectedReadOptions

Directed read options for this request.

Returns
Type Description
DirectedReadOptions|null

hasDirectedReadOptions

clearDirectedReadOptions

setDirectedReadOptions

Directed read options for this request.

Parameter
Name Description
var DirectedReadOptions
Returns
Type Description
$this

getDataBoostEnabled

If 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 does not set partition_token, the API returns an INVALID_ARGUMENT error.

Returns
Type Description
bool

setDataBoostEnabled

If 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 does not set partition_token, the API returns an INVALID_ARGUMENT error.

Parameter
Name Description
var bool
Returns
Type Description
$this

getLastStatement

Optional. If set to true, this statement marks the end of the transaction.

The transaction should be committed or aborted after this statement executes, and attempts to execute any other requests against this transaction (including reads and queries) will be rejected. For DML statements, setting this option may cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful execution of a DML statement should not be assumed until a subsequent Commit call completes successfully.

Returns
Type Description
bool

setLastStatement

Optional. If set to true, this statement marks the end of the transaction.

The transaction should be committed or aborted after this statement executes, and attempts to execute any other requests against this transaction (including reads and queries) will be rejected. For DML statements, setting this option may cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful execution of a DML statement should not be assumed until a subsequent Commit call completes successfully.

Parameter
Name Description
var bool
Returns
Type Description
$this