column_mapping_entry: extract == and != operators

Signed-off-by: Pavel Solodovnikov <pa.solodovnikov@scylladb.com>
Message-Id: <20201016123638.99534-1-pa.solodovnikov@scylladb.com>
This commit is contained in:
Pavel Solodovnikov
2020-10-16 15:36:38 +03:00
committed by Tomasz Grabiec
parent f87d4cca68
commit aa4c359cff
2 changed files with 12 additions and 1 deletions

View File

@@ -75,6 +75,14 @@ column_mapping_entry& column_mapping_entry::operator=(const column_mapping_entry
return operator=(std::move(copy));
}
bool operator==(const column_mapping_entry& lhs, const column_mapping_entry& rhs) {
return lhs.name() == rhs.name() && lhs.type() == rhs.type();
}
bool operator!=(const column_mapping_entry& lhs, const column_mapping_entry& rhs) {
return !(lhs == rhs);
}
bool operator==(const column_mapping& lhs, const column_mapping& rhs) {
const auto& lhs_columns = lhs.columns(), rhs_columns = rhs.columns();
if (lhs_columns.size() != rhs_columns.size()) {
@@ -82,7 +90,7 @@ bool operator==(const column_mapping& lhs, const column_mapping& rhs) {
}
for (size_t i = 0, end = lhs_columns.size(); i < end; ++i) {
const column_mapping_entry& lhs_entry = lhs_columns[i], rhs_entry = rhs_columns[i];
if (lhs_entry.name() != rhs_entry.name() || lhs_entry.type() != rhs_entry.type()) {
if (lhs_entry != rhs_entry) {
return false;
}
}

View File

@@ -447,6 +447,9 @@ public:
bool is_atomic() const { return _is_atomic; }
};
bool operator==(const column_mapping_entry& lhs, const column_mapping_entry& rhs);
bool operator!=(const column_mapping_entry& lhs, const column_mapping_entry& rhs);
// Encapsulates information needed for converting mutations between different schema versions.
//
// Unsafe to access across shards.