Remove a now-unnecessary WideColumnSerialization::Serialize variant (#11864)

Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/11864

Reviewed By: jaykorean

Differential Revision: D49445163

fbshipit-source-id: a1275112b9f87a3652df5f155bd215db5819326c
This commit is contained in:
Levi Tamasi 2023-09-20 08:04:35 -07:00 committed by Facebook GitHub Bot
parent f42e70bf56
commit 51b3b7e08c
3 changed files with 3 additions and 69 deletions

View File

@ -16,11 +16,9 @@
namespace ROCKSDB_NAMESPACE {
Status WideColumnSerialization::SerializeImpl(const Slice* value_of_default,
const WideColumns& columns,
Status WideColumnSerialization::Serialize(const WideColumns& columns,
std::string& output) {
const size_t num_columns =
value_of_default ? columns.size() + 1 : columns.size();
const size_t num_columns = columns.size();
if (num_columns > static_cast<size_t>(std::numeric_limits<uint32_t>::max())) {
return Status::InvalidArgument("Too many wide columns");
@ -31,17 +29,6 @@ Status WideColumnSerialization::SerializeImpl(const Slice* value_of_default,
PutVarint32(&output, static_cast<uint32_t>(num_columns));
const Slice* prev_name = nullptr;
if (value_of_default) {
if (value_of_default->size() >
static_cast<size_t>(std::numeric_limits<uint32_t>::max())) {
return Status::InvalidArgument("Wide column value too long");
}
PutLengthPrefixedSlice(&output, kDefaultWideColumnName);
PutVarint32(&output, static_cast<uint32_t>(value_of_default->size()));
prev_name = &kDefaultWideColumnName;
}
for (size_t i = 0; i < columns.size(); ++i) {
const WideColumn& column = columns[i];
@ -68,10 +55,6 @@ Status WideColumnSerialization::SerializeImpl(const Slice* value_of_default,
prev_name = &name;
}
if (value_of_default) {
output.append(value_of_default->data(), value_of_default->size());
}
for (const auto& column : columns) {
const Slice& value = column.value();

View File

@ -44,9 +44,6 @@ class Slice;
class WideColumnSerialization {
public:
static Status Serialize(const WideColumns& columns, std::string& output);
static Status Serialize(const Slice& value_of_default,
const WideColumns& other_columns,
std::string& output);
static Status Deserialize(Slice& input, WideColumns& columns);
@ -55,23 +52,6 @@ class WideColumnSerialization {
static Status GetValueOfDefaultColumn(Slice& input, Slice& value);
static constexpr uint32_t kCurrentVersion = 1;
private:
static Status SerializeImpl(const Slice* value_of_default,
const WideColumns& columns, std::string& output);
};
inline Status WideColumnSerialization::Serialize(const WideColumns& columns,
std::string& output) {
constexpr Slice* value_of_default = nullptr;
return SerializeImpl(value_of_default, columns, output);
}
inline Status WideColumnSerialization::Serialize(
const Slice& value_of_default, const WideColumns& other_columns,
std::string& output) {
return SerializeImpl(&value_of_default, other_columns, output);
}
} // namespace ROCKSDB_NAMESPACE

View File

@ -124,25 +124,6 @@ TEST(WideColumnSerializationTest, SerializeDeserialize) {
}
}
TEST(WideColumnSerializationTest, SerializeWithPrepend) {
Slice value_of_default("baz");
WideColumns other_columns{{"foo", "bar"}, {"hello", "world"}};
std::string output;
ASSERT_OK(WideColumnSerialization::Serialize(value_of_default, other_columns,
output));
Slice input(output);
WideColumns deserialized_columns;
ASSERT_OK(WideColumnSerialization::Deserialize(input, deserialized_columns));
WideColumns expected_columns{{kDefaultWideColumnName, value_of_default},
other_columns[0],
other_columns[1]};
ASSERT_EQ(deserialized_columns, expected_columns);
}
TEST(WideColumnSerializationTest, SerializeDuplicateError) {
WideColumns columns{{"foo", "bar"}, {"foo", "baz"}};
std::string output;
@ -151,16 +132,6 @@ TEST(WideColumnSerializationTest, SerializeDuplicateError) {
WideColumnSerialization::Serialize(columns, output).IsCorruption());
}
TEST(WideColumnSerializationTest, SerializeWithPrependDuplicateError) {
Slice value_of_default("baz");
WideColumns other_columns{{kDefaultWideColumnName, "dup"}, {"foo", "bar"}};
std::string output;
ASSERT_TRUE(WideColumnSerialization::Serialize(value_of_default,
other_columns, output)
.IsCorruption());
}
TEST(WideColumnSerializationTest, SerializeOutOfOrderError) {
WideColumns columns{{"hello", "world"}, {"foo", "bar"}};
std::string output;