public static final class SpannerGrpc.SpannerFutureStub extends io.grpc.stub.AbstractStub<SpannerGrpc.SpannerFutureStub>
Cloud Spanner API The Cloud Spanner API can be used to manage sessions and execute transactions on data stored in Cloud Spanner databases.
| Modifier and Type | Method and Description |
|---|---|
com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.Transaction> |
beginTransaction(com.google.spanner.v1.BeginTransactionRequest request)
Begins a new transaction.
|
protected SpannerGrpc.SpannerFutureStub |
build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) |
com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.CommitResponse> |
commit(com.google.spanner.v1.CommitRequest request)
Commits a transaction.
|
com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.Session> |
createSession(com.google.spanner.v1.CreateSessionRequest request)
Creates a new session.
|
com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> |
deleteSession(com.google.spanner.v1.DeleteSessionRequest request)
Ends a session, releasing server resources associated with it.
|
com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.ResultSet> |
executeSql(com.google.spanner.v1.ExecuteSqlRequest request)
Executes an SQL query, returning all rows in a single reply.
|
com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.Session> |
getSession(com.google.spanner.v1.GetSessionRequest request)
Gets a session.
|
com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.ResultSet> |
read(com.google.spanner.v1.ReadRequest request)
Reads rows from the database using key lookups and scans, as a
simple key/value style alternative to
[ExecuteSql][google.spanner.v1.Spanner.ExecuteSql].
|
com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> |
rollback(com.google.spanner.v1.RollbackRequest request)
Rolls back a transaction, releasing any locks it holds.
|
protected SpannerGrpc.SpannerFutureStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
build in class io.grpc.stub.AbstractStub<SpannerGrpc.SpannerFutureStub>public com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.Session> createSession(com.google.spanner.v1.CreateSessionRequest request)
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"`.
public com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.Session> getSession(com.google.spanner.v1.GetSessionRequest request)
Gets a session. Returns `NOT_FOUND` if the session does not exist. This is mainly useful for determining whether a session is still alive.
public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> deleteSession(com.google.spanner.v1.DeleteSessionRequest request)
Ends a session, releasing server resources associated with it.
public com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.ResultSet> executeSql(com.google.spanner.v1.ExecuteSqlRequest request)
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.
public com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.ResultSet> read(com.google.spanner.v1.ReadRequest request)
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.
public com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.Transaction> beginTransaction(com.google.spanner.v1.BeginTransactionRequest request)
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.
public com.google.common.util.concurrent.ListenableFuture<com.google.spanner.v1.CommitResponse> commit(com.google.spanner.v1.CommitRequest request)
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.
public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> rollback(com.google.spanner.v1.RollbackRequest request)
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`.