Module database (3.50.0)

User-friendly container for Cloud Spanner Database.

Classes

BatchCheckout

BatchCheckout(
    database,
    request_options=None,
    max_commit_delay=None,
    exclude_txn_from_change_streams=False,
)

Context manager for using a batch from a database.

Inside the context manager, checks out a session from the database, creates a batch from it, making the batch available.

Caller must not use the batch to perform API requests outside the scope of the context manager.

Parameters
Name Description
database Database

database to use

request_options RequestOptions

(Optional) Common options for the commit request. If a dict is provided, it must be of the same form as the protobuf message RequestOptions.

max_commit_delay datetime.timedelta

(Optional) The amount of latency this request is willing to incur in order to improve throughput.

BatchSnapshot

BatchSnapshot(
    database,
    read_timestamp=None,
    exact_staleness=None,
    session_id=None,
    transaction_id=None,
)

Wrapper for generating and processing read / query batches.

Parameters
Name Description
database Database

database to use

read_timestamp datetime.datetime

Execute all reads at the given timestamp.

exact_staleness datetime.timedelta

Execute all reads at a timestamp that is exact_staleness old.

Database

Database(
    database_id,
    instance,
    ddl_statements=(),
    pool=None,
    logger=None,
    encryption_config=None,
    database_dialect=DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED,
    database_role=None,
    enable_drop_protection=False,
    proto_descriptors=None,
)

Representation of a Cloud Spanner Database.

We can use a Database to:

  • create the database
  • reload the database
  • update the database
  • drop the database
Parameters
Name Description
database_id str

The ID of the database.

instance Instance

The instance that owns the database.

ddl_statements list of string

(Optional) DDL statements, excluding the CREATE DATABASE statement.

pool concrete subclass of AbstractSessionPool.

(Optional) session pool to be used by database. If not passed, the database will construct an instance of BurstyPool.

logger logging.Logger

(Optional) a custom logger that is used if log_commit_stats is True to log commit statistics. If not passed, a logger will be created when needed that will log the commit statistics to stdout.

encryption_config EncryptionConfig or RestoreDatabaseEncryptionConfig or dict

(Optional) Encryption configuration for the database. If a dict is provided, it must be of the same form as either of the protobuf messages EncryptionConfig or RestoreDatabaseEncryptionConfig

database_dialect DatabaseDialect

(Optional) database dialect for the database

database_role str or None

(Optional) user-assigned database_role for the session.

enable_drop_protection boolean

(Optional) Represents whether the database has drop protection enabled or not.

proto_descriptors bytes

(Optional) Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements in 'ddl_statements' above.

MutationGroupsCheckout

MutationGroupsCheckout(database)

Context manager for using mutation groups from a database.

Inside the context manager, checks out a session from the database, creates mutation groups from it, making the groups available.

Caller must not use the object to perform API requests outside the scope of the context manager.

Parameter
Name Description
database Database

database to use

SnapshotCheckout

SnapshotCheckout(database, **kw)

Context manager for using a snapshot from a database.

Inside the context manager, checks out a session from the database, creates a snapshot from it, making the snapshot available.

Caller must not use the snapshot to perform API requests outside the scope of the context manager.

Parameters
Name Description
database Database

database to use

kw dict

Passed through to Snapshot constructor.