From 2ca4d15d758213591abbfc8fa68fbb72fd5827c7 Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Tue, 7 Jan 2025 18:54:53 +0000 Subject: [PATCH] more cleanup; --- Firestore/core/src/core/composite_filter.cc | 3 ++- Firestore/core/src/core/composite_filter.h | 3 ++- Firestore/core/src/core/field_filter.cc | 3 ++- Firestore/core/src/core/field_filter.h | 3 ++- Firestore/core/src/core/filter.h | 6 ++++-- Firestore/core/src/core/query.cc | 12 ++++++------ Firestore/core/src/core/query.h | 3 ++- Firestore/core/src/util/thread_safe_memoizer.h | 10 +++++++--- 8 files changed, 27 insertions(+), 16 deletions(-) diff --git a/Firestore/core/src/core/composite_filter.cc b/Firestore/core/src/core/composite_filter.cc index 759eaa6536c..02186989330 100644 --- a/Firestore/core/src/core/composite_filter.cc +++ b/Firestore/core/src/core/composite_filter.cc @@ -142,7 +142,8 @@ const FieldFilter* CompositeFilter::Rep::FindFirstMatchingFilter( return nullptr; } -std::shared_ptr> CompositeFilter::Rep::CalculateFlattenedFilters() const { +std::shared_ptr> +CompositeFilter::Rep::CalculateFlattenedFilters() const { auto flattened_filters = std::make_shared>(); for (const auto& filter : filters()) std::copy(filter.GetFlattenedFilters().begin(), diff --git a/Firestore/core/src/core/composite_filter.h b/Firestore/core/src/core/composite_filter.h index 3271397411a..2858271a358 100644 --- a/Firestore/core/src/core/composite_filter.h +++ b/Firestore/core/src/core/composite_filter.h @@ -138,7 +138,8 @@ class CompositeFilter : public Filter { return filters_.empty(); } - std::shared_ptr> CalculateFlattenedFilters() const override; + std::shared_ptr> CalculateFlattenedFilters() + const override; std::vector GetFilters() const override { return filters(); diff --git a/Firestore/core/src/core/field_filter.cc b/Firestore/core/src/core/field_filter.cc index 2545855966c..2867e3ba8ba 100644 --- a/Firestore/core/src/core/field_filter.cc +++ b/Firestore/core/src/core/field_filter.cc @@ -123,7 +123,8 @@ FieldFilter::FieldFilter(std::shared_ptr rep) : Filter(std::move(rep)) { } -std::shared_ptr> FieldFilter::Rep::CalculateFlattenedFilters() const { +std::shared_ptr> +FieldFilter::Rep::CalculateFlattenedFilters() const { // This is already a field filter, so we return a vector of size one. auto filters = std::make_shared>(); filters->push_back(FieldFilter(std::make_shared(*this))); diff --git a/Firestore/core/src/core/field_filter.h b/Firestore/core/src/core/field_filter.h index 974b382ccb9..2f03254e1a1 100644 --- a/Firestore/core/src/core/field_filter.h +++ b/Firestore/core/src/core/field_filter.h @@ -138,7 +138,8 @@ class FieldFilter : public Filter { bool MatchesComparison(util::ComparisonResult comparison) const; - std::shared_ptr> CalculateFlattenedFilters() const override; + std::shared_ptr> CalculateFlattenedFilters() + const override; private: friend class FieldFilter; diff --git a/Firestore/core/src/core/filter.h b/Firestore/core/src/core/filter.h index b94bd4f5a98..bab79599cc6 100644 --- a/Firestore/core/src/core/filter.h +++ b/Firestore/core/src/core/filter.h @@ -156,14 +156,16 @@ class Filter { virtual std::vector GetFilters() const = 0; protected: - virtual std::shared_ptr> CalculateFlattenedFilters() const = 0; + virtual std::shared_ptr> + CalculateFlattenedFilters() const = 0; private: /** * Memoized list of all field filters that can be found by * traversing the tree of filters contained in this composite filter. */ - mutable util::ThreadSafeMemoizer> memoized_flattened_filters_; + mutable util::ThreadSafeMemoizer> + memoized_flattened_filters_; }; explicit Filter(std::shared_ptr&& rep) : rep_(rep) { diff --git a/Firestore/core/src/core/query.cc b/Firestore/core/src/core/query.cc index 918ab50847b..1c8394748d9 100644 --- a/Firestore/core/src/core/query.cc +++ b/Firestore/core/src/core/query.cc @@ -92,9 +92,10 @@ absl::optional Query::FindOpInsideFilters( return absl::nullopt; } -std::shared_ptr> Query::CalculateNormalizedOrderBys() const { +std::shared_ptr> Query::CalculateNormalizedOrderBys() + const { + // Any explicit order by fields should be added as is. auto result = std::make_shared>(explicit_order_bys_); - std::set fieldsNormalized; for (const OrderBy& order_by : explicit_order_bys_) { fieldsNormalized.insert(order_by.field()); @@ -111,21 +112,20 @@ std::shared_ptr> Query::CalculateNormalizedOrderBys() const // the same field, the field should be added only once. Note: // `std::set` sorts the key field before other fields. // However, we want the key field to be sorted last. - const std::set inequality_fields = - InequalityFilterFields(); + const std::set inequality_fields = InequalityFilterFields(); for (const model::FieldPath& field : inequality_fields) { if (fieldsNormalized.find(field) == fieldsNormalized.end() && !field.IsKeyFieldPath()) { result->push_back(OrderBy(field, last_direction)); - } + } } // Add the document key field to the last if it is not explicitly ordered. if (fieldsNormalized.find(FieldPath::KeyFieldPath()) == fieldsNormalized.end()) { result->push_back(OrderBy(FieldPath::KeyFieldPath(), last_direction)); - } + } return result; } diff --git a/Firestore/core/src/core/query.h b/Firestore/core/src/core/query.h index d8993e7a0a6..4d7c06ac5a6 100644 --- a/Firestore/core/src/core/query.h +++ b/Firestore/core/src/core/query.h @@ -305,7 +305,8 @@ class Query { // The memoized list of sort orders. std::shared_ptr> CalculateNormalizedOrderBys() const; - mutable util::ThreadSafeMemoizer> memoized_normalized_order_bys_; + mutable util::ThreadSafeMemoizer> + memoized_normalized_order_bys_; // The corresponding Target of this Query instance. std::shared_ptr CalculateTarget() const; diff --git a/Firestore/core/src/util/thread_safe_memoizer.h b/Firestore/core/src/util/thread_safe_memoizer.h index 470289ebe5b..09abc10b73d 100644 --- a/Firestore/core/src/util/thread_safe_memoizer.h +++ b/Firestore/core/src/util/thread_safe_memoizer.h @@ -34,14 +34,17 @@ class ThreadSafeMemoizer { public: ThreadSafeMemoizer() = default; - ThreadSafeMemoizer(const ThreadSafeMemoizer& other) : memoized_(std::atomic_load(&other.memoized_)) {} + ThreadSafeMemoizer(const ThreadSafeMemoizer& other) + : memoized_(std::atomic_load(&other.memoized_)) { + } ThreadSafeMemoizer& operator=(const ThreadSafeMemoizer& other) { std::atomic_store(&memoized_, std::atomic_load(&other.memoized_)); return *this; } - ThreadSafeMemoizer(ThreadSafeMemoizer&& other) noexcept : memoized_(std::atomic_load(&other.memoized_)) { + ThreadSafeMemoizer(ThreadSafeMemoizer&& other) noexcept + : memoized_(std::atomic_load(&other.memoized_)) { } ThreadSafeMemoizer& operator=(ThreadSafeMemoizer&& other) noexcept { @@ -75,7 +78,8 @@ class ThreadSafeMemoizer { std::shared_ptr new_memoized = func(); - if (std::atomic_compare_exchange_weak(&memoized_, &old_memoized, new_memoized)) { + if (std::atomic_compare_exchange_weak(&memoized_, &old_memoized, + new_memoized)) { return *new_memoized; } }