Google Cloud Spanner C++ Client  1.32.0
A C++ Client Library for Google Cloud Spanner
Namespaces | Classes | Typedefs | Enumerations | Functions
google::cloud::spanner Namespace Reference

Contains all the Cloud Spanner C++ client types and functions. More...

Namespaces

 v1
 The inlined, versioned namespace for the Cloud Spanner C++ client APIs.
 

Classes

class  Backup
 This class identifies a Cloud Spanner Backup. More...
 
class  Bytes
 A representation of the Spanner BYTES type: variable-length binary data. More...
 
class  Client
 Performs database client operations on Spanner. More...
 
struct  SpannerRetryPolicyOption
 Option for google::cloud::Options to set a spanner::RetryPolicy. More...
 
struct  SpannerBackoffPolicyOption
 Option for google::cloud::Options to set a spanner::BackoffPolicy. More...
 
struct  SpannerPollingPolicyOption
 Option for google::cloud::Options to set a spanner::PollingPolicy. More...
 
struct  SessionPoolMinSessionsOption
 Option for google::cloud::Options to set the minimum number of sessions to keep in the pool. More...
 
struct  SessionPoolMaxSessionsPerChannelOption
 Option for google::cloud::Options to set the maximum number of sessions to create on each channel. More...
 
struct  SessionPoolMaxIdleSessionsOption
 Option for google::cloud::Options to set the maximum number of sessions to keep in the pool in an idle state. More...
 
struct  SessionPoolActionOnExhaustionOption
 Option for google::cloud::Options to set the action to take when attempting to allocate a session when the pool is exhausted. More...
 
struct  SessionPoolKeepAliveIntervalOption
 Option for google::cloud::Options to set the interval at which we refresh sessions so they don't get collected by the backend GC. More...
 
struct  SessionPoolLabelsOption
 Option for google::cloud::Options to set the labels used when creating sessions within the pool. More...
 
struct  RequestPriorityOption
 Option for google::cloud::Options to set a spanner::RequestPriority. More...
 
struct  RequestTagOption
 Option for google::cloud::Options to set a per-request tag. More...
 
class  Transaction
 The representation of a Cloud Spanner transaction. More...
 
struct  ConnectionOptionsTraits
 The traits to configure ConnectionOptions<T> for Cloud Spanner. More...
 
class  Database
 This class identifies a Cloud Spanner Database. More...
 
class  DatabaseAdminClient
 Performs database administration operations on Spanner. More...
 
class  Timestamp
 A representation of the Spanner TIMESTAMP type: An instant in time. More...
 
struct  CommitTimestamp
 A sentinel type used to update a commit timestamp column. More...
 
class  DatabaseAdminConnection
 A connection to the Cloud Spanner instance administration service. More...
 
class  Instance
 This class identifies a Cloud Spanner Instance. More...
 
class  InstanceAdminClient
 Performs instance administration operations on Cloud Spanner. More...
 
class  InstanceAdminConnection
 A connection to the Cloud Spanner instance administration service. More...
 
class  KeyBound
 The KeyBound class is a regular type that represents an open or closed endpoint for a range of keys. More...
 
class  KeySet
 The KeySet class is a regular type that represents a collection of Keys. More...
 
class  Value
 The Value class represents a type-safe, nullable Spanner value. More...
 
class  Mutation
 A wrapper for Cloud Spanner mutations. More...
 
class  Numeric
 A representation of the Spanner NUMERIC type: an exact numeric value with 29 decimal digits of integer precision (kIntPrec) and 9 decimal digits of fractional precision (kFracPrec). More...
 
struct  PartitionOptions
 Options passed to Client::PartitionRead or Client::PartitionQuery. More...
 
class  QueryPartition
 The QueryPartition class is a regular type that represents a single slice of a parallel SQL read. More...
 
struct  BatchDmlResult
 The result of executing a batch of DML statements. More...
 
class  ClientOptions
 ClientOptions allows the caller to set a variety of options when constructing a Client instance. More...
 
class  CommitOptions
 Set options on calls to spanner::Client::Commit(). More...
 
struct  CommitStats
 Statistics returned for a committed Transaction. More...
 
struct  CommitResult
 The result of committing a Transaction. More...
 
class  Connection
 A connection to a Spanner database instance. More...
 
class  Json
 A simple representation for the Spanner JSON type: a lightweight, text-based, language-independent data interchange format. More...
 
class  QueryOptions
 These QueryOptions allow users to configure features about how their SQL queries executes on the server. More...
 
