Google Cloud Spanner C++ Client
A C++ Client Library for Google Cloud Spanner
Classes | Public Member Functions | List of all members
google::cloud::spanner::v1::Connection Class Referenceabstract

A connection to a Spanner database instance. More...

#include <google/cloud/spanner/connection.h>

Classes

struct  CommitParams
 Wrap the arguments to Commit(). More...
 
struct  ExecuteBatchDmlParams
 Wrap the arguments to ExecuteBatchDml(). More...
 
struct  ExecutePartitionedDmlParams
 Wrap the arguments to ExecutePartitionedDml(). More...
 
struct  PartitionQueryParams
 Wrap the arguments to PartitionQuery(). More...
 
struct  PartitionReadParams
 Wrap the arguments to PartitionRead(). More...
 
struct  ReadParams
 Wrap the arguments to Read(). More...
 
struct  RollbackParams
 Wrap the arguments to Rollback(). More...
 
struct  SqlParams
 Wrap the arguments to ExecuteQuery(), ExecuteDml(), ProfileQuery(), ProfileDml(), and AnalyzeSql(). More...
 

Public Member Functions

virtual ~Connection ()=default
 
virtual RowStream Read (ReadParams)=0
 Defines the interface for Client::Read() More...
 
virtual StatusOr< std::vector< ReadPartition > > PartitionRead (PartitionReadParams)=0
 Defines the interface for Client::PartitionRead() More...
 
virtual RowStream ExecuteQuery (SqlParams)=0
 Defines the interface for Client::ExecuteQuery() More...
 
virtual StatusOr< DmlResultExecuteDml (SqlParams)=0
 Defines the interface for Client::ExecuteDml() More...
 
virtual ProfileQueryResult ProfileQuery (SqlParams)=0
 Defines the interface for Client::ProfileQuery() More...
 
virtual StatusOr< ProfileDmlResultProfileDml (SqlParams)=0
 Defines the interface for Client::ProfileDml() More...
 
virtual StatusOr< ExecutionPlanAnalyzeSql (SqlParams)=0
 Defines the interface for Client::AnalyzeSql() More...
 
virtual StatusOr< PartitionedDmlResultExecutePartitionedDml (ExecutePartitionedDmlParams)=0
 Defines the interface for Client::ExecutePartitionedDml() More...
 
virtual StatusOr< std::vector< QueryPartition > > PartitionQuery (PartitionQueryParams)=0
 Defines the interface for Client::PartitionQuery() More...
 
virtual StatusOr< BatchDmlResultExecuteBatchDml (ExecuteBatchDmlParams)=0
 Defines the interface for Client::ExecuteBatchDml() More...
 
virtual StatusOr< CommitResultCommit (CommitParams)=0
 Defines the interface for Client::Commit() More...
 
virtual Status Rollback (RollbackParams)=0
 Defines the interface for Client::Rollback() More...
 

Detailed Description

A connection to a Spanner database instance.

This interface defines pure-virtual methods for each of the user-facing overload sets in Client. That is, all of Client's Read() overloads will forward to the one pure-virtual Read() method declared in this interface, and similar for Client's other methods. This allows users to inject custom behavior (e.g., with a Google Mock object) in a Client object for use in their own tests.

To create a concrete instance that connects you to a real Spanner database, see MakeConnection().

Definition at line 57 of file connection.h.

Constructor & Destructor Documentation

◆ ~Connection()

virtual google::cloud::spanner::v1::Connection::~Connection ( )
virtualdefault

Member Function Documentation

◆ AnalyzeSql()

virtual StatusOr<ExecutionPlan> google::cloud::spanner::v1::Connection::AnalyzeSql ( SqlParams  )
pure virtual

Defines the interface for Client::AnalyzeSql()

◆ Commit()

virtual StatusOr<CommitResult> google::cloud::spanner::v1::Connection::Commit ( CommitParams  )
pure virtual

Defines the interface for Client::Commit()

◆ ExecuteBatchDml()

virtual StatusOr<BatchDmlResult> google::cloud::spanner::v1::Connection::ExecuteBatchDml ( ExecuteBatchDmlParams  )
pure virtual

Defines the interface for Client::ExecuteBatchDml()

◆ ExecuteDml()

virtual StatusOr<DmlResult> google::cloud::spanner::v1::Connection::ExecuteDml ( SqlParams  )
pure virtual

Defines the interface for Client::ExecuteDml()

◆ ExecutePartitionedDml()

virtual StatusOr<PartitionedDmlResult> google::cloud::spanner::v1::Connection::ExecutePartitionedDml ( ExecutePartitionedDmlParams  )
pure virtual

Defines the interface for Client::ExecutePartitionedDml()

◆ ExecuteQuery()

virtual RowStream google::cloud::spanner::v1::Connection::ExecuteQuery ( SqlParams  )
pure virtual

Defines the interface for Client::ExecuteQuery()

◆ PartitionQuery()

virtual StatusOr<std::vector<QueryPartition> > google::cloud::spanner::v1::Connection::PartitionQuery ( PartitionQueryParams  )
pure virtual

Defines the interface for Client::PartitionQuery()

◆ PartitionRead()

virtual StatusOr<std::vector<ReadPartition> > google::cloud::spanner::v1::Connection::PartitionRead ( PartitionReadParams  )
pure virtual

Defines the interface for Client::PartitionRead()

◆ ProfileDml()

virtual StatusOr<ProfileDmlResult> google::cloud::spanner::v1::Connection::ProfileDml ( SqlParams  )
pure virtual

Defines the interface for Client::ProfileDml()

◆ ProfileQuery()

virtual ProfileQueryResult google::cloud::spanner::v1::Connection::ProfileQuery ( SqlParams  )
pure virtual

Defines the interface for Client::ProfileQuery()

◆ Read()

virtual RowStream google::cloud::spanner::v1::Connection::Read ( ReadParams  )
pure virtual

Defines the interface for Client::Read()

◆ Rollback()

virtual Status google::cloud::spanner::v1::Connection::Rollback ( RollbackParams  )
pure virtual

Defines the interface for Client::Rollback()