aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore
Commit message (Collapse)AuthorAge
* Implement local and server application of arrayUnion and arrayRemove ↵Gravatar Michael Lehenbauer2018-04-16
| | | | transforms. (#1101)
* Fix the build and travis change detection (#1117)Gravatar Gil2018-04-16
| | | | | | * Fix typo in main.swift * Fix change detection for Firestore in Travis
* Replace the `SnapshotOptions` object with the behavior enum. (#1109)Gravatar Gil2018-04-16
| | | | | | | | | Instead of calling `get(field, SnapshotOptions.serverTimestampBehavior(.estimate))` call `get(field, serverTimestampBehavior: .estimate)`
* Rewrite some LocalStore tests (#1114)Gravatar Greg Soltis2018-04-16
| | | | | | | | * Pull localstore tests from other branch * Fix up the couple of tests that expected the assertion * Style
* Fix iteration past end in LevelDBTransaction::Iterator (#1105)Gravatar Gil2018-04-16
| | | | | | | | | | | Change Next() to avoid advancing past the end of either iterator by only advancing if !advanced and if the iterator is still valid. If Next() is called after the last entry is deleted, SyncToTransaction() returns false indicating it hasn't advanced but at that point is_valid_ is false. Previously Next() would then attempt to advance one of the underlying iterators and if it was the mutations_iter_ would advance past the end, which would cause the next UpdateCurrent() to dereference random memory.
* Replace `QueryListenOptions` with simple booleans (#1106)Gravatar Gil2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | * Replace `QueryListenOptions` with simple booleans Instead of calling addSnapshotListener( options:QueryListenOptions.includeQueryMetadataChanges() .includeDocumentMetadataChanges()) call addSnapshotListener(includeMetadataChanges:true) Also change `QuerySnapshot.documentChanges()` into a method which optionally takes `includeMetadataChanges:true`. By default even when listening to a query with `inlcudeMetadataChanges:true` metadata-only document changes are suppressed because they're confusing. * Revert QuerySnapshot.documentChanges back to a property Add usage.
* Replace the `SetOptions` object with a simple boolean. (#1098)Gravatar Gil2018-04-15
| | | | | | | | | Instead of calling `setData(["a": "b"], options: SetOptions.merge())` call `setData(["a": "b"], merge: true)`
* Replace `DocumentListenOptions` with a simple boolean. (#1099)Gravatar Gil2018-04-14
| | | | | | | | | | | | | | * Replace `DocumentListenOptions` with a simple boolean. Instead of calling `addSnapshotListener(options: DocumentListenOptions.includeMetadataChanges(true))` call `addSnapshotListener(includeMetadataChanges:true)` * Style
* Merge pull request #1102 from firebase/release-4.13.0Gravatar Ryan Wilson2018-04-13
|\ | | | | Release 4.13.0
* | Array Transforms public API and parsingGravatar Michael Lehenbauer2018-04-13
| | | | | | | | | | This includes the new FIRFieldValue sentinels, the FSTUserDataConverter code to parse them into internal ArrayTransform operations for use in an FSTTransformMutation, and some sanity testing in FSTMutationTests. I still need to implement FSTTransformMutation support for local application and serialization (and then integration tests).
* | Remove immutable map from [FSTDatastore lookupDocuments:completion:] (#1080)Gravatar Gil2018-04-13
| |
| * Rename version 4.12.1 to 4.13 (#1092)Gravatar Paul Beusterien2018-04-13
| |
* | Port `Precondition` to C++ (#1040)Gravatar zxu2018-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * port FieldMask to C++ * address changes * address changes * fix test * address change * Port transform operations (FSTTransformOperation, FSTServerTimestampTransform) to C++ * address changes * address changes * address changes * implement `FieldTransform` in C++ * port `FieldTransform` * make `fieldTransforms` shared inside `context` * Implement Precondition in C++ w/o test yet * add unit test for `Precondition` * port `Precondition` * address changes * address changes * fix bugs for integration test * address changes * fix lint * address changes * address changes
* | Add clang-tidy checks for Firestore (#1078)Gravatar Gil2018-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a .clang-tidy configuration for Firestore C++ * Fix clang-tidy warnings * typedef -> using * const ref + rvalue ref -> pass by value * NULL -> nullptr * remove useless default initializations * remove useless const value-type parameter declarations (definitions can still use them) * use auto instead of repeating types in a cast * Fix typos * Address use of static method through instance warnings * Address use after move warnings
* | Small cleanup to UserDataConverter / FieldValue sentinel code to make adding ↵Gravatar Michael Lehenbauer2018-04-12
| | | | | | | | | | more FieldValue sentinels easier. (#1077) Port of https://github.com/firebase/firebase-js-sdk/commit/b14678002bf6e8cc9ebd7561efbafe29315ceb8e and https://github.com/firebase/firebase-js-sdk/commit/b14678002bf6e8cc9ebd7561efbafe29315ceb8e.
* | Add CMake options to build using sanitizers (#1053)Gravatar Konstantin Varlamov2018-04-12
| | | | | | Example run: `cmake -DWITH_ASAN=ON ..` (from Firestore build folder)
* | Update protos. (#1075)Gravatar Michael Lehenbauer2018-04-12
| |
* | Refactor deserialization methods (#1038)Gravatar rsgowman2018-04-11
| |
* | iOS: fix data race in FSTDispatchQueue. (#1070)Gravatar Konstantin Varlamov2018-04-11
| | | | | | | | | | | | | | | | | | | | | | operationInProgress is accessed from both the main thread and from libdispatch on some other thread. Make it atomic to avoid a data race. Also reorder assertion checks to only access operationInProgress after making sure the function is running on the queue. Tested: ran unit tests using old and new versions under Thread Sanitizer, verified that TSan reports a data race for the old version, but finds no issues with the new version.
| * Update component versions for 4.12.1Gravatar Paul Beusterien2018-04-11
| |
* | Rebuild proto artifacts from existing sources and update README.md ↵Gravatar Michael Lehenbauer2018-04-11
| | | | | | | | instructions. (#1058)
* | Make it easier to consume sub-libraries within util (#1065)Gravatar Gil2018-04-10
| |
* | Merge pull request #1067 from firebase/release-4.12.0Gravatar Paul Beusterien2018-04-10
|\| | | | | Release 4.12.0
* | Minor cleanups to firebase_assert.h (#1051)Gravatar Gil2018-04-10
| | | | | | Remove a duplicate macro definition and clean up an extra const clang-tidy complains about.
* | Port FieldTransform to C++ (#1033)Gravatar zxu2018-04-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * port FieldMask to C++ * address changes * address changes * fix test * address change * Port transform operations (FSTTransformOperation, FSTServerTimestampTransform) to C++ * address changes * address changes * address changes * implement `FieldTransform` in C++ * port `FieldTransform` * make `fieldTransforms` shared inside `context` * address changes * fix lint * address changes
* | FIREBASE_DEV_ASSERT -> FIREBASE_ASSERT within serializer.cc (#1062)Gravatar rsgowman2018-04-10
| |
* | Fix build on linux due to isnan not being present. (#1063)Gravatar rsgowman2018-04-10
| | | | | | | | Since we now include cmath rather than math.h, isnan is now named std::isnan.
* | Add lint checking for Objective-C++ sources (#1048)Gravatar Gil2018-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lint.sh now lints Objective-C++ too * cpplint checks system-style includes that should be user-style This prevents it from recognizing project sources as if they were C system headers and then complaining that they're in the wrong place. * cpplint checks #imports and #includes * cpplint checks that C++ system headers aren't #imported * cpplint checks for C system headers that could be C++ system headers * cpplint checks that Objective-C sources include their headers
* | Fix build breakage on linux (#997)Gravatar rsgowman2018-04-05
| |
* | Add error handling for serializer (for serializing case only) (#991)Gravatar rsgowman2018-04-05
| | | | | | | | | | | | | | | | Deserializing not handled yet. Note that the serializing case is fairly uninteresting, as assuming valid input is passed in, there's no real reason why it should fail (and if it does fail, it indicates a gross violation of our understanding of the system.)
* | Port transform operations to C++ (#1020)Gravatar zxu2018-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * port FieldMask to C++ * address changes * address changes * fix test * address change * Port transform operations (FSTTransformOperation, FSTServerTimestampTransform) to C++ * address changes * address changes * address changes * address change
* | port FieldMask to C++ (#998)Gravatar zxu2018-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * port FieldMask to C++ * address changes * address changes * fix test * address change * fix lint * address changes * Revert "address changes" This reverts commit c75bb42851b785ab0838bb23679f87dfad9df4bb.
| * Update component versions for 4.12.0 (#1024)Gravatar Ryan Wilson2018-04-04
|/
* Drop FSTRemoteDocumentChangeBuffer (#1013)Gravatar Greg Soltis2018-04-02
|
* Updating Firestore Changelog for v0.11.0Gravatar Sebastian Schmidt2018-04-02
|
* Add a flag to control whether DocumentSnapshots return Dates or Timestamps ↵Gravatar Konstantin Varlamov2018-03-30
| | | | | | | | for timestamp fields (#831) * add a new property `timestampsInSnapshotsEnabled` to `FirestoreSettings`, `false` by default; * add a verbose warning message urging users to opt into the new behavior; * set `timestampsInSnapshotsEnabled` to true in the integration tests to reduce the verbose console spam during the test run and make sure the flag won't break anything once it's flipped.
* Fix optimized build missing symbol issue (#1009)Gravatar Paul Beusterien2018-03-30
|
* Drop FSTWriteGroup (#986)Gravatar Greg Soltis2018-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Drop write group from remote document change buffer * Unwind some group dependendencies in local store * Write group dropped from local store * Drop write group from mutation queue tests * Drop write group usage from query cache tests * Drop write groups from remote document cache tests * Drop write groups from remote document change buffer tests * Drop write groups and the write group tracker * Style * Put the action in transaction * Merge master, fix test * Fix some compiler warnings but mostly trigger travis * Responses to feedback
* C++ migration: refactor Timestamp logic checking for overflow. (#1000)Gravatar Konstantin Varlamov2018-03-29
| | | | | Rewrite manual checks using `<chrono>` min()/max() functions and duration_cast. This is cleaner and avoids including <limits>.
* C++ migration: fix some Timestamp tests failing on Linux. (#999)Gravatar Konstantin Varlamov2018-03-29
| | | | | | | | | | | | Some Timestamp tests check that constructor fails if given values beyond the supported (pretty wide) range. In case Timestamp is created from chrono::time_point, the time_point's underlying duration is implementation-defined and may overflow when tests try to set it to a value beyond Timestamp supported range. To work around this, make these tests not run if time_point cannot represent boundary values on this platform. For example, on OS X, time_point has microseconds precision, so the tests may run, but on Linux, time_point has nanoseconds precision, which would overflow.
* Clean up usages of std::make_unique that crept in (#996)Gravatar Gil2018-03-29
| | | | | | | | * Add std::make_unique rule * Clean up usages of std::make_unique that crept in This fails to build under Xcode 8.2
* Remove unused shutdown methods (#993)Gravatar Greg Soltis2018-03-29
| | | | | | | | | | | | * Drop mutation queue shutdown * Drop query cache shutdown * Drop remote document cache shutdown * Drop local store shutdown * drop newline
* Remove some usages of FSTWriteGroup (#983)Gravatar Greg Soltis2018-03-29
| | | | | | | | | | | | | | | | | | * FSTMutationQueue no longer needs groups * Remove write group from mutation queue entirely * Remove write group from query cache * Mark groups unused in remote document cache * Drop write group entirely from remote document cache * style * Drop commented-out code * Drop commented-out code
* Initial TreeSortedMap and SortedMap in C++ (#980)Gravatar Gil2018-03-29
| | | | | | | | | | * Prepare for TreeSortedMap * Factor out SortedMapBase * Move ArraySortedMap to impl * Factor out SortedMap testing utilities * Add a minimal TreeSortedMap * Add the public SortedMap type
* Fix some formatting issues.Gravatar Bryan Klimt2018-03-27
|
* Add ObjectValue::Map alias (#967)Gravatar rsgowman2018-03-27
|
* port C++ DocumentKey to the rest of Firestore code (#977)Gravatar zxu2018-03-27
| | | | | | | | | | * port C++ DocumentKey to API's and Core's * address changes * address changes * fix Hash return types
* Only add nanopb proto headers to the -I path when depending on the nanopb ↵Gravatar rsgowman2018-03-27
| | | | | | protos. (#982) This is motivated by wanting to use libprotobuf in the project too, but it's also sensible by itself.
* C++ migration: make Timestamp class a part of public API (#944)Gravatar Konstantin Varlamov2018-03-27
| | | | | | | | | | | * move Timestamp from model/ to the root directory; * move Timestamp to top-level firebase namespace and update all references; * add conversions to and from native date types; * add a specialization of std::hash; * add comments to public member functions; * rename nanos -> nanoseconds; * add public headers, including Timestamp, to CMake; * increase test coverage.
* Merge pull request #979 from firebase/morganchen12-patch-1Gravatar Morgan Chen2018-03-26
|\ | | | | backtick-escape code block