Interface BatchClient

  • All Known Implementing Classes:
    BatchClientImpl

    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.

    • Method Detail

      • batchReadOnlyTransaction

        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.

        Parameters:
        batchTransactionId - to re-initialize the transaction, re-using the timestamp for successive read/query.
      • getDatabaseRole

        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.