1818#include " google/cloud/spanner/row.h"
1919#include " google/cloud/spanner/value.h"
2020#include " google/cloud/version.h"
21+ #include < memory>
2122#include < string>
2223#include < utility>
2324#include < vector>
@@ -27,9 +28,6 @@ namespace cloud {
2728namespace spanner_mocks {
2829GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
2930
30- // TODO(#9086): Delete this when the MakeRow() implementation is moved here.
31- #include " google/cloud/internal/disable_deprecation_warnings.inc"
32-
3331/* *
3432 * Creates a `spanner::Row` with the specified column names and values.
3533 *
@@ -41,7 +39,14 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
4139 */
4240inline spanner::Row MakeRow (
4341 std::vector<std::pair<std::string, spanner::Value>> pairs) {
44- return spanner::MakeTestRow (std::move (pairs));
42+ auto values = std::vector<spanner::Value>{};
43+ auto columns = std::make_shared<std::vector<std::string>>();
44+ for (auto & p : pairs) {
45+ values.emplace_back (std::move (p.second ));
46+ columns->emplace_back (std::move (p.first ));
47+ }
48+ return spanner_internal::RowFriend::MakeRow (std::move (values),
49+ std::move (columns));
4550}
4651
4752/* *
@@ -58,12 +63,14 @@ inline spanner::Row MakeRow(
5863 */
5964template <typename ... Ts>
6065spanner::Row MakeRow (Ts&&... ts) {
61- return spanner::MakeTestRow (std::forward<Ts>(ts)...);
66+ auto columns = std::make_shared<std::vector<std::string>>();
67+ for (std::size_t i = 0 ; i < sizeof ...(ts); ++i) {
68+ columns->emplace_back (std::to_string (i));
69+ }
70+ std::vector<spanner::Value> v{spanner::Value (std::forward<Ts>(ts))...};
71+ return spanner_internal::RowFriend::MakeRow (std::move (v), std::move (columns));
6272}
6373
64- // TODO(#9086): Delete this when the MakeRow() implementation is moved here.
65- #include " google/cloud/internal/diagnostics_pop.inc"
66-
6774GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
6875} // namespace spanner_mocks
6976} // namespace cloud
0 commit comments