15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_CLIENT_H 16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_CLIENT_H 40 #include <google/spanner/v1/spanner.pb.h> 41 #include <grpcpp/grpcpp.h> 123 : conn_(std::move(conn)), opts_(std::move(opts)) {}
130 Client(Client
const&) =
default;
131 Client& operator=(Client
const&) =
default;
132 Client(Client&&) =
default;
133 Client& operator=(Client&&) =
default;
139 return a.conn_ == b.conn_;
170 std::vector<std::string> columns,
179 RowStream Read(Transaction::SingleUseOptions transaction_options,
180 std::string table, KeySet keys,
181 std::vector<std::string> columns,
182 ReadOptions read_options = {});
189 RowStream Read(Transaction transaction, std::string table, KeySet keys,
190 std::vector<std::string> columns,
191 ReadOptions read_options = {});
207 RowStream Read(ReadPartition
const& partition);
241 StatusOr<std::vector<ReadPartition>> PartitionRead(
242 Transaction transaction, std::string table, KeySet keys,
243 std::vector<std::string> columns, ReadOptions read_options = {},
244 PartitionOptions
const& partition_options = PartitionOptions{});
280 RowStream ExecuteQuery(SqlStatement statement, QueryOptions
const& opts = {});
288 RowStream ExecuteQuery(Transaction::SingleUseOptions transaction_options,
289 SqlStatement statement, QueryOptions
const& opts = {});
296 RowStream ExecuteQuery(Transaction transaction, SqlStatement statement,
297 QueryOptions
const& opts = {});
314 RowStream ExecuteQuery(QueryPartition
const& partition,
315 QueryOptions
const& opts = {});
347 ProfileQueryResult ProfileQuery(SqlStatement statement,
348 QueryOptions
const& opts = {});
356 ProfileQueryResult ProfileQuery(
357 Transaction::SingleUseOptions transaction_options, SqlStatement statement,
358 QueryOptions
const& opts = {});
365 ProfileQueryResult ProfileQuery(Transaction transaction,
366 SqlStatement statement,
367 QueryOptions
const& opts = {});
391 StatusOr<std::vector<QueryPartition>> PartitionQuery(
392 Transaction transaction, SqlStatement statement,
393 PartitionOptions
const& partition_options = PartitionOptions{});
412 StatusOr<DmlResult> ExecuteDml(Transaction transaction,
413 SqlStatement statement,
414 QueryOptions
const& opts = {});
436 StatusOr<ProfileDmlResult> ProfileDml(Transaction transaction,
437 SqlStatement statement,
438 QueryOptions
const& opts = {});
460 StatusOr<ExecutionPlan> AnalyzeSql(Transaction transaction,
461 SqlStatement statement,
462 QueryOptions
const& opts = {});
490 StatusOr<BatchDmlResult> ExecuteBatchDml(
491 Transaction transaction, std::vector<SqlStatement> statements);
531 StatusOr<CommitResult> Commit(
532 std::function<StatusOr<Mutations>(Transaction)>
const& mutator,
533 std::unique_ptr<TransactionRerunPolicy> rerun_policy,
534 std::unique_ptr<BackoffPolicy> backoff_policy);
546 StatusOr<CommitResult> Commit(
547 std::function<StatusOr<Mutations>(Transaction)>
const& mutator);
558 StatusOr<CommitResult> Commit(
Mutations mutations);
584 StatusOr<CommitResult> Commit(Transaction transaction,
Mutations mutations);
600 Status Rollback(Transaction transaction);
620 StatusOr<PartitionedDmlResult> ExecutePartitionedDml(SqlStatement statement);
623 QueryOptions OverlayQueryOptions(QueryOptions
const&);
625 std::shared_ptr<Connection> conn_;
646 SessionPoolOptions session_pool_options = SessionPoolOptions());
659 SessionPoolOptions session_pool_options,
660 std::unique_ptr<RetryPolicy> retry_policy,
661 std::unique_ptr<BackoffPolicy> backoff_policy);
668 #endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_CLIENT_H
std::shared_ptr< Connection > MakeConnection(Database const &db, ConnectionOptions const &connection_options, SessionPoolOptions session_pool_options)
Returns a Connection object that can be used for interacting with Spanner.
Performs database client operations on Spanner.
ClientOptions allows the caller to set a variety of options when constructing a Client instance.
std::vector< Mutation > Mutations
An ordered sequence of mutations to pass to Client::Commit() or return from the Client::Commit() muta...
friend bool operator==(Client const &a, Client const &b)
The KeySet class is a regular type that represents a collection of Keys.
Contains all the Cloud Spanner C++ client types and functions.
google::cloud::ConnectionOptions< ConnectionOptionsTraits > ConnectionOptions
The options for Cloud Spanner connections.
#define SPANNER_CLIENT_NS
friend bool operator!=(Client const &a, Client const &b)
Represents the stream of Rows returned from spanner::Client::Read() or spanner::Client::ExecuteQuery(...
Client(std::shared_ptr< Connection > conn, ClientOptions opts={})
Constructs a Client object using the specified conn and opts.
Options passed to Client::Read or Client::PartitionRead.