class SpannerGrpcClient extends BaseStub

Cloud Spanner API

The Cloud Spanner API can be used to manage sessions and execute transactions on data stored in Cloud Spanner databases.

Methods

__construct(string $hostname, array $opts, Channel $channel = null)

No description

CreateSession(CreateSessionRequest $argument, array $metadata = [], array $options = [])

Creates a new session. A session can be used to perform transactions that read and/or modify data in a Cloud Spanner database.

GetSession(GetSessionRequest $argument, array $metadata = [], array $options = [])

Gets a session. Returns NOT_FOUND if the session does not exist.

DeleteSession(DeleteSessionRequest $argument, array $metadata = [], array $options = [])

Ends a session, releasing server resources associated with it.

ExecuteSql(ExecuteSqlRequest $argument, array $metadata = [], array $options = [])

Executes an SQL query, returning all rows in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a FAILED_PRECONDITION error.

ExecuteStreamingSql(ExecuteSqlRequest $argument, array $metadata = [], array $options = [])

Like [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], except returns the result set as a stream. Unlike [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.

Read(ReadRequest $argument, array $metadata = [], array $options = [])

Reads rows from the database using key lookups and scans, as a simple key/value style alternative to [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. This method cannot be used to return a result set larger than 10 MiB; if the read matches more data than that, the read fails with a FAILED_PRECONDITION error.

StreamingRead(ReadRequest $argument, array $metadata = [], array $options = [])

Like [Read][google.spanner.v1.Spanner.Read], except returns the result set as a stream. Unlike [Read][google.spanner.v1.Spanner.Read], there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.

BeginTransaction(BeginTransactionRequest $argument, array $metadata = [], array $options = [])

Begins a new transaction. This step can often be skipped: [Read][google.spanner.v1.Spanner.Read], [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a side-effect.

Commit(CommitRequest $argument, array $metadata = [], array $options = [])

Commits a transaction. The request includes the mutations to be applied to rows in the database.

Rollback(RollbackRequest $argument, array $metadata = [], array $options = [])

Rolls back a transaction, releasing any locks it holds. It is a good idea to call this for any transaction that includes one or more [Read][google.spanner.v1.Spanner.Read] or [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] requests and ultimately decides not to commit.

Details

at line 34
__construct(string $hostname, array $opts, Channel $channel = null)

Parameters

string $hostname hostname
array $opts channel options
Channel $channel (optional) re-use channel object

at line 62
CreateSession(CreateSessionRequest $argument, array $metadata = [], array $options = [])

Creates a new session. A session can be used to perform transactions that read and/or modify data in a Cloud Spanner database.

Sessions are meant to be reused for many consecutive transactions.

Sessions can only execute one transaction at a time. To execute multiple concurrent read-write/write-only transactions, create multiple sessions. Note that standalone reads and queries use a transaction internally, and count toward the one transaction limit.

Cloud Spanner limits the number of sessions that can exist at any given time; thus, it is a good idea to delete idle and/or unneeded sessions. Aside from explicit deletes, Cloud Spanner can delete sessions for which no operations are sent for more than an hour. If a session is deleted, requests to it return NOT_FOUND.

Idle sessions can be kept alive by sending a trivial SQL query periodically, e.g., "SELECT 1".

Parameters

CreateSessionRequest $argument input argument
array $metadata metadata
array $options call options

at line 78
GetSession(GetSessionRequest $argument, array $metadata = [], array $options = [])

Gets a session. Returns NOT_FOUND if the session does not exist.

This is mainly useful for determining whether a session is still alive.

Parameters

GetSessionRequest $argument input argument
array $metadata metadata
array $options call options

at line 92
DeleteSession(DeleteSessionRequest $argument, array $metadata = [], array $options = [])

Ends a session, releasing server resources associated with it.

Parameters

DeleteSessionRequest $argument input argument
array $metadata metadata
array $options call options

at line 116
ExecuteSql(ExecuteSqlRequest $argument, array $metadata = [], array $options = [])

Executes an SQL query, returning all rows in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a FAILED_PRECONDITION error.

Queries inside read-write transactions might return ABORTED. If this occurs, the application should restart the transaction from the beginning. See [Transaction][google.spanner.v1.Transaction] for more details.

Larger result sets can be fetched in streaming fashion by calling [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] instead.

Parameters

ExecuteSqlRequest $argument input argument
array $metadata metadata
array $options call options

at line 134
ExecuteStreamingSql(ExecuteSqlRequest $argument, array $metadata = [], array $options = [])

Like [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], except returns the result set as a stream. Unlike [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.

Parameters

ExecuteSqlRequest $argument input argument
array $metadata metadata
array $options call options

at line 160
Read(ReadRequest $argument, array $metadata = [], array $options = [])

Reads rows from the database using key lookups and scans, as a simple key/value style alternative to [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. This method cannot be used to return a result set larger than 10 MiB; if the read matches more data than that, the read fails with a FAILED_PRECONDITION error.

Reads inside read-write transactions might return ABORTED. If this occurs, the application should restart the transaction from the beginning. See [Transaction][google.spanner.v1.Transaction] for more details.

Larger result sets can be yielded in streaming fashion by calling [StreamingRead][google.spanner.v1.Spanner.StreamingRead] instead.

Parameters

ReadRequest $argument input argument
array $metadata metadata
array $options call options

at line 178
StreamingRead(ReadRequest $argument, array $metadata = [], array $options = [])

Like [Read][google.spanner.v1.Spanner.Read], except returns the result set as a stream. Unlike [Read][google.spanner.v1.Spanner.Read], there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.

Parameters

ReadRequest $argument input argument
array $metadata metadata
array $options call options

at line 195
BeginTransaction(BeginTransactionRequest $argument, array $metadata = [], array $options = [])

Begins a new transaction. This step can often be skipped: [Read][google.spanner.v1.Spanner.Read], [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a side-effect.

Parameters

BeginTransactionRequest $argument input argument
array $metadata metadata
array $options call options

at line 216
Commit(CommitRequest $argument, array $metadata = [], array $options = [])

Commits a transaction. The request includes the mutations to be applied to rows in the database.

Commit might return an ABORTED error. This can occur at any time; commonly, the cause is conflicts with concurrent transactions. However, it can also happen for a variety of other reasons. If Commit returns ABORTED, the caller should re-attempt the transaction from the beginning, re-using the same session.

Parameters

CommitRequest $argument input argument
array $metadata metadata
array $options call options

at line 237
Rollback(RollbackRequest $argument, array $metadata = [], array $options = [])

Rolls back a transaction, releasing any locks it holds. It is a good idea to call this for any transaction that includes one or more [Read][google.spanner.v1.Spanner.Read] or [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] requests and ultimately decides not to commit.

Rollback returns OK if it successfully aborts the transaction, the transaction was already aborted, or the transaction is not found. Rollback never returns ABORTED.

Parameters

RollbackRequest $argument input argument
array $metadata metadata
array $options call options