Skip to content

Commit 859f506

Browse files
authored
ci(bigtable): more adjustments to handle internal Cord usage (#15569)
1 parent fef647a commit 859f506

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

google/cloud/bigtable/value.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ std::ostream& StreamHelper(std::ostream& os, // NOLINT(misc-no-recursion)
148148
return os << v.string_value();
149149
case StreamMode::kAggregate:
150150
os << '"';
151-
EscapeQuotes(os, v.string_value());
151+
EscapeQuotes(os, AsString(v.string_value()));
152152
return os << '"';
153153
}
154154
return os; // Unreachable, but quiets warning.

google/cloud/bigtable/value_test.cc

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,11 +240,29 @@ template <typename T,
240240
.string_value()),
241241
typename std::enable_if<
242242
std::is_same<std::remove_cv_t<std::remove_reference_t<U>>,
243-
absl::Cord>::value>::type* = nullptr>
243+
absl::Cord>::value>::type* = nullptr,
244+
typename std::enable_if_t<
245+
!std::is_same<T, std::vector<std::string>>::value, int> = 0>
244246
StatusOr<T> MovedFromString(Value const&) {
245247
return T{""};
246248
}
247249

250+
template <typename T,
251+
typename U = decltype(std::declval<google::bigtable::v2::Value>()
252+
.string_value()),
253+
typename std::enable_if<
254+
std::is_same<std::remove_cv_t<std::remove_reference_t<U>>,
255+
absl::Cord>::value>::type* = nullptr,
256+
typename std::enable_if_t<
257+
std::is_same<T, std::vector<std::string>>::value, int> = 0>
258+
StatusOr<T> MovedFromString(Value const& v) {
259+
auto v2 = v.get<T>();
260+
if (!v2.ok()) {
261+
return v2.status();
262+
}
263+
return T{v2->size(), std::string{""}};
264+
}
265+
248266
// NOTE: This test relies on unspecified behavior about the moved-from state
249267
// of std::string. Specifically, this test relies on the fact that "large"
250268
// strings, when moved-from, end up empty. And we use this fact to verify that

0 commit comments

Comments
 (0)