| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Replace fallthrough comments with `ABSL_FALLTHROUGH_INTENDED`, allowing
clean building with -Wimplicit-fallthrough.
|
|
|
|
|
|
|
| |
documentsMatchingCollectionQuery (#1533)
Previously in `documentsMatchingCollectionQuery`, write batches were read three times; in fact, all relevant batches will always be contained inside `allMutationBatchesAffectingQuery` (which is also more efficient); the other two calls were redundant.
|
|
|
|
|
|
|
| |
Rather than previously inlining it in the calling code. This is to unify
filter creation across platforms.
(This change involves altering FSTFilter from a protocol to an abstract
class.)
|
|
|
|
|
| |
Also remove test code that was combining multiple array contains
queries since those were disallowed in
https://github.com/firebase/firebase-ios-sdk/commit/0ec836f9ca71b27fa54a11ae9e07e60b8c5cc002
|
| |
|
|
|
|
|
|
| |
one go (#1505)
This uses the newly-added allMutationBatchesAffectingDocumentKeys to find/deserialize all such batches in one go and then reuse the batches while processing a set of keys.
|
|
|
|
|
| |
* Pod updates for Cocapods 1.5.3
* Add allMutationsAffectingDocumentKeys
|
|
|
| |
Port of https://github.com/firebase/firebase-js-sdk/pull/864
|
|
|
|
|
|
| |
* Remove usage of eager garbage collector for tracking limbo document references
* Fix style
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* Add leveldb_transaction* to the CMake build
* Use std::unique_ptr for leveldb::DB pointers
|
|/ |
|
| |
|
|
|
| |
"Unauthenticated" is presumed to mean that token is expired (which might happen if local clock is wrong) and retried, subject to the usual backoff logic.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Don't rely on specialization failure to determine when std::hash is unavailable.
Instead manually declare the conditions under which std::hash should be
defined.
* Fix detection of Objective-C classes in Xcode < 9.2
std::is_base_of<NSObject, NSString>{} is false there so the overloads
defined for Objective-C types weren't getting enabled.
* Add explicit tests for StringFormat using Objective-C objects
* Add explicit tests for HasStdHash
|
| |
|
|
|
|
|
|
|
|
| |
* Migrate FSTFail to HARD_FAIL
* FSTCFail -> HARD_FAIL
* FSTCAssert -> HARD_ASSERT
* FSTAssert -> HARD_ASSERT
* Replace FSTAssert with NSAssert in dead Objective-C code
* Remove FSTAssert.h
|
|
|
|
|
|
|
| |
* Add direct support for formatting Objective-C objects
* Rewrite log.h
* Convert FSTWarn to LOG_WARN
* Convert FSTLog to LOG_DEBUG
* Remove FSTLogger
|
|
|
|
|
|
| |
... instead of relying on HARD_ASSERTS in resource_path.cc to catch
them.
This fixes an integration test broken in #1304.
|
| |
|
|
|
|
|
|
| |
* Add HARD_ASSERT
* Use HARD_ASSERT
* Remove FIREBASE_ASSERT
* Remove StringPrintf
|
|
|
|
|
|
| |
* fix lint to run copybara
* address changes
|
| |
|
| |
|
|
|
|
|
| |
FSTDispatchQueue now doesn't contain any logic of its own and instead
just passes through all method calls to AsyncQueue (backed by an
ExecutorLibdispatch).
|
|
|
|
|
|
|
| |
FSTDispatchQueue enforces serial execution, which is inappropriate for
user queue, because a user may configure usage of a concurrent queue in
settings, breaking FSTDispatchQueue invariants. Instead, use C++
ExecutorLibdispatch directly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix order of project elements
* Add immutable container tests to the Firestore project
* Fix style problems in TransformOperations
* Method names should have an initial upper case character (except
getters/setters)
* Pointers bind to the type not the name in C++
* Fix unsigned/signed comparison warning
* Make transform_operations.h Objective-C++ only
It turns out that you can't conditionally define virtual methods. This
causes multiple versions of the vtable to be emitted and when the linker
resolves all the vtable definitions for a class it picks one arbitrarily
causing failures for callers that expect some of the conditional methods
to be present.
* Add precondition_test and field_mask_test to the project
* Add field_transform_test and transform_operations_test to the project
* Clean up missing newline/excess comments
* Use braced initialization to avoid linter false positive on std::transform
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Bump sequence number on resume token refresh
* Style
* Fix comment formatting
* Add FSTReferenceDelegate definition and documentation
* Add methods to return nil for delegates, wire up inMemoryPins
* Add hook for removing a reference
* Start work on reference delegates
* Fix up tests to support adding documents at a sequence number
* Implement removing references
* Remove from target when dropped from local view
* Fix warning
* Add hooks for removal from mutation queue
* Add hooks for limbo document updates
* Style
* Drop commented-out code
* Fixup after merging master
* Drop sequence number plumbing
* Style
* Drop errant semicolon
|
|
|
|
|
| |
Remove BasePath.Hash() Objective-C compatibility method
Make DocumentKey's hasher use BasePath's segment-based hash code.
|
| |
|
|
|
|
|
|
|
|
|
| |
* Define a Comparator for DocumentKey
* Automated migration from FSTDocumentKeySet to DocumentKeySet
* Manual fixups for DocumentKeySet
* Delete FSTDocumentKeySet
|
| |
|
| |
|
|
|
|
|
|
| |
method definition for 'filterUpdatesUsingExistingKeys:' not found
There are no abstract methods in Objective-C so the base class needs an
implementation.
|
| |
|
|
|
|
|
|
|
|
| |
* Bump sequence number on resume token refresh
* Style
* Fix comment formatting
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* remove conversions in `Local` and `Remote`
* replace `FSTSnapshotVersion` in `Model`
* replace `FSTSnapshotVersion` in the rest
* let test check equal with C++ equal
* fix newly added code
* address changes
|
|
|
|
|
|
| |
* Port the feedback from the port
* Fix comment grammar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Filter out document updates from target association changes
* Move remote-event-modifying methods onto remote event
* Style
* keep limbo docs in remote event
* Implement identification of limbo document updates
* Refactor a bit to handle removes as well
* Drop newline
* Handle synthesized limbo deletes
* Response to feedback
* Appease the style gods
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* no-brainer replace FSTSnapshotVersion by SnapshotVersion in `Remote`
* delete `FSTSnapshotVersion` in `Remote`
* fix test
* partially revert RemoteEvent
* Revert "partially revert RemoteEvent"
This reverts commit 67e35bb6c11eaf79608df8d02a60788a40331d0f.
* fix a bug
* fix integration
* address changes
|
|
|
|
|
|
|
|
|
|
|
|
| |
* no-brainer replace `FSTSnapshotVersion` with `SnapshotVersion`
* refresh code
* fix LocalStore
* fix LocalStore (partial revert 78e6c38)
* address changes
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Filter out document updates from target association changes
* Move remote-event-modifying methods onto remote event
* Style
|
| |
|