Package spanner_v1 (1.19.2)

API documentation for spanner_v1 package.

Classes

AbstractSessionPool

Specifies required API for concrete session pool implementations.

BurstyPool

Concrete session pool implementation:

  • "Pings" existing sessions via session.exists before returning them.

  • Creates a new session, rather than blocking, when get is called on an empty pool.

  • Discards the returned session, rather than blocking, when put is called on a full pool.

Client

Client for interacting with Cloud Spanner API.

.. note::

Since the Cloud Spanner API requires the gRPC transport, no
``_http`` argument is accepted by this class.

FixedSizePool

Concrete session pool implementation:

  • Pre-allocates / creates a fixed number of sessions.

  • "Pings" existing sessions via session.exists before returning them, and replaces expired sessions.

  • Blocks, with a timeout, when get is called on an empty pool. Raises after timing out.

  • Raises when put is called on a full pool. That error is never expected in normal practice, as users should be calling get followed by put whenever in need of a session.

KeyRange

Identify range of table rows via start / end points.

Specify either a start_open or start_closed key, or defaults to start_closed = []. Specify either an end_open or end_closed key, or defaults to end_closed = []. However, at least one key has to be specified. If no keys are specified, ValueError is raised.

KeySet

Identify table rows via keys / ranges.

PingingPool

Concrete session pool implementation:

  • Pre-allocates / creates a fixed number of sessions.

  • Sessions are used in "round-robin" order (LRU first).

  • "Pings" existing sessions in the background after a specified interval via an API call (session.ping()).

  • Blocks, with a timeout, when get is called on an empty pool. Raises after timing out.

  • Raises when put is called on a full pool. That error is never expected in normal practice, as users should be calling get followed by put whenever in need of a session.

The application is responsible for calling ping at appropriate times, e.g. from a background thread.

TransactionPingingPool

Concrete session pool implementation:

In addition to the features of PingingPool, this class creates and begins a transaction for each of its sessions at startup.

When a session is returned to the pool, if its transaction has been committed or rolled back, the pool creates a new transaction for the session and pushes the transaction onto a separate queue of "transactions to begin." The application is responsible for flushing this queue as appropriate via the pool's begin_pending_transactions method.

Modules

types

API documentation for spanner_v1.types module.

instance

User friendly container for Cloud Spanner Instance.

keyset

Wrap representation of Spanner keys / ranges.

session

Wrapper for Cloud Spanner Session objects.

pool

Pools managing shared Session objects.

snapshot

Model a set of read-only queries to a database as a snapshot.

streamed

Wrapper for streaming results.

transaction

Spanner read-write transaction support.