15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_QUERY_PARTITION_H
16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_QUERY_PARTITION_H
18 #include "google/cloud/spanner/connection.h"
19 #include "google/cloud/spanner/sql_statement.h"
20 #include "google/cloud/spanner/version.h"
21 #include "google/cloud/status_or.h"
27 namespace spanner_internal {
29 class QueryPartitionTester;
30 struct QueryPartitionInternals;
77 std::string
const& serialized_query_partition);
117 friend class spanner_internal::QueryPartitionTester;
118 friend struct spanner_internal::QueryPartitionInternals;
122 std::string
const& serialized_query_partition);
124 QueryPartition(std::string transaction_id, std::string transaction_tag,
125 std::string session_id, std::string partition_token,
129 std::string
const& partition_token()
const {
return partition_token_; }
130 std::string
const& session_id()
const {
return session_id_; }
131 std::string
const& transaction_tag()
const {
return transaction_tag_; }
132 std::string
const& transaction_id()
const {
return transaction_id_; }
134 std::string transaction_id_;
135 std::string transaction_tag_;
136 std::string session_id_;
137 std::string partition_token_;
145 namespace spanner_internal {
148 struct QueryPartitionInternals {
150 std::string
const& transaction_id, std::string
const& transaction_tag,
151 std::string
const& session_id, std::string
const& partition_token,
154 partition_token, sql_statement);
160 return {MakeTransactionFromIds(query_partition.session_id(),
161 query_partition.transaction_id(),
162 query_partition.transaction_tag()),
164 query_partition.partition_token()};
169 std::string
const& transaction_id, std::string
const& transaction_tag,
170 std::string
const& session_id, std::string
const& partition_token,
172 return QueryPartitionInternals::MakeQueryPartition(
173 transaction_id, transaction_tag, session_id, partition_token,
179 return QueryPartitionInternals::MakeSqlParams(query_partition);