Ehsan
84c8bd0e0e
Clean up and update OR query tests. ( #11826 )
2023-10-02 10:29:18 -07:00
Mila
f3c7db7845
Multiple inequality support ( #11626 )
2023-09-13 17:10:35 -04:00
Mila
a08f405428
Add test cases for existence filter with updated, removed, added documents ( #11782 )
2023-09-08 11:40:30 -04:00
Denver Coneybeare
0e3f78bf35
Firestore: FIRQueryTests.mm: Add test testBloomFilterShouldCorrectlyEncodeComplexUnicodeCharacters ( #11679 )
2023-09-07 16:05:50 -04:00
cherylEnkidu and Nick Cooke
065a5bbc74
Public Auto Persistent Index Creation API ( #11757 )
...
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
2023-09-05 17:49:43 -04:00
cherylEnkidu
c39ef8172b
Add option to allow SDK create cache indexes automatically to improve query execution locally ( #11596 )
2023-08-29 11:26:19 -04:00
Denver Coneybeare
7a59c55eba
Firestore: FIRQueryTests.mm: Replace SortedStringsNotIn() custom function ( #11649 )
2023-08-15 10:44:14 -04:00
Denver Coneybeare
a4ee260014
Firestore: Convert testing_hooks_util.h/cc from C++ to Objective-C in FSTTestingHooks.h/mm ( #11639 )
2023-08-03 17:00:59 -04:00
wu-hui
54f1b1b33c
Setup integration tests against named db ( #11638 )
...
* Make tests work against named db
* setup jobs
2023-08-02 13:14:26 -04:00
Denver Coneybeare
78b2feaeb7
Firestore: FIRQueryTests.mm: Use a different Firestore instance to delete documents ( #11615 )
2023-08-01 12:30:04 -04:00
Denver Coneybeare
013d86980f
Firestore: Disable bloom filter integration tests when using Firestore emulator ( #11555 )
2023-07-18 09:50:32 -04:00
Mila
3f5972f920
Firestore: Optimize local cache sync when resuming a query that had docs deleted ( #11457 )
2023-06-20 12:10:39 -04:00
Tom Andersen
f2194c8a3c
Allow initializing FIRLocalCacheSettings with unlimited size. ( #11405 )
...
* Allow initializing FIRLocalCacheSettings with unlimited size.
* Add changelog.
* Add test
* Fix bug
* Add import
* Add import
* Exercise db with CacheSizeUnlimited
* Fix
2023-06-07 19:53:52 -04:00
wu-hui
8066d190fc
Suppress warning from boringssl ( #11281 )
...
* Suppress warning from boringssl
* Try out target exclusion
* Skip a failed tsan test
* Add todo
2023-05-18 19:32:56 -04:00
Mark Duckworth
52ebbbf19d
Sum and average ( #11108 )
...
This is implementation but not public release of sum and average. The sum/avg API is not made public. There are no API changes in this PR.
2023-05-12 13:56:16 -06:00
Denver Coneybeare
a00925f7eb
FIRQueryTests.mm: improve the test that resumes a query with existence filter to actually validate the existence filter ( #11209 )
2023-05-05 14:58:26 -04:00
Denver Coneybeare
0c58855437
Firestore: FIRQueryTests.mm: add a test that resumes a query with existence filter ( #10974 )
2023-05-02 11:32:33 -04:00
wu-hui
7c8becdbba
New Cache Config API ( #11057 )
2023-04-13 20:52:14 -04:00
cherylEnkidu
b2383a9d3c
Reorganize OR query test ( #10902 )
...
* Reorganize OR query test
* Address comments
* Change message
2023-03-14 22:48:51 -04:00
cherylEnkidu and Ehsan Nasiri
c0e6ac1cf2
Add Public API for Or Query ( #10352 )
...
* Add Public API for Or Query
* Add Or query swift tests
* Add Swift tests for IN
* Adding back FIRFirestore+Internal as include file
* Add Documentation
* Address feedback
* Update the changelog.
---------
Co-authored-by: Ehsan Nasiri <ehsann@google.com >
2023-03-06 09:43:06 -08:00
cherylEnkidu
6d9f33435a
Remove some query restrictions and add integration tests ( #10449 )
...
* Adding test
* Remove more restrictions
2023-02-17 11:18:34 -05:00
cherylEnkidu
10295bad6b
Fix double free bug inside IN Filter ( #10535 )
2022-11-30 12:52:59 -08:00
Tom Andersen
68628ef4e3
Implement MultiDB Support and Tests ( #10465 )
2022-11-24 10:52:38 -05:00
Denver Coneybeare
92e269c34e
Fix Firestore failing to return empty results from the local cache ( #10437 )
2022-11-08 20:50:01 -05:00
cherylEnkidu
6d24463357
Update Limit and OrderBy filtering mechanism for Or Query ( #10307 )
...
* Update Limit and OrderBy filtering mechanism for Or Query
* Remove TODO
2022-10-13 10:47:51 -04:00
Denver Coneybeare
a15469ead5
Enable COUNT integration tests, now that backend support has rolled out ( #10299 )
2022-10-04 11:37:44 -04:00
Morgan Chen
5af4ae2967
Fix missing aggregate query headers in umbrella ( #10301 )
...
* Fix missing aggregate query headers in umbrella
* remove duplicate import in test
2022-10-03 19:41:40 -07:00
4232ac1d2e
Public count ( #10254 )
...
* Revert "Revert "Public count (#10246 )" (#10252 )"
This reverts commit b695d99e91 .
* Firestore: Re-write API docs for COUNT API (#10258 )
* Add isEqual and hash for aggregate classes (#10261 )
Co-authored-by: Denver Coneybeare <dconeybe@google.com >
Co-authored-by: Ehsan <ehsannas@gmail.com >
2022-09-27 18:01:22 -07:00
wu-hui
b695d99e91
Revert "Public count ( #10246 )" ( #10252 )
...
This reverts commit 8aae6bee27 .
2022-09-23 11:22:05 -04:00
wu-hui
8aae6bee27
Public count ( #10246 )
...
* Public Count
* Swift Test Commit
* Swift Format
* No extra whitespace
* Hopefully formatted.
* Change log and feedback.
2022-09-23 11:06:06 -04:00
wu-hui
84a8b5030c
Count from server ( #10193 )
...
* Proto serialization
* Wire up api
* End to end functional
* Linting
* Add aggregate source
* Fix cmake and style
* Comments, emulators and lints
* Feedback.
* More feedback.
2022-09-14 15:43:35 -07:00
cherylEnkidu
3512851cf6
Implement the Composite Filter class ( #9734 )
...
* Implement the Composite Filter class
* Polish code
* add tests for composite filter
* fix broken test
* Improve the implementation of flattern filters
* change the flatten_filters implementation with some other things
* Change the implementation of Filter in Composite Filter
* Address feedback
* Match Android Tests
2022-08-19 14:44:00 -04:00
cherylEnkidu and Wu-Hui
cc9c626501
Add setIndexConfiguration for client side indexing ( #10090 )
...
* Add setIndexConfiguration for client side indexing
* Address feedback
* Templates in headers
Co-authored-by: Wu-Hui <wu.hui.github@gmail.com >
2022-08-18 10:51:08 -04:00
wu-hui
b63819219d
Overlays integrate with mutations and queries, and migration ( #9731 )
2022-05-23 20:47:53 -04:00
wu-hui
939f1318ca
Fix a bug with limitToLast and cursors ( #9675 )
2022-04-20 13:07:26 -04:00
Nick Cooke
a09083f9d0
[v9] Reorganize FirebaseCore* modules ( #9482 )
...
* [skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`
* Reorganize FirebaseCore libraries for SPM and CP
* [skip ci] Revert "[skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`"
This reverts commit 2a837e39708c21b0a324743ab226bd6c01047de7.
* Review and fix CI
* Remove `heartbeat_logging.yml` and add `core_internal.yml`
* Remove trailing whitespace
* Fix more whitespace 😞
* Fix `core_internal.yml` scheme name
* Update `check_imports.swift` and TODO
* Review
* Add FirebaseCoreInternal pod to Firestore example's Podfile
* [skip ci] Review - remove TODOs
* [skip ci] Remove duplicate `XCTest` import
2022-03-23 06:08:14 -07:00
Paul Beusterien
6361347a22
Podspecs for CoreInternal and AppCheckInterop ( #9300 )
2022-03-23 06:08:03 -07:00
Paul Beusterien
4f793064da
Set up Core Internal for SPM ( #9298 )
2022-03-23 06:07:17 -07:00
Denver Coneybeare
04b7555228
Get rid of util and testutil namespace aliases ( #8917 )
2021-11-02 22:31:45 -04:00
wu-hui
554ad41247
Change some tests to validate against message prefix only ( #8839 )
2021-10-20 18:20:48 -07:00
Denver Coneybeare
58c7566706
Fix a Firestore transaction crash if getDocument was called after terminateWithCompletion ( #8760 )
2021-10-08 10:31:43 -04:00
Konstantin Varlamov
f243335a25
Don't define a util namespace alias in the global namespace. ( #8527 )
...
This would conflict with any definition of a `util` namespace imported from a header. While this applies to other aliases as well, `util` is the one most likely to clash and the one that has actually caused problems.
#no-changelog
2021-09-24 09:11:41 -06:00
Ehsan
d191d0e1dd
Do not consider MutableDocument's state for DocumentSnapshot comparison ( #8647 )
...
* `operator==` (isEqual) behavior for DocumentSnapshot.
* Do not consider MutableDocument's state for DocumentSnapshot comparison.
* Address comments.
* Update changelog.
* Don't compare the key twice.
2021-09-21 15:06:17 -05:00
Paul Beusterien
b64e0fc623
Fix Firestore test build on Xcode 13 ( #8575 )
2021-08-25 09:03:19 -07:00
Konstantin Varlamov
633fa5561f
Explicitly check that document and collection IDs given to the public API aren't empty ( #8248 )
...
Currently, the error would look like `Document references must have an even number of segments, but has 0`.
Fixes #8218 .
2021-06-14 18:23:11 -04:00
Konstantin Varlamov
edb839e24a
Minor error handling improvements ( #8061 )
...
* Throw more specific exceptions when the error is due to bad input (backport of cr/359824564) (note that this only applies to the Unity build);
* Always log exceptions to make sure they make it into the log (regardless of exception handling by the user and any potential issues with the exception propagation mechanism).
#no-changelog
2021-05-12 15:27:58 -04:00
wu-hui
9f36662ee8
Delete an unwanted include ( #7786 )
2021-03-25 16:04:12 -04:00
wu-hui
fbdca9590a
Release Firestore bundles ( #7717 )
...
* Introduce new bundle.proto (#7283 )
* Create leveldb "table"s for bundles (#7303 )
* Add bundle cache (#7320 )
* Bundle json parsing (#7356 )
* BundleSerializer complete. (#7454 )
* Bundles LocalStore change (#7466 )
* Implement bundle reader to parse a bundle inputstream (#7527 )
* Implement BundleLoader (#7536 )
* Add public API for bundles and integration tests (#7621 )
* Json parser as a hard copy (#7678 )
* fix asan errors (#7686 )
* Changelog entry
* Add public comments for bundles (#7694 )
* Should 7.9.0
* API amendment
2021-03-16 17:07:47 -04:00
Konstantin Varlamov
f1294cee91
Fix a crash that happens when Firestore is being terminated when the last shared pointer to it is in a listener ( #7421 )
...
If a user calls terminate and immediately disposes their reference to Firestore, it's possible that while termination is in process, the last remaining reference (more precisely, shared pointer) to Firestore is in a listener. When that listener is destroyed as part of the termination, it leads to `api::Firestore` being destroyed. Importantly, termination happens on the worker queue. The destructor of `api::Firestore` calls `Dispose` which presumes it's not called from the worker queue and tries to enqueue work, leading to a failing assertion and a crash.
The solution is simply to remove the sequential order checks when the queue enters/is in restricted mode. There is a legitimate case where the Firestore destructor can run on the worker queue, as the original issue shows. The complexity of #7412 also indicates that a simpler solution is preferable.
Fixes #6909 .
2021-02-02 19:05:45 -05:00
Konstantin Varlamov
ac04fb69df
Fix a duplicate key in test data ( #7327 )
...
This triggers the -Wobjc-dictionary-duplicate-keys warning, causing the compilation to fail when -Werror is used. Introduced in #6871 .
#no-changelog
2021-01-19 17:24:28 -05:00