Commit Graph
26 Commits
Author SHA1 Message Date
wu-hui ab606e002e Upgrade cmake build to grpc 162 (#12417) 2024-03-21 13:29:06 -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
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
wu-hui 0f060e101f Update auto generated header to 2023 (#10746) 2023-01-31 11:07:01 -05:00
Denver Coneybeare c0824847a4 Firestore: Remove unused annotations.proto imports (#10436) 2022-11-03 09:59:57 -04:00
cherylEnkidu 26c054832a Add protos for Or Query (#10317) 2022-10-07 12:45:28 -04:00
Denver Coneybeare 44a4c7cb0f Add protos for COUNT (#10175)
* add proto changes for COUNT

* add compiled COUNT protos

* Firestore/Protos/CMakeLists.txt: add aggregation_result.proto to PROTO_FILE_ROOTS

* fields_array.h update for new COUNT proto messages

* project.pbxproj: add new count proto files

* fields_array_test.cc added
2022-09-06 14:02:27 -04:00
wu-hui d5c336f4ca Add index.proto (#9334) 2022-02-11 12:47:38 -05:00
wu-hui f2a396d3ed Add remaining features of ordered code. (#9178)
* Add remaining features of ordered code. 

* Add FieldIndex implementation (#9209)
2022-01-21 10:35:53 -05: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
Brian Chen 44a750845d Add update_transforms protos (#7222) 2020-12-29 10:22:58 -08:00
Brian Chen 04b038eb21 add protos for != and NOT_IN (#6381) 2020-09-02 11:37:57 -05:00
Gil 1df5574c4f Upgrade gRPC-C++ to 1.28.0 (#4312)
This unblocks nanopb changes proposed in #4264.

This upgrades everything in the gRPC constellation of dependencies to match gRPC at 1.28:

  * gRPC to 1.28.0 (note that gRPC 1.28.1, while released, is a fix for just the python binding and there's no gRPC-C++ CocoaPod at that version)
  * Abseil to 20200225 (as of gRPC 1.27 this is now a gRPC dependency too; there's a later patch but gRPC doesn't use it yet)
  * Protobuf C++ to 3.11.4 (only used for testing in Firestore)
  * C-Ares to 1.15.0
  * BoringSSL to match (no change between gRPC 1.27.0 and 1.28.0)

Also, this disables CFStream-based transport on Apple platforms. This works around b/133182964, wherein CFStream will occasionally fail to raise a has-bytes-available events, causing Firestore to appear to hang.
2020-04-22 14:03:34 -07:00
Brian Chen 9313d61a21 Add verify support (#4658) 2020-01-16 09:57:38 -08:00
Sebastian Schmidt 1297e7797b Add Last Limbo Free Snapshot Version to Proto (#4469) 2019-12-09 18:38:08 -08:00
Gil 12fb9f61d2 Upgrade gRPC to 1.24.3; upgrade protobuf to 3.9.2 (#4252)
* Upgrade gRPC to 1.24.3

* Upgrade C++ Protobuf to 3.9.2

Disable -Wunreachable-code in protobuf-generated code

* Regenerate C++ protos with protobuf 3.9.2

* Generate objc protos with Protobuf 3.9.2
2019-11-07 15:23:14 -08:00
Gil 3c6721c0fe Get Windows and Linux builds to compile again (#4256)
* Rename IN to IN_ for compatibility with Windows

windows.h defines IN and INOUT macros that indicate the directionality
of parameters in the Windows API.

* Rename DeleteFile to DeleteSingleFile

This avoids a conflict with the Win32 macro, which expands to either
DeleteFileA or DeleteFileW, based on the Unicode mode of the build.

* Avoid using declarations of non-types outside classes

VS2017 doesn't accept these even though clang does.

* Avoid relying on default construction of type traits

This is a C++14 extension that VS2017 does not expose in C++11 mode.

* Add missing dependencies

* Define LevelDbPersistence::AppDataDirectory on Windows.

* Make Container a top-level type

This avoids a GCC error:

error: typedef ‘using value_type = int’ locally defined but not used [-Werror=unused-local-typedefs]

Removing value_type isn't actually possible because it is actually used,
but indirectly via template.
2019-11-07 12:02:10 -08:00
Brian Chen 2c86f3a4d7 Update protos to include IN and ARRAY_CONTAINS_ANY (#3510) 2019-08-06 13:33:16 -07:00
Brian Chen 86b09fa469 Add IN and ARRAY_CONTAINS_ANY (not publicly exposed) (#3492) 2019-08-05 11:47:06 -07:00
Gil 6af931d4e8 Migrate Firestore to the v1 protocol (#2200)
* Use python executable directly

  * python2 is not guaranteed to exist
  * scripts aren't directly executable on Windows

* Add Firestore v1 protos

* Point cmake at Firestore v1 protos

* Regenerate protobuf-related sources

* Make local protos refer to v1 protos

* fixup! Regenerate protobuf-related sources

* Remove v1beta1 protos

* s/v1beta1/v1/g in source.

* s/v1beta1/v1/ in the Xcode project

* Remove stale bug comments.

This was fixed by adding an explicit FieldPath API rather than exposing
escaping to the end user.
2018-12-21 11:28:48 -08:00
Sebastian Schmidt ab57eed6c8 Adding base_writes proto field (#2066) 2018-11-12 17:00:04 -08:00
Sebastian Schmidt b508201c2a Adding Numeric Add Proto message (#2064)
* Adding Numeric Add Proto message

* Remove trailing whitespace
2018-11-12 14:54:28 -08:00
Sebastian Schmidt 91297fdec0 Update Firestore Generated Protos (#1972) 2018-10-19 13:27:58 -07:00
rsgowman bb045a5b90 Create process to build proto sources (#1704)
* Rename nanopb/.../*.pb.c to nanopb/.../*.nanopb.c

This ensures that all generated nanopb files use the same (sub)
extension of nanopb. This matches up with nanopb's --extension
parameter (which will be enabled later in this PR.)

* Remove references to NANOPB_PROTOC_BIN

Which wasn't being used, and wasn't pointing to a valid protoc.

* Add ability to generate protos from cmake build.

Currently, it's an entirely manual process via 'generate_protos' target.
This target is not automatically run during a build.

See Firestore/Protos/build-protos.sh for expected usage.

* cleanup/update license in build-protos.sh

* Build grpc proto sources (objc only)

* Use 32bit nanopb fields (instead of 16)

To match xcode build, but also to allow google/api/annotations.proto to
compile. (A recent change to nanopb now enforces this.) This isn't
strictly necessary, since we don't make use of that proto, so we
could've simply removed it instead (and in fact, the objc protos do
exactly that) but matching the xcode build certainly seems worthwhile.

* Rebuild all proto sources

* Skip whitespace checks on protoc generated files
2018-09-04 12:26:28 -04:00
rsgowman ce61f4e0e6 Rename nanopb generated headers from foo.pb.h to foo.nanopb.h (#1371)
This avoids a collision with the libprotobuf generated files.

Also removes the "well-known" cpp protos, relying on libprotobuf to supply these instead.
2018-06-04 13:02:31 -04:00
rsgowman 6dfc142888 Adjust serializer test to verify via libprotobuf. (#1039)
Previously, the tests would compare serialization results against a
precomputed (via protoc) array of bytes. Now they serialize via our
nanopb based class and deserialize via libprotobuf (and vice versa) and
then ensure the result is the same as the input
2018-04-24 11:31:58 -04:00