aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Source
Commit message (Collapse)AuthorAge
* Move creation of FSTFilter objects to static create method on FSTFilter. (#1512)Gravatar rsgowman2018-07-11
| | | | | | | 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.)
* Expose array transforms and array contains queries. (#1514)Gravatar Michael Lehenbauer2018-07-10
| | | | | 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
* Eliminate unnecessary DocumentKey->FSTDocumentKey conversions (#1507)Gravatar Konstantin Varlamov2018-07-10
|
* In FSTLocalDocumentsView, search for all batches affecting a set of keys in ↵Gravatar Konstantin Varlamov2018-07-10
| | | | | | 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.
* Add allMutationsAffectingDocumentKeys to FSTMutationQueue (#1479)Gravatar Gil2018-07-09
| | | | | * Pod updates for Cocapods 1.5.3 * Add allMutationsAffectingDocumentKeys
* Improves "Could not reach Firestore backend." log message. (#1455)Gravatar Michael Lehenbauer2018-06-26
| | | Port of https://github.com/firebase/firebase-js-sdk/pull/864
* Remove Limbo Document GC (#1413)Gravatar Greg Soltis2018-06-20
| | | | | | * Remove usage of eager garbage collector for tracking limbo document references * Fix style
* Removing the target state on stream error (#1420)Gravatar Sebastian Schmidt2018-06-20
|
* Hookup serializer_test.cc to the xcode based test suite (#1343)Gravatar rsgowman2018-06-18
|\
| * Fix retain self warnings that crept inGravatar Marek Gilbert2018-06-15
| |
* | Minor LevelDB cleanups (#1401)Gravatar Gil2018-06-13
| | | | | | | | | | | | * Add leveldb_transaction* to the CMake build * Use std::unique_ptr for leveldb::DB pointers
* | Refactor Remote Event (#1396)Gravatar Sebastian Schmidt2018-06-12
|/
* Allowing field deletes using merge fields (#1389)Gravatar Sebastian Schmidt2018-06-07
|
* Force refresh token if RPC fails with "Unauthenticated" error (#1373)Gravatar Konstantin Varlamov2018-06-07
| | | "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.
* Fix Firestore compilation under Xcode < 9.2 (#1367)Gravatar Gil2018-06-01
| | | | | | | | | | | | | | | | * 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
* Remove nearly all usages of WrapNSStringNoCopy (#1351)Gravatar Gil2018-05-30
|
* Replace Objective-C assertions with C++ assertions (#1327)Gravatar Gil2018-05-24
| | | | | | | | * 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
* Reimplement C++ logging (#1313)Gravatar Gil2018-05-23
| | | | | | | * Add direct support for formatting Objective-C objects * Rewrite log.h * Convert FSTWarn to LOG_WARN * Convert FSTLog to LOG_DEBUG * Remove FSTLogger
* Directly validate collection and document paths (#1316)Gravatar Gil2018-05-22
| | | | | | ... instead of relying on HARD_ASSERTS in resource_path.cc to catch them. This fixes an integration test broken in #1304.
* Remove extraneous braces (#1315)Gravatar Gil2018-05-22
|
* Add a HARD_ASSERT C++ assertion macro (#1304)Gravatar Gil2018-05-22
| | | | | | * Add HARD_ASSERT * Use HARD_ASSERT * Remove FIREBASE_ASSERT * Remove StringPrintf
* fix lint to run copybara (#1290)Gravatar zxu2018-05-17
| | | | | | * fix lint to run copybara * address changes
* b/79432277: Limit Queries to only a single array-contains clause. (#1286)Gravatar Michael Lehenbauer2018-05-16
|
* Clean up implicit retain self warnings introduced recently (#1268)Gravatar Gil2018-05-13
|
* Firestore C++: make FSTDispatchQueue delegate to C++ implementation (#1240)Gravatar Konstantin Varlamov2018-05-11
| | | | | FSTDispatchQueue now doesn't contain any logic of its own and instead just passes through all method calls to AsyncQueue (backed by an ExecutorLibdispatch).
* Firestore: use C++ Executor for user queue. (#1238)Gravatar Konstantin Varlamov2018-05-10
| | | | | | | 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.
* Add missing tests to the Firestore project (#1254)Gravatar Gil2018-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Remove final vestiges of FSTSnapshotVersion (#1253)Gravatar Gil2018-05-09
|
* Backport array contains / transform improvements from Web. (#1242)Gravatar Michael Lehenbauer2018-05-08
|
* Introduce ReferenceDelegates (#1222)Gravatar Greg Soltis2018-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Make BasePath hash directly as a range (#1232)Gravatar Gil2018-05-06
| | | | | Remove BasePath.Hash() Objective-C compatibility method Make DocumentKey's hasher use BasePath's segment-based hash code.
* Migrate FSTDocumentVersionDictionary to C++ DocumentVersionMap (#1231)Gravatar Gil2018-05-05
|
* Port FSTDocumentKeySet to C++ DocumentKeySet (#1229)Gravatar Gil2018-05-05
| | | | | | | | | * Define a Comparator for DocumentKey * Automated migration from FSTDocumentKeySet to DocumentKeySet * Manual fixups for DocumentKeySet * Delete FSTDocumentKeySet
* [De]serialize DocumentKeys via the remote Serializer (#1212)Gravatar rsgowman2018-05-04
|
* Eliminate duplicate symbol in CocoaPods -all_load build (#1223)Gravatar Paul Beusterien2018-05-03
|
* Fix warning on FSTTargetMapping mentioned in #1210 (#1218)Gravatar Gil2018-05-03
| | | | | | method definition for 'filterUpdatesUsingExistingKeys:' not found There are no abstract methods in Objective-C so the base class needs an implementation.
* Fix Firestore style issue. (#1220)Gravatar Ryan Wilson2018-05-03
|
* Bump sequence numbers when receiving a new resume token (#1214)Gravatar Greg Soltis2018-05-03
| | | | | | | | * Bump sequence number on resume token refresh * Style * Fix comment formatting
* Adding mergeFields support (#1141)Gravatar Sebastian Schmidt2018-05-02
|
* Port `SnapshotVersion` for the rest Firestore modulo (#1185)Gravatar zxu2018-05-01
| | | | | | | | | | | | | | * 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 Java port (#1199)Gravatar Greg Soltis2018-04-30
| | | | | | * Port the feedback from the port * Fix comment grammar
* Identify limbo-only document updates (#1167)Gravatar Greg Soltis2018-04-25
| | | | | | | | | | | | | | | | | | | | | | * 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
* Port `SnapshotVersion` for `Remote` (#1174)Gravatar zxu2018-04-25
| | | | | | | | | | | | | | | | | | | | * 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
* Port `SnapshotVersion` for `Local` (#1182)Gravatar zxu2018-04-25
| | | | | | | | | | | | * no-brainer replace `FSTSnapshotVersion` with `SnapshotVersion` * refresh code * fix LocalStore * fix LocalStore (partial revert 78e6c38) * address changes
* Array Contains Queries (not added to public headers yet). (#1138)Gravatar Michael Lehenbauer2018-04-23
|
* Move array transforms to internal header pending backend support. (#1139)Gravatar Michael Lehenbauer2018-04-20
|
* Filter out document updates from target association changes (#1122)Gravatar Greg Soltis2018-04-20
| | | | | | | | * Filter out document updates from target association changes * Move remote-event-modifying methods onto remote event * Style
* Clean up warnings in Firestore (#1146)Gravatar Gil2018-04-19
|
* Add GetOptions for controlling offline get behaviour (#655)Gravatar rsgowman2018-04-18
| | | | Add option to allow the user to control where DocumentReference.getDocument() and CollectionReference.getDocuments() fetches from. By default, it fetches from the server (if possible) and falls back to the local cache. It's now possible to alternatively fetch from the local cache only, or to fetch from the server only (though in the server only case, latency compensation is still enabled).
* Integration tests, changelog, and minor fixes for array transforms. (#1108)Gravatar Michael Lehenbauer2018-04-17
|