class  SqlStatement
 Represents a potentially parameterized SQL statement. More...
 
struct  ReadOptions
 Options passed to Client::Read or Client::PartitionRead. More...
 
class  ReadPartition
 The ReadPartition class is a regular type that represents a single slice of a parallel Read operation. More...
 
class  RowStream
 Represents the stream of Rows returned from spanner::Client::Read() or spanner::Client::ExecuteQuery(). More...
 
class  DmlResult
 Represents the result of a data modifying operation using spanner::Client::ExecuteDml(). More...
 
class  ProfileQueryResult
 Represents the stream of Rows and profile stats returned from spanner::Client::ProfileQuery(). More...
 
class  ProfileDmlResult
 Represents the result and profile stats of a data modifying operation using spanner::Client::ProfileDml(). More...
 
class  SessionPoolOptions
 Controls the session pool maintained by a spanner::Client. More...
 
struct  PartitionedDmlResult
 The result of executing a Partitioned DML query. More...
 
class  Row
 A Row is a sequence of columns each with a name and an associated Value. More...
 
class  RowStreamIterator
 A RowStreamIterator is an Input Iterator (see below) that returns a sequence of StatusOr<Row> objects. More...
 
class  TupleStreamIterator
 A TupleStreamIterator<Tuple> is an "Input Iterator" that wraps a RowStreamIterator, parsing its elements into a sequence of StatusOr<Tuple> objects. More...
 
class  TupleStream
 A TupleStream<Tuple> defines a range that parses Tuple objects from the given range of RowStreamIterators. More...
 
class  CreateInstanceRequestBuilder
 CreateInstanceRequestBuilder is a builder class for google::spanner::admin::instance::v1::CreateInstanceRequest More...
 
class  UpdateInstanceRequestBuilder
 UpdateInstanceRequestBuilder is a builder class for google::spanner::admin::instance::v1::UpdateInstanceRequest More...
 
class  DefaultEncryption
 Use the per-operation default encryption: More...
 
class  GoogleEncryption
 Use Google default encryption. More...
 
class  CustomerManagedEncryption
 Use encryption with encryption_key. More...
 

Typedefs

using SpannerPolicyOptionList = OptionList< spanner::SpannerRetryPolicyOption, SpannerBackoffPolicyOption, SpannerPollingPolicyOption >
 List of all "policy" options. More...
 
using SessionPoolOptionList = OptionList< SessionPoolMinSessionsOption, SessionPoolMaxSessionsPerChannelOption, SessionPoolMaxIdleSessionsOption, SessionPoolActionOnExhaustionOption, SessionPoolKeepAliveIntervalOption, SessionPoolLabelsOption >
 List of all SessionPool options. More...
 
using RequestOptionList = OptionList< RequestPriorityOption, RequestTagOption >
 List of all Request options. More...
 
using RetryPolicy = ::google::cloud::internal::TraitBasedRetryPolicy< spanner_internal::SafeGrpcRetry >
 The base class for retry policies. More...
 
using LimitedTimeRetryPolicy = ::google::cloud::internal::LimitedTimeRetryPolicy< spanner_internal::SafeGrpcRetry >
 A retry policy that limits based on time. More...
 
using LimitedErrorCountRetryPolicy = google::cloud::internal::LimitedErrorCountRetryPolicy< spanner_internal::SafeGrpcRetry >
 A retry policy that limits the number of times a request can fail. More...
 
using TransactionRerunPolicy = ::google::cloud::internal::TraitBasedRetryPolicy< spanner_internal::SafeTransactionRerun >
 The base class for transaction rerun policies. More...
 
using LimitedTimeTransactionRerunPolicy = google::cloud::internal::LimitedTimeRetryPolicy< spanner_internal::SafeTransactionRerun >
 A transaction rerun policy that limits the duration of the rerun loop. More...
 
using LimitedErrorCountTransactionRerunPolicy = google::cloud::internal::LimitedErrorCountRetryPolicy< spanner_internal::SafeTransactionRerun >
 A transaction rerun policy that limits the number of failures. More...
 
using ConnectionOptions = google::cloud::ConnectionOptions< ConnectionOptionsTraits >
 The options for Cloud Spanner connections. More...
 
template<typename Duration >
using sys_time = std::chrono::time_point< std::chrono::system_clock, Duration >
 Convenience alias. More...
 
using ListDatabaseRange = ::google::cloud::internal::PaginationRange< google::spanner::admin::database::v1::Database >
 An input range to stream all the databases in a Cloud Spanner instance. More...
 
using ListBackupOperationsRange = google::cloud::internal::PaginationRange< google::longrunning::Operation >
 An input range to stream backup operations in Cloud Spanner instance. More...
 
using ListDatabaseOperationsRange = google::cloud::internal::PaginationRange< google::longrunning::Operation >
 An input range to stream database operations in Cloud Spanner instance. More...
 
using ListBackupsRange = ::google::cloud::internal::PaginationRange< google::spanner::admin::database::v1::Backup >
 An input range to stream backups in Cloud Spanner instance. More...
 
using BackoffPolicy = ::google::cloud::internal::BackoffPolicy
 The base class for backoff policies. More...
 
using ExponentialBackoffPolicy = google::cloud::internal::ExponentialBackoffPolicy
 A truncated exponential backoff policy with randomized periods. More...
 
using PollingPolicy = ::google::cloud::PollingPolicy
 
template<typename Retry = LimitedTimeRetryPolicy, typename Backoff = ExponentialBackoffPolicy>
using GenericPollingPolicy = ::google::cloud::GenericPollingPolicy< Retry, Backoff >
 
using ListInstancesRange = ::google::cloud::internal::PaginationRange< google::spanner::admin::instance::v1::Instance >
 An input range to stream all the instances in a Cloud project. More...
 
using ListInstanceConfigsRange = ::google::cloud::internal::PaginationRange< google::spanner::admin::instance::v1::InstanceConfig >
 An input range to stream all the instance configs in a Cloud project. More...
 
using Key = std::vector< Value >
 A Key is a collection of Value objects where the i'th value corresponds to the i'th component of the table or primary index key. More...
 
using Mutations = std::vector< Mutation >
 An ordered sequence of mutations to pass to Client::Commit() or return from the Client::Commit() mutator. More...
 
using InsertMutationBuilder = spanner_internal::WriteMutationBuilder< spanner_internal::InsertOp >
 A helper class to construct "insert" mutations. More...
 
using UpdateMutationBuilder = spanner_internal::WriteMutationBuilder< spanner_internal::UpdateOp >
 A helper class to construct "update" mutations. More...
 
using InsertOrUpdateMutationBuilder = spanner_internal::WriteMutationBuilder< spanner_internal::InsertOrUpdateOp >
 A helper class to construct "insert_or_update" mutations. More...
 
using ReplaceMutationBuilder = spanner_internal::WriteMutationBuilder< spanner_internal::ReplaceOp >
 A helper class to construct "replace" mutations. More...
 
using DeleteMutationBuilder = spanner_internal::DeleteMutationBuilder
 A helper class to construct "delete" mutations. More...
 
using Date = ::absl::CivilDay
 Represents a date in the proleptic Gregorian calendar as a triple of year, month (1-12), and day (1-31). More...
 
using ExecutionPlan = ::google::spanner::v1::QueryPlan
 Contains a hierarchical representation of the operations the database server performs in order to execute a particular SQL statement. More...
 
using EncryptionConfig = absl::variant< DefaultEncryption, GoogleEncryption, CustomerManagedEncryption >
 Specify the encryption configuration for any of the following operations: More...
 
using IamUpdater = ::google::cloud::IamUpdater
 Type alias for google::cloud::IamUpdater. More...
 
using TracingOptions = ::google::cloud::TracingOptions
 The configuration parameters for RPC/protobuf tracing. More...
 

Enumerations

enum class  ActionOnExhaustion { kBlock , kFail }
 Action to take when the session pool is exhausted. More...
 
enum class  RequestPriority { kLow , kMedium , kHigh }
 

Functions

bool operator== (Backup const &a, Backup const &b)
 
bool operator!= (Backup const &a, Backup const &b)
 
std::ostream & operator<< (std::ostream &os, Backup const &bu)
 
StatusOr< BackupMakeBackup (std::string const &full_name)
 Constructs a Backup from the given full_name. More...
 
std::ostream & operator<< (std::ostream &os, Bytes const &bytes)
 
constexpr int VersionMajor ()
 The Cloud spanner C++ Client major version. More...
 
constexpr int VersionMinor ()
 The Cloud spanner C++ Client minor version. More...
 
constexpr int VersionPatch ()
 The Cloud spanner C++ Client patch version. More...
 
constexpr int Version ()
 A single integer representing the Major/Minor/Patch version. More...
 
std::string VersionString ()
 The version as a string, in MAJOR.MINOR.PATCH+gitrev format. More...
 
std::shared_ptr< spanner::ConnectionMakeConnection (spanner::Database const &db, Options opts={})
 Returns a Connection object that can be used for interacting with Spanner. More...
 
std::shared_ptr< ConnectionMakeConnection (Database const &db, ConnectionOptions const &connection_options, SessionPoolOptions session_pool_options=SessionPoolOptions())
 Returns a Connection object that can be used for interacting with Spanner. More...
 
std::shared_ptr< ConnectionMakeConnection (Database const &db, ConnectionOptions const &connection_options, SessionPoolOptions session_pool_options, std::unique_ptr< RetryPolicy > retry_policy, std::unique_ptr< BackoffPolicy > backoff_policy)
 Returns a Connection object that can be used for interacting with Spanner. More...
 
Transaction MakeReadOnlyTransaction (Transaction::ReadOnlyOptions opts={})
 Create a read-only transaction configured with opts. More...
 
Transaction MakeReadWriteTransaction (Transaction::ReadWriteOptions opts={})
 Create a read-write transaction configured with opts. More...
 
Transaction MakeReadWriteTransaction (Transaction const &txn, Transaction::ReadWriteOptions opts={})
 Create a read-write transaction configured with opts, and sharing lock priority with txn. More...
 
bool operator== (Database const &a, Database const &b)
 
bool operator!= (Database const &a, Database const &b)
 
std::ostream & operator<< (std::ostream &os, Database const &db)
 
StatusOr< DatabaseMakeDatabase (std::string const &full_name)
 Constructs a Database from the given full_name. More...
 
StatusOr< TimestampMakeTimestamp (absl::Time)
 Construct a Timestamp from an absl::Time. More...
 
StatusOr< TimestampMakeTimestamp (protobuf::Timestamp const &)
 Construct a Timestamp from a google::protobuf::Timestamp. More...
 
template<typename Duration >
StatusOr< TimestampMakeTimestamp (sys_time< Duration > const &tp)
 Construct a Timestamp from a std::chrono::time_point on the system clock. More...
 
std::shared_ptr< spanner::DatabaseAdminConnectionMakeDatabaseAdminConnection (Options opts={})
 Returns a DatabaseAdminConnection object that can be used for interacting with Cloud Spanner's admin APIs. More...
 
std::shared_ptr< DatabaseAdminConnectionMakeDatabaseAdminConnection (ConnectionOptions const &options)
 Returns a DatabaseAdminConnection object that can be used for interacting with Cloud Spanner's admin APIs. More...
 
std::shared_ptr< DatabaseAdminConnectionMakeDatabaseAdminConnection (ConnectionOptions const &options, std::unique_ptr< RetryPolicy > retry_policy, std::unique_ptr< BackoffPolicy > backoff_policy, std::unique_ptr< PollingPolicy > polling_policy)
 Returns a DatabaseAdminConnection object that can be used for interacting with Cloud Spanner's admin APIs. More...
 
bool operator== (Instance const &a, Instance const &b)
 
bool operator!= (Instance const &a, Instance const &b)
 
std::ostream & operator<< (std::ostream &os, Instance const &in)
 
StatusOr< InstanceMakeInstance (std::string const &full_name)
 Constructs an Instance from the given full_name. More...
 
std::shared_ptr< spanner::InstanceAdminConnectionMakeInstanceAdminConnection (Options opts={})
 Returns an InstanceAdminConnection object that can be used for interacting with Cloud Spanner's admin APIs. More...
 
std::shared_ptr< InstanceAdminConnectionMakeInstanceAdminConnection (ConnectionOptions const &options)
 Returns an InstanceAdminConnection object that can be used for interacting with Cloud Spanner's admin APIs. More...
 
std::shared_ptr< InstanceAdminConnectionMakeInstanceAdminConnection (ConnectionOptions const &options, std::unique_ptr< RetryPolicy > retry_policy, std::unique_ptr< BackoffPolicy > backoff_policy, std::unique_ptr< PollingPolicy > polling_policy)
 Returns an InstanceAdminConnection object that can be used for interacting with Cloud Spanner's admin APIs. More...
 
bool operator== (KeyBound const &a, KeyBound const &b)
 
bool operator== (KeySet const &a, KeySet const &b)
 
template<typename... Ts>
Key MakeKey (Ts &&... ts)
 Constructs a Key from the given arguments. More...
 
template<typename... Ts>
KeyBound MakeKeyBoundClosed (Ts &&... ts)
 Returns a "closed" KeyBound with a Key constructed from the given arguments. More...
 
template<typename... Ts>
KeyBound MakeKeyBoundOpen (Ts &&... ts)
 Returns an "open" KeyBound with a Key constructed from the given arguments. More...
 
template<typename T >
Value MakeNullValue ()
 Factory to construct a "null" Value of the specified type T. More...
 
bool operator== (Mutation const &lhs, Mutation const &rhs)
 
void PrintTo (Mutation const &m, std::ostream *os)
 
template<typename... Ts>
Mutation MakeInsertMutation (std::string table_name, std::vector< std::string > columns, Ts &&... values)
 Creates a simple insert mutation for the values in values. More...
 
template<typename... Ts>
Mutation MakeUpdateMutation (std::string table_name, std::vector< std::string > columns, Ts &&... values)
 Creates a simple update mutation for the values in values. More...
 
template<typename... Ts>
Mutation MakeInsertOrUpdateMutation (std::string table_name, std::vector< std::string > columns, Ts &&... values)
 Creates a simple "insert or update" mutation for the values in values. More...
 
template<typename... Ts>
Mutation MakeReplaceMutation (std::string table_name, std::vector< std::string > columns, Ts &&... values)
 Creates a simple "replace" mutation for the values in values. More...
 
Mutation MakeDeleteMutation (std::string table_name, KeySet keys)
 Creates a simple "delete" mutation for the values in keys. More...
 
StatusOr< NumericMakeNumeric (std::string s)
 Construction from a string, in decimal fixed- or floating-point formats. More...
 
StatusOr< NumericMakeNumeric (double d)
 Construction from a double. More...
 
template<typename T , typename std::enable_if< std::numeric_limits< T >::is_integer, int >::type = 0>
StatusOr< NumericMakeNumeric (T i, int exponent=0)
 Construction from an integer i, scaled by 10^exponent. More...
 
double ToDouble (Numeric const &n)
 Conversion to the closest double value, with possible loss of precision. More...
 
bool operator== (PartitionOptions const &a, PartitionOptions const &b)
 
bool operator!= (PartitionOptions const &a, PartitionOptions const &b)
 
bool operator== (QueryPartition const &a, QueryPartition const &b)
 
StatusOr< std::string > SerializeQueryPartition (QueryPartition const &query_partition)
 Serializes an instance of QueryPartition to a string of bytes. More...
 
StatusOr< QueryPartitionDeserializeQueryPartition (std::string const &serialized_query_partition)
 Deserializes the provided string into a QueryPartition. More...
 
std::ostream & operator<< (std::ostream &os, Json const &json)
 Outputs a JSON-formatted string to the provided stream. More...
 
bool operator== (ReadOptions const &lhs, ReadOptions const &rhs)
 
bool operator!= (ReadOptions const &lhs, ReadOptions const &rhs)
 
StatusOr< std::string > SerializeReadPartition (ReadPartition const &read_partition)
 Serializes an instance of ReadPartition to a string of bytes. More...
 
StatusOr< ReadPartitionDeserializeReadPartition (std::string const &serialized_read_partition)
 Deserializes the provided string into a ReadPartition. More...
 
bool operator== (ReadPartition const &lhs, ReadPartition const &rhs)
 
bool operator!= (ReadPartition const &lhs, ReadPartition const &rhs)
 
Row MakeTestRow (std::vector< std::pair< std::string, Value >> pairs)
 Creates a Row with the specified column names and values. More...
 
template<typename... Ts>
Row MakeTestRow (Ts &&... ts)
 Creates a Row with Values created from the given arguments and with auto-generated column names. More...
 
template<typename Tuple , typename RowRange >
TupleStream< Tuple > StreamOf (RowRange &&range)
 A factory that creates a TupleStream<Tuple> by wrapping the given range. More...
 
template<typename RowRange >
auto GetSingularRow (RowRange &&range) -> typename std::decay< decltype(*std::forward< RowRange >(range).begin())>::type
 Returns the only row from a range that contains exactly one row. More...
 
bool operator== (Row const &a, Row const &b)
 
bool operator== (RowStreamIterator const &a, RowStreamIterator const &b)
 
bool operator!= (RowStreamIterator const &a, RowStreamIterator const &b)
 
std::ostream & operator<< (std::ostream &os, SqlStatement const &stmt)
 
std::ostream & operator<< (std::ostream &os, Timestamp ts)
 
bool operator== (Value const &a, Value const &b)
 
std::ostream & operator<< (std::ostream &os, Value const &v)
 

Detailed Description

Contains all the Cloud Spanner C++ client types and functions.