aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore
Commit message (Collapse)AuthorAge
* "Handle" BatchGetDocumentsResponse.transaction (by ignoring it) (#1318)Gravatar rsgowman2018-05-28
|
* Added .podspec file for libFuzzer (#1338)Gravatar Mina Farid2018-05-28
| | | | | | | | | | | * Added .podspec file for libFuzzer * The libFuzzer pod does not include the `main()` function to allow the pod to be built independently. * Fuzzing applications must provide both the `main()` function and the `LLVMFuzzerTestOneInput` function. The `main()` function should call `fuzzer::FuzzerDriver(...)` similar to the original `FuzzerMain.cpp`. * LLVM License and authors
* Firestore project: Import of API interfaces. (#1337)Gravatar zxu2018-05-25
| | | | | | | | | | | | | | | | | | | | - 198063502 Address comment upstream. by zxu <zxu> - 197942352 Fix style upstream and fix destination depot in copybara. by zxu <zxu> - 197925542 Fix headers with change from GitHub, see the current diff... by zxu <zxu> - 197922012 Implement ListenerRegistration::Remove(). by zxu <zxu> - 197713382 Implement more on listener class and implement ListenerRe... by zxu <zxu> - 196551381 Implement more on listener class and implement the Docume... by zxu <zxu> - 196276752 Implement the SnapshotMetadata with inline methods and (n... by zxu <zxu> - 195841793 Implement the wrapper class for callback (EventListener). by zxu <zxu> - 194112388 Add Android-Wrapper for DocumentReference's non-callback ... by zxu <zxu> - 192445183 Add Android-Wrapper for Firestore's remaining methods. by zxu <zxu> - 190986604 Manually import the public portion of by mcg <mcg> - 189013767 Add Android-Wrapper for Firestore's method that does not ... by zxu <zxu> - 188809445 Import of firebase-ios-sdk from Github. by mcg <mcg> - 187049498 Import of firebase-ios-sdk from Github. by mcg <mcg> - 184568931 Import of firebase-ios-sdk from Github. by mcg <mcg> ORIGINAL_AUTHOR=Firebase <firebase-noreply> PiperOrigin-RevId: 198063502
* 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
* Fix Objective-C logging (#1322)Gravatar Gil2018-05-23
|
* Add a test synchronization script (#1303)Gravatar Gil2018-05-23
| | | | | | * Add a project sync script * Give an error if the configuration references a group that doesn't exist * Fix hard_assert_test reference * Run sync_project to sort all project elements
* Deserialize NoDocument instances (#1311)Gravatar rsgowman2018-05-23
| | | | | | Note that it isn't possible to *serialize* NoDocuments. Still TODO: - Error handling
* 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
* Add namespace alias for v1beta1 (#1310)Gravatar rsgowman2018-05-22
| | | Roughly s/google::firebase::v1beta1/v1beta1/g
* Firestore project fixes (#1301)Gravatar Gil2018-05-22
| | | | | | * Move GoogleTest.podspec out of the Tests tree * Rename GoogleTests to CoreTests * Move CoreTests to the top-level * Move FSTGoogleTestTests.mm into core/test
* [De]serialize non-empty Document instances (#1284)Gravatar rsgowman2018-05-22
| | | | | | | * [De]serialize non-empty Document instances Still TODO: - NoDocument - ErrorHandling
* fix build for Firestore copybara import (#1308)Gravatar zxu2018-05-22
| | | | | | * fix "target of using declaration conflicts with declaration already in scope" * fix "call to implicitly-deleted copy constructor of *unique_ptr*"
* Add a C++ native StringFormat (#1289)Gravatar Gil2018-05-21
| | | | * Add StringFormat * Use StringFormat
* 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
|
* Refactoring serializer.cc (#1281)Gravatar rsgowman2018-05-16
| | | | Mostly to make existing methods a bit more general to support followup PR (which will allow encoding/decoding documents with contents.)
* mergeGravatar Paul Beusterien2018-05-15
|\
* | [De]serialize empty Document instances (#1262)Gravatar rsgowman2018-05-15
| | | | | | | | | | | | | | | | | | * [De]serialize empty Document instances Still TODO: - non-empty - NoDocument - ErrorHandling
* | More macOS/static library prep (#1280)Gravatar Gil2018-05-15
| | | | | | | | | | | | | | | | | | | | * Avoid direct use of generated umbrella headers These: * don't exist in static library builds * have different names in multi-platform builds * Only iOS targets depend upon Firebase/Core
* | Prep for direct macOS support in Firestore pod (#1269)Gravatar Gil2018-05-14
| | | | | | | | | | | | | | | | | | * Add Firestore/Example/App group * Move "Example For Firestore" into App * Rename "Example For Firestore" to "iOS" * Update plist file location
* | Firestore: add a changelog entry on supporting concurrent queues. (#1274)Gravatar Konstantin Varlamov2018-05-14
| |
| * Merge pull request #1271 from firebase/pb-cp-all_load-fixGravatar Paul Beusterien2018-05-14
| |\ | | | | | | Eliminate duplicate symbol in CocoaPods -all_load build (#1223)
| * | Version updates for 5.0.1 (#1272)Gravatar Paul Beusterien2018-05-14
| | |
* | | Trivial/noop fix to the serializer (#1264)Gravatar rsgowman2018-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was using google_firestore_v1beta1_MapValue_FieldsEntry_key_tag to tag the key/value pair. (But that tag should be used for the *key* of the key/value pair, not the pair itself.) Switched to using google_firestore_v1beta1_MapValue_fields_tag. This previously worked anyways by coincidence. These two values happen to be the same. (But it caused me all sorts of confusion as I adapted this for Document contents.)
| | * Eliminate duplicate symbol in CocoaPods -all_load build (#1223)Gravatar Paul Beusterien2018-05-14
| |/
* | Clean up implicit retain self warnings introduced recently (#1268)Gravatar Gil2018-05-13
| |
* | Update travis to use CocoaPods 1.5.2 (#1103)Gravatar Paul Beusterien2018-05-13
| | | | | | | | | | | | | | | | * Update travis to use CocoaPods 1.5.2 * CODE_SIGNING_ALLOWED=YES * Remove workaround and iPhone 8 * Remove #1210 static library Podfile workaround * Add -all_load to Firestore Example so all C++ is available for tests
* | 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).
* | Refactor serializer (#1250)Gravatar rsgowman2018-05-11
| | | | | | | | | | Moved Tag, Reader, Writer from serializer.cc's anon namespace to firebase::firestore::nanopb This should be bug-for-bug compatible. No changes were made to the moved methods.
* | 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.
* | Firestore C++: quick fix for flaky tests in AsyncQueue and Executor (#1245)Gravatar Konstantin Varlamov2018-05-10
| |
* | Firestore C++: add missing tests for Executor (#1247)Gravatar Konstantin Varlamov2018-05-10
| |
* | Add remaining tests to Xcode (#1256)Gravatar Gil2018-05-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add classes in testutil and util to the project * Exclude util/iterator_adaptors_test which requires gmock * Exclude remote/serializer_test which is missing some paths * Add iterator_adaptors_test and add gmock support * Add gmock support to the GoogleTest podspec we vendor * Add iterator_adaptors_test.cc to the Xcode project * Add a script that verifies all tests are referenced in the project * Add a travis check that all tests are referenced in the project * Review feedback * Moar feedback
* | 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
| |
* | Align folders with actual test locations in the Firestore project (#1251)Gravatar Gil2018-05-09
| |
* | [De]serialize Timestamps via the remote Serializer (#1233)Gravatar rsgowman2018-05-09
| |
* | Firestore C++: in AsyncQueue, use steady_clock instead of system_clock. (#1246)Gravatar Konstantin Varlamov2018-05-09
| | | | | | | | | | This should prevent weird bugs due to system time readjustments. Because operations are scheduled relative to now, the fact that the resulting timepoint isn't in Unix epoch shouldn't matter.
* | Firestore C++: compile ExecutorLibdispatch in Objective-C++ mode (#1237)Gravatar Konstantin Varlamov2018-05-08
| | | | | | | | | | | | | | | | dispatch_queue_t is defined differently in libdispatch depending on whether the library header is being include from Objective-C (or Objective-C++) code, or else from C or C++ code. Make sure that all source files in Firestore that include executor_libdispatch.h are compiled in the same mode (Objective-C++) to avoid linker errors.
* | Backport array contains / transform improvements from Web. (#1242)Gravatar Michael Lehenbauer2018-05-08
| |
* | mergeGravatar Paul Beusterien2018-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
* | C++ migration: add AsyncQueue, the C++ version of FSTDispatchQueue (#1176)Gravatar Konstantin Varlamov2018-05-07
| | | | | | | | | | | | | | | | | | | | | | | | AsyncQueue is a queue that executes given operations asynchronously, enforcing that only a single operation is executing at any given time, and that in-progress operations don't spawn more operations. The actual execution is delegated to a platform-specific executor. Executor is an interface for a FIFO queue that executes given operations serially. Two implementations of Executor, one using libdispatch and the other using C++11 standard library, are provided. AsyncQueue is not used anywhere in the code base at this point.
* | 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
| |