public interface BatchClient
Interface for the Batch Client that is used to read data from a Cloud Spanner database. An instance of this is tied to a specific database.
BatchClient
is useful when one wants to read or query a large amount of data from
Cloud Spanner across multiple processes, even across different machines. It allows to create
partitions of Cloud Spanner database and then read or query over each partition independently yet
at the same snapshot.
Methods
batchReadOnlyTransaction(BatchTransactionId batchTransactionId)
public abstract BatchReadOnlyTransaction batchReadOnlyTransaction(BatchTransactionId batchTransactionId)
Returns a BatchReadOnlyTransaction context in which multiple reads and/or queries can be performed. This is a non-blocking method. All reads/queries will use the same timestamp, and the timestamp can be inspected after this transaction is created successfully.
This method is useful to recreate a BatchReadOnlyTransaction object from an existing batchTransactionId. For example one might send the transaction id to a different process or machine and recreate the transaction object there.
Parameter | |
---|---|
Name | Description |
batchTransactionId |
BatchTransactionId to re-initialize the transaction, re-using the timestamp for successive read/query. |
Returns | |
---|---|
Type | Description |
BatchReadOnlyTransaction |
batchReadOnlyTransaction(TimestampBound bound)
public abstract BatchReadOnlyTransaction batchReadOnlyTransaction(TimestampBound bound)
Returns a BatchReadOnlyTransaction context in which multiple reads and/or queries can be performed. All reads/queries will use the same timestamp, and the timestamp can be inspected after this transaction is created successfully. This is a blocking method since it waits to finish the rpcs.
Note that the bounded staleness modes, TimestampBound.Mode#MIN_READ_TIMESTAMP and TimestampBound.Mode#MAX_STALENESS, are not supported for BatchReadOnlyTransaction.
Parameter | |
---|---|
Name | Description |
bound |
TimestampBound the timestamp bound at which to perform the read
|
Returns | |
---|---|
Type | Description |
BatchReadOnlyTransaction |
getDatabaseRole()
public default String getDatabaseRole()
Returns the DatabaseRole used by the client connection. The database role that is used determines the access permissions that a connection has. This can for example be used to create connections that are only permitted to access certain tables.
Returns | |
---|---|
Type | Description |
String |