diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index 9d1ccf875b0..a8ed245cc76 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -118,6 +118,7 @@ jobs: env: MINT_PATH: ${{ github.workspace }}/mint + USE_LATEST_CMAKE: false runs-on: ${{ matrix.os }} steps: @@ -142,6 +143,11 @@ jobs: with: python-version: '3.11' + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v2 + with: + cmake-version: '3.31.1' + - name: Setup build run: scripts/install_prereqs.sh Firestore ${{ runner.os }} cmake @@ -168,6 +174,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} MINT_PATH: ${{ github.workspace }}/mint TARGET_DATABASE_ID: ${{ matrix.databaseId }} + USE_LATEST_CMAKE: false runs-on: ${{ matrix.os }} steps: @@ -230,6 +237,11 @@ jobs: GOOGLE_APPLICATION_CREDENTIALS: ../google-service-account.json continue-on-error: true + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v2 + with: + cmake-version: '3.31.1' + - name: Setup build run: scripts/install_prereqs.sh Firestore ${{ runner.os }} cmake @@ -255,6 +267,7 @@ jobs: env: SANITIZERS: ${{ matrix.sanitizer }} + USE_LATEST_CMAKE: false steps: - uses: actions/checkout@v4 @@ -271,6 +284,11 @@ jobs: with: python-version: '3.11' + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v2 + with: + cmake-version: '3.31.1' + - name: Setup build run: scripts/install_prereqs.sh Firestore ${{ runner.os }} cmake @@ -301,6 +319,7 @@ jobs: env: SANITIZERS: ${{ matrix.sanitizer }} ASAN_OPTIONS: detect_leaks=0 + USE_LATEST_CMAKE: false steps: - uses: actions/checkout@v3 @@ -317,6 +336,11 @@ jobs: with: python-version: '3.11' + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v2 + with: + cmake-version: '3.31.1' + - name: Setup build run: scripts/install_prereqs.sh Firestore ${{ runner.os }} cmake diff --git a/FirebaseFirestoreInternal/FirebaseFirestore/FIRPipelineBridge.h b/FirebaseFirestoreInternal/FirebaseFirestore/FIRPipelineBridge.h new file mode 100644 index 00000000000..35e39ab7904 --- /dev/null +++ b/FirebaseFirestoreInternal/FirebaseFirestore/FIRPipelineBridge.h @@ -0,0 +1,17 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import diff --git a/Firestore/CHANGELOG.md b/Firestore/CHANGELOG.md index bcb63c64c11..be06d99f4ab 100644 --- a/Firestore/CHANGELOG.md +++ b/Firestore/CHANGELOG.md @@ -1,3 +1,6 @@ +# Unreleased +- [feature] Add `Pipeline` support. + # 11.12.0 - [fixed] Fixed the `null` value handling in `isNotEqualTo` and `notIn` filters. diff --git a/Firestore/Example/Firestore.xcodeproj/project.pbxproj b/Firestore/Example/Firestore.xcodeproj/project.pbxproj index 8deefcabab8..1146b8a5dde 100644 --- a/Firestore/Example/Firestore.xcodeproj/project.pbxproj +++ b/Firestore/Example/Firestore.xcodeproj/project.pbxproj @@ -104,6 +104,7 @@ 0E17927CE45F5E3FC6691E24 /* firebase_auth_credentials_provider_test.mm in Sources */ = {isa = PBXBuildFile; fileRef = F869D85E900E5AF6CD02E2FC /* firebase_auth_credentials_provider_test.mm */; }; 0E4C94369FFF7EC0C9229752 /* iterator_adaptors_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54A0353420A3D8CB003E0143 /* iterator_adaptors_test.cc */; }; 0E4F266A9FDF55CD38BB6D0F /* leveldb_query_engine_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = DB1F1E1B1ED15E8D042144B1 /* leveldb_query_engine_test.cc */; }; + 0E7A39BD9C87CC33F91A672F /* explain_stats.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 682582E5728F3F1C531990EA /* explain_stats.pb.cc */; }; 0EA40EDACC28F445F9A3F32F /* pretty_printing_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = AB323F9553050F4F6490F9FF /* pretty_printing_test.cc */; }; 0EC3921AE220410F7394729B /* aggregation_result.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = D872D754B8AD88E28AF28B28 /* aggregation_result.pb.cc */; }; 0EDFC8A6593477E1D17CDD8F /* leveldb_bundle_cache_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8E9CD82E60893DDD7757B798 /* leveldb_bundle_cache_test.cc */; }; @@ -126,6 +127,9 @@ 11F8EE69182C9699E90A9E3D /* database_info_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = AB38D92E20235D22000A432D /* database_info_test.cc */; }; 12158DFCEE09D24B7988A340 /* maybe_document.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 618BBE7E20B89AAC00B5BCE7 /* maybe_document.pb.cc */; }; 121F0FB9DCCBFB7573C7AF48 /* bundle_serializer_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B5C2A94EE24E60543F62CC35 /* bundle_serializer_test.cc */; }; + 12260A2A2D56A3CE001766EB /* PipelineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12260A292D56A3CE001766EB /* PipelineTests.swift */; }; + 12260A2B2D56A3CE001766EB /* PipelineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12260A292D56A3CE001766EB /* PipelineTests.swift */; }; + 12260A2C2D56A3CE001766EB /* PipelineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12260A292D56A3CE001766EB /* PipelineTests.swift */; }; 124AAEE987451820F24EEA8E /* user_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = CCC9BD953F121B9E29F9AA42 /* user_test.cc */; }; 125B1048ECB755C2106802EB /* executor_std_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B6FB4687208F9B9100554BA2 /* executor_std_test.cc */; }; 1290FA77A922B76503AE407C /* lru_garbage_collector_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 277EAACC4DD7C21332E8496A /* lru_garbage_collector_test.cc */; }; @@ -229,6 +233,7 @@ 1F4930A8366F74288121F627 /* create_noop_connectivity_monitor.cc in Sources */ = {isa = PBXBuildFile; fileRef = CF39535F2C41AB0006FA6C0E /* create_noop_connectivity_monitor.cc */; }; 1F56F51EB6DF0951B1F4F85B /* lru_garbage_collector_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 277EAACC4DD7C21332E8496A /* lru_garbage_collector_test.cc */; }; 1F998DDECB54A66222CC66AA /* string_format_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54131E9620ADE678001DF3FF /* string_format_test.cc */; }; + 1F9FFAE375C88EFF88CBB6F8 /* field_behavior.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */; }; 1FE23E911F0761AA896FAD67 /* Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json in Resources */ = {isa = PBXBuildFile; fileRef = D8E530B27D5641B9C26A452C /* Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json */; }; 2045517602D767BD01EA71D9 /* overlay_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = E1459FA70B8FC18DE4B80D0D /* overlay_test.cc */; }; 205601D1C6A40A4DD3BBAA04 /* target_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 526D755F65AC676234F57125 /* target_test.cc */; }; @@ -295,6 +300,7 @@ 2A86AB04B38DBB770A1D8B13 /* Validation_BloomFilterTest_MD5_1_1_membership_test_result.json in Resources */ = {isa = PBXBuildFile; fileRef = 3369AC938F82A70685C5ED58 /* Validation_BloomFilterTest_MD5_1_1_membership_test_result.json */; }; 2AAEABFD550255271E3BAC91 /* to_string_apple_test.mm in Sources */ = {isa = PBXBuildFile; fileRef = B68B1E002213A764008977EF /* to_string_apple_test.mm */; }; 2ABA80088D70E7A58F95F7D8 /* delayed_constructor_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = D0A6E9136804A41CEC9D55D4 /* delayed_constructor_test.cc */; }; + 2AD2CB51469AE35331C39258 /* pipeline.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */; }; 2AD8EE91928AE68DF268BEDA /* limbo_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 54DA129E1F315EE100DD57A1 /* limbo_spec_test.json */; }; 2AD98CD29CC6F820A74CDD5E /* Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json in Resources */ = {isa = PBXBuildFile; fileRef = 4B59C0A7B2A4548496ED4E7D /* Validation_BloomFilterTest_MD5_1_0001_bloom_filter_proto.json */; }; 2AE3914BBC4EDF91BD852939 /* memory_query_engine_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6A33BC2D84233C355F1D0 /* memory_query_engine_test.cc */; }; @@ -342,6 +348,7 @@ 32F022CB75AEE48CDDAF2982 /* mutation_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = C8522DE226C467C54E6788D8 /* mutation_test.cc */; }; 32F8B4652010E8224E353041 /* persistence_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 54DA12A31F315EE100DD57A1 /* persistence_spec_test.json */; }; 330DE2A5AE6AF8D66C9C849F /* Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json in Resources */ = {isa = PBXBuildFile; fileRef = C8582DFD74E8060C7072104B /* Validation_BloomFilterTest_MD5_5000_0001_membership_test_result.json */; }; + 332E7D2D8489E6DA42947C59 /* field_behavior.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */; }; 336E415DD06E719F9C9E2A14 /* grpc_stream_tester.cc in Sources */ = {isa = PBXBuildFile; fileRef = 87553338E42B8ECA05BA987E /* grpc_stream_tester.cc */; }; 338DFD5BCD142DF6C82A0D56 /* cc_compilation_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1B342370EAE3AA02393E33EB /* cc_compilation_test.cc */; }; 339CFFD1323BDCA61EAAFE31 /* query_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B9C261C26C5D311E1E3C0CB9 /* query_test.cc */; }; @@ -392,6 +399,7 @@ 3B256CCF6AEEE12E22F16BB8 /* hashing_test_apple.mm in Sources */ = {isa = PBXBuildFile; fileRef = B69CF3F02227386500B281C8 /* hashing_test_apple.mm */; }; 3B37BD3C13A66625EC82CF77 /* hard_assert_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 444B7AB3F5A2929070CB1363 /* hard_assert_test.cc */; }; 3B47CC43DBA24434E215B8ED /* memory_index_manager_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = DB5A1E760451189DA36028B3 /* memory_index_manager_test.cc */; }; + 3B4CFB45208A7EEF1EA58ADC /* pipeline.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */; }; 3B5CEA04AC1627256A1AE8BA /* bloom_filter_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = A2E6F09AD1EE0A6A452E9A08 /* bloom_filter_test.cc */; }; 3B843E4C1F3A182900548890 /* remote_store_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 3B843E4A1F3930A400548890 /* remote_store_spec_test.json */; }; 3BA4EEA6153B3833F86B8104 /* writer_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = BC3C788D290A935C353CEAA1 /* writer_test.cc */; }; @@ -515,6 +523,7 @@ 50454F81EC4584D4EB5F5ED5 /* serializer_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 61F72C5520BC48FD001A68CB /* serializer_test.cc */; }; 50B749CA98365368AE34B71C /* filter_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = F02F734F272C3C70D1307076 /* filter_test.cc */; }; 50C852E08626CFA7DC889EEA /* field_index_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = BF76A8DA34B5B67B4DD74666 /* field_index_test.cc */; }; + 50EA1F41D766C92894E9B078 /* explain_stats.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 682582E5728F3F1C531990EA /* explain_stats.pb.cc */; }; 51018EA27CF914DD1CC79CB3 /* thread_safe_memoizer_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1A8141230C7E3986EACEF0B6 /* thread_safe_memoizer_test.cc */; }; 513D34C9964E8C60C5C2EE1C /* leveldb_bundle_cache_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8E9CD82E60893DDD7757B798 /* leveldb_bundle_cache_test.cc */; }; 5150E9F256E6E82D6F3CB3F1 /* bundle_cache_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = F7FC06E0A47D393DE1759AE1 /* bundle_cache_test.cc */; }; @@ -783,6 +792,7 @@ 66DFEA9E324797E6EA81CBA9 /* perf_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = D5B2593BCB52957D62F1C9D3 /* perf_spec_test.json */; }; 66FAB8EAC012A3822BD4D0C9 /* leveldb_util_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 332485C4DCC6BA0DBB5E31B7 /* leveldb_util_test.cc */; }; 6711E75A10EBA662341F5C9D /* leveldb_document_overlay_cache_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = AE89CFF09C6804573841397F /* leveldb_document_overlay_cache_test.cc */; }; + 676933F59F2F0A0D221A4F8F /* explain_stats.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 682582E5728F3F1C531990EA /* explain_stats.pb.cc */; }; 677C833244550767B71DB1BA /* log_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54C2294E1FECABAE007D065B /* log_test.cc */; }; 67B8C34BDF0FFD7532D7BE4F /* Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json in Resources */ = {isa = PBXBuildFile; fileRef = 478DC75A0DCA6249A616DD30 /* Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json */; }; 67BC2B77C1CC47388E79D774 /* FIRSnapshotMetadataTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E04D202154AA00B64F25 /* FIRSnapshotMetadataTests.mm */; }; @@ -840,6 +850,7 @@ 6FF2B680CC8631B06C7BD7AB /* FSTMemorySpecTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E02F20213FFC00B64F25 /* FSTMemorySpecTests.mm */; }; 70A171FC43BE328767D1B243 /* path_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 403DBF6EFB541DFD01582AA3 /* path_test.cc */; }; 70AB665EB6A473FF6C4CFD31 /* CodableTimestampTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B65C996438B84DBC7616640 /* CodableTimestampTests.swift */; }; + 715A0E92C83AE4384A13B882 /* pipeline.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */; }; 716289F99B5316B3CC5E5CE9 /* FIRSnapshotMetadataTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E04D202154AA00B64F25 /* FIRSnapshotMetadataTests.mm */; }; 71702588BFBF5D3A670508E7 /* ordered_code_benchmark.cc in Sources */ = {isa = PBXBuildFile; fileRef = 0473AFFF5567E667A125347B /* ordered_code_benchmark.cc */; }; 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; }; @@ -861,6 +872,7 @@ 73E42D984FB36173A2BDA57C /* FSTEventAccumulator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E0392021401F00B64F25 /* FSTEventAccumulator.mm */; }; 73FE5066020EF9B2892C86BF /* hard_assert_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 444B7AB3F5A2929070CB1363 /* hard_assert_test.cc */; }; 743DF2DF38CE289F13F44043 /* status_testing.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3CAA33F964042646FDDAF9F9 /* status_testing.cc */; }; + 7492C447277CDC8CB7A165CB /* explain_stats.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 682582E5728F3F1C531990EA /* explain_stats.pb.cc */; }; 7495E3BAE536CD839EE20F31 /* FSTLevelDBSpecTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E02C20213FFB00B64F25 /* FSTLevelDBSpecTests.mm */; }; 74985DE2C7EF4150D7A455FD /* statusor_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54A0352D20A3B3D7003E0143 /* statusor_test.cc */; }; 74A63A931F834D1D6CF3BA9A /* Validation_BloomFilterTest_MD5_1_1_membership_test_result.json in Resources */ = {isa = PBXBuildFile; fileRef = 3369AC938F82A70685C5ED58 /* Validation_BloomFilterTest_MD5_1_1_membership_test_result.json */; }; @@ -972,6 +984,7 @@ 8683BBC3AC7B01937606A83B /* firestore.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 544129D421C2DDC800EFB9CC /* firestore.pb.cc */; }; 86B413EC49E3BBBEBF1FB7A0 /* Validation_BloomFilterTest_MD5_500_1_membership_test_result.json in Resources */ = {isa = PBXBuildFile; fileRef = 8AB49283E544497A9C5A0E59 /* Validation_BloomFilterTest_MD5_500_1_membership_test_result.json */; }; 86E6FC2B7657C35B342E1436 /* sorted_map_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 549CCA4E20A36DBB00BCEB75 /* sorted_map_test.cc */; }; + 86E73F6286E87834CF37D5D9 /* field_behavior.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */; }; 8705C4856498F66E471A0997 /* FIRWriteBatchTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E06F202154D600B64F25 /* FIRWriteBatchTests.mm */; }; 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; }; 8778C1711059598070F86D3C /* leveldb_globals_cache_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = FC44D934D4A52C790659C8D6 /* leveldb_globals_cache_test.cc */; }; @@ -1006,6 +1019,7 @@ 8F3AE423677A4C50F7E0E5C0 /* database_info_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = AB38D92E20235D22000A432D /* database_info_test.cc */; }; 8F4F40E9BC7ED588F67734D5 /* app_testing.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5467FB07203E6A44009C9584 /* app_testing.mm */; }; 8F781F527ED72DC6C123689E /* autoid_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54740A521FC913E500713A1A /* autoid_test.cc */; }; + 8FE63980976481EBA001B789 /* explain_stats.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 682582E5728F3F1C531990EA /* explain_stats.pb.cc */; }; 9009C285F418EA80C46CF06B /* fake_target_metadata_provider.cc in Sources */ = {isa = PBXBuildFile; fileRef = 71140E5D09C6E76F7C71B2FC /* fake_target_metadata_provider.cc */; }; 900D0E9F18CE3DB954DD0D1E /* async_queue_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B6FB467B208E9A8200554BA2 /* async_queue_test.cc */; }; 9012B0E121B99B9C7E54160B /* query_engine_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B8A853940305237AFDA8050B /* query_engine_test.cc */; }; @@ -1024,6 +1038,7 @@ 920B6ABF76FDB3547F1CCD84 /* firestore.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 544129D421C2DDC800EFB9CC /* firestore.pb.cc */; }; 9236478E01DF2EC7DF58B1FC /* index_backfiller_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1F50E872B3F117A674DA8E94 /* index_backfiller_test.cc */; }; 925BE64990449E93242A00A2 /* memory_mutation_queue_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 74FBEFA4FE4B12C435011763 /* memory_mutation_queue_test.cc */; }; + 92B593DCD86543D8C90F64F9 /* pipeline.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */; }; 92D7081085679497DC112EDB /* persistence_testing.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9113B6F513D0473AEABBAF1F /* persistence_testing.cc */; }; 92EFF0CC2993B43CBC7A61FF /* grpc_streaming_reader_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B6D964922154AB8F00EB9CFB /* grpc_streaming_reader_test.cc */; }; 9382BE7190E7750EE7CCCE7C /* write_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 54DA12A51F315EE100DD57A1 /* write_spec_test.json */; }; @@ -1070,6 +1085,7 @@ 9C366448F9BA7A4AC0821AF7 /* bundle_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 79EAA9F7B1B9592B5F053923 /* bundle_spec_test.json */; }; 9C86EEDEA131BFD50255EEF1 /* comparison_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 548DB928200D59F600E00ABC /* comparison_test.cc */; }; 9CC32ACF397022BB7DF11B52 /* Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json in Resources */ = {isa = PBXBuildFile; fileRef = D22D4C211AC32E4F8B4883DA /* Validation_BloomFilterTest_MD5_500_0001_bloom_filter_proto.json */; }; + 9CD1E9301EC44ED10DAEA5FB /* pipeline.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */; }; 9CE07BAAD3D3BC5F069D38FE /* grpc_streaming_reader_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B6D964922154AB8F00EB9CFB /* grpc_streaming_reader_test.cc */; }; 9CFF379C7404F7CE6B26AF29 /* listen_source_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 4D9E51DA7A275D8B1CAEAEB2 /* listen_source_spec_test.json */; }; 9D71628E38D9F64C965DF29E /* FSTAPIHelpers.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E04E202154AA00B64F25 /* FSTAPIHelpers.mm */; }; @@ -1105,6 +1121,7 @@ A4AD189BDEF7A609953457A6 /* leveldb_key_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 54995F6E205B6E12004EFFA0 /* leveldb_key_test.cc */; }; A4ECA8335000CBDF94586C94 /* FSTDatastoreTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E07E202154EC00B64F25 /* FSTDatastoreTests.mm */; }; A5175CA2E677E13CC5F23D72 /* document_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = AB6B908320322E4D00CC290A /* document_test.cc */; }; + A5301AA55748A11801E3EE47 /* field_behavior.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */; }; A55266E6C986251D283CE948 /* FIRCursorTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E070202154D600B64F25 /* FIRCursorTests.mm */; }; A5583822218F9D5B1E86FCAC /* overlay_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = E1459FA70B8FC18DE4B80D0D /* overlay_test.cc */; }; A57EC303CD2D6AA4F4745551 /* FIRFieldValueTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E04A202154AA00B64F25 /* FIRFieldValueTests.mm */; }; @@ -1194,6 +1211,7 @@ B220E091D8F4E6DE1EA44F57 /* executor_libdispatch_test.mm in Sources */ = {isa = PBXBuildFile; fileRef = B6FB4689208F9B9100554BA2 /* executor_libdispatch_test.mm */; }; B235E260EA0DCB7BAC04F69B /* field_path_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B686F2AD2023DDB20028D6BE /* field_path_test.cc */; }; B2554A2BA211D10823646DBE /* Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json in Resources */ = {isa = PBXBuildFile; fileRef = 4BD051DBE754950FEAC7A446 /* Validation_BloomFilterTest_MD5_500_01_bloom_filter_proto.json */; }; + B280370F84393808250B28BC /* explain_stats.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 682582E5728F3F1C531990EA /* explain_stats.pb.cc */; }; B28ACC69EB1F232AE612E77B /* async_testing.cc in Sources */ = {isa = PBXBuildFile; fileRef = 872C92ABD71B12784A1C5520 /* async_testing.cc */; }; B2A9965ED0114E39A911FD09 /* Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json in Resources */ = {isa = PBXBuildFile; fileRef = 4375BDCDBCA9938C7F086730 /* Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json */; }; B31B5E0D4EA72C5916CC71F5 /* thread_safe_memoizer_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1A8141230C7E3986EACEF0B6 /* thread_safe_memoizer_test.cc */; }; @@ -1419,6 +1437,7 @@ D73BBA4AB42940AB187169E3 /* listen_spec_test.json in Resources */ = {isa = PBXBuildFile; fileRef = 54DA12A01F315EE100DD57A1 /* listen_spec_test.json */; }; D756A1A63E626572EE8DF592 /* firestore.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 544129D421C2DDC800EFB9CC /* firestore.pb.cc */; }; D77941FD93DBE862AEF1F623 /* FSTTransactionTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E07B202154EB00B64F25 /* FSTTransactionTests.mm */; }; + D8F427680C3165DCD1A6BA2A /* field_behavior.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */; }; D91D86B29B86A60C05879A48 /* timestamp_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = ABF6506B201131F8005F2C74 /* timestamp_test.cc */; }; D928302820891CCCAD0437DD /* thread_safe_memoizer_testing.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6E42FA109D363EA7F3387AAE /* thread_safe_memoizer_testing.cc */; }; D9366A834BFF13246DC3AF9E /* field_path_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B686F2AD2023DDB20028D6BE /* field_path_test.cc */; }; @@ -1454,6 +1473,7 @@ DD6C480629B3F87933FAF440 /* filesystem_testing.cc in Sources */ = {isa = PBXBuildFile; fileRef = BA02DA2FCD0001CFC6EB08DA /* filesystem_testing.cc */; }; DD935E243A64A4EB688E4C1C /* credentials_provider_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 2F4FA4576525144C5069A7A5 /* credentials_provider_test.cc */; }; DD941BF189E38312E7A2CB21 /* Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json in Resources */ = {isa = PBXBuildFile; fileRef = D8E530B27D5641B9C26A452C /* Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json */; }; + DDABEDF95A5B44E590064EF7 /* field_behavior.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */; }; DDD219222EEE13E3F9F2C703 /* leveldb_transaction_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 88CF09277CFA45EE1273E3BA /* leveldb_transaction_test.cc */; }; DDDE74C752E65DE7D39A7166 /* view_testing.cc in Sources */ = {isa = PBXBuildFile; fileRef = A5466E7809AD2871FFDE6C76 /* view_testing.cc */; }; DE03B2D41F2149D600A30B9C /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F5AF195388D20070C39A /* XCTest.framework */; }; @@ -1601,6 +1621,7 @@ F58A23FEF328EB74F681FE83 /* index_manager_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = AE4A9E38D65688EE000EE2A1 /* index_manager_test.cc */; }; F5A654E92FF6F3FF16B93E6B /* mutation_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = C8522DE226C467C54E6788D8 /* mutation_test.cc */; }; F5B1F219E912F645FB79D08E /* firebase_app_check_credentials_provider_test.mm in Sources */ = {isa = PBXBuildFile; fileRef = F119BDDF2F06B3C0883B8297 /* firebase_app_check_credentials_provider_test.mm */; }; + F5BA649242983E2E54345BDD /* pipeline.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */; }; F5BDECEB3B43BD1591EEADBD /* FSTUserDataReaderTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8D9892F204959C50613F16C8 /* FSTUserDataReaderTests.mm */; }; F6079BFC9460B190DA85C2E6 /* pretty_printing_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = AB323F9553050F4F6490F9FF /* pretty_printing_test.cc */; }; F609600E9A88A4D44FD1FCEB /* FSTSpecTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5492E03020213FFC00B64F25 /* FSTSpecTests.mm */; }; @@ -1717,6 +1738,7 @@ 0D964D4936953635AC7E0834 /* Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_bloom_filter_proto.json; sourceTree = ""; }; 0EE5300F8233D14025EF0456 /* string_apple_test.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; path = string_apple_test.mm; sourceTree = ""; }; 11984BA0A99D7A7ABA5B0D90 /* Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS/Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS.release.xcconfig"; sourceTree = ""; }; + 12260A292D56A3CE001766EB /* PipelineTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PipelineTests.swift; sourceTree = ""; }; 1235769122B7E915007DDFA9 /* EncodableFieldValueTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncodableFieldValueTests.swift; sourceTree = ""; }; 1235769422B86E65007DDFA9 /* FirestoreEncoderTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FirestoreEncoderTests.swift; sourceTree = ""; }; 124C932B22C1642C00CA8C2D /* CodableIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodableIntegrationTests.swift; sourceTree = ""; }; @@ -1729,6 +1751,7 @@ 1A8141230C7E3986EACEF0B6 /* thread_safe_memoizer_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = thread_safe_memoizer_test.cc; sourceTree = ""; }; 1B342370EAE3AA02393E33EB /* cc_compilation_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = cc_compilation_test.cc; path = api/cc_compilation_test.cc; sourceTree = ""; }; 1B9F95EC29FAD3F100EEC075 /* FIRAggregateQueryUnitTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FIRAggregateQueryUnitTests.mm; sourceTree = ""; }; + 1BAFC713D2B1A2DBD55B2593 /* field_behavior.pb.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = field_behavior.pb.h; sourceTree = ""; }; 1C01D8CE367C56BB2624E299 /* index.pb.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = index.pb.h; path = admin/index.pb.h; sourceTree = ""; }; 1C3F7302BF4AE6CBC00ECDD0 /* resource.pb.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = resource.pb.cc; sourceTree = ""; }; 1CA9800A53669EFBFFB824E3 /* memory_remote_document_cache_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = memory_remote_document_cache_test.cc; sourceTree = ""; }; @@ -1736,6 +1759,7 @@ 1F50E872B3F117A674DA8E94 /* index_backfiller_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = index_backfiller_test.cc; sourceTree = ""; }; 214877F52A705012D6720CA0 /* object_value_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = object_value_test.cc; sourceTree = ""; }; 2220F583583EFC28DE792ABE /* Pods_Firestore_IntegrationTests_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Firestore_IntegrationTests_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2258E6EBCFB8E8B1693C1347 /* explain_stats.pb.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = explain_stats.pb.h; sourceTree = ""; }; 2286F308EFB0534B1BDE05B9 /* memory_target_cache_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = memory_target_cache_test.cc; sourceTree = ""; }; 26DDBA115DEB88631B93F203 /* thread_safe_memoizer_testing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = thread_safe_memoizer_testing.h; sourceTree = ""; }; 277EAACC4DD7C21332E8496A /* lru_garbage_collector_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = lru_garbage_collector_test.cc; sourceTree = ""; }; @@ -1777,7 +1801,7 @@ 4334F87873015E3763954578 /* status_testing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = status_testing.h; sourceTree = ""; }; 4375BDCDBCA9938C7F086730 /* Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_1_bloom_filter_proto.json; sourceTree = ""; }; 444B7AB3F5A2929070CB1363 /* hard_assert_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = hard_assert_test.cc; sourceTree = ""; }; - 4564AD9C55EC39C080EB9476 /* globals_cache_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; path = globals_cache_test.cc; sourceTree = ""; }; + 4564AD9C55EC39C080EB9476 /* globals_cache_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = globals_cache_test.cc; sourceTree = ""; }; 478DC75A0DCA6249A616DD30 /* Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_0001_membership_test_result.json; sourceTree = ""; }; 48D0915834C3D234E5A875A9 /* grpc_stream_tester.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = grpc_stream_tester.h; sourceTree = ""; }; 4B3E4A77493524333133C5DC /* Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_1_bloom_filter_proto.json; sourceTree = ""; }; @@ -1895,7 +1919,7 @@ 5B5414D28802BC76FDADABD6 /* stream_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = stream_test.cc; sourceTree = ""; }; 5B96CC29E9946508F022859C /* Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_50000_0001_membership_test_result.json; sourceTree = ""; }; 5C68EE4CB94C0DD6E333F546 /* Validation_BloomFilterTest_MD5_1_01_membership_test_result.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_1_01_membership_test_result.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_1_01_membership_test_result.json; sourceTree = ""; }; - 5C6DEA63FBDE19D841291723 /* memory_globals_cache_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; path = memory_globals_cache_test.cc; sourceTree = ""; }; + 5C6DEA63FBDE19D841291723 /* memory_globals_cache_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = memory_globals_cache_test.cc; sourceTree = ""; }; 5C7942B6244F4C416B11B86C /* leveldb_mutation_queue_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = leveldb_mutation_queue_test.cc; sourceTree = ""; }; 5CAE131920FFFED600BE9A4A /* Firestore_Benchmarks_iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Firestore_Benchmarks_iOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 5CAE131D20FFFED600BE9A4A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -1942,6 +1966,7 @@ 64AA92CFA356A2360F3C5646 /* filesystem_testing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = filesystem_testing.h; sourceTree = ""; }; 65AF0AB593C3AD81A1F1A57E /* FIRCompositeIndexQueryTests.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; path = FIRCompositeIndexQueryTests.mm; sourceTree = ""; }; 67786C62C76A740AEDBD8CD3 /* FSTTestingHooks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FSTTestingHooks.h; sourceTree = ""; }; + 682582E5728F3F1C531990EA /* explain_stats.pb.cc */ = {isa = PBXFileReference; includeInIndex = 1; path = explain_stats.pb.cc; sourceTree = ""; }; 69E6C311558EC77729A16CF1 /* Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS/Pods-Firestore_Example_iOS-Firestore_SwiftTests_iOS.debug.xcconfig"; sourceTree = ""; }; 6A7A30A2DB3367E08939E789 /* bloom_filter.pb.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = bloom_filter.pb.h; sourceTree = ""; }; 6AE927CDFC7A72BF825BE4CB /* Pods-Firestore_Tests_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_Tests_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_Tests_tvOS/Pods-Firestore_Tests_tvOS.release.xcconfig"; sourceTree = ""; }; @@ -1958,6 +1983,7 @@ 6F57521E161450FAF89075ED /* event_manager_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = event_manager_test.cc; sourceTree = ""; }; 6F5B6C1399F92FD60F2C582B /* nanopb_util_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = nanopb_util_test.cc; path = nanopb/nanopb_util_test.cc; sourceTree = ""; }; 71140E5D09C6E76F7C71B2FC /* fake_target_metadata_provider.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = fake_target_metadata_provider.cc; sourceTree = ""; }; + 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */ = {isa = PBXFileReference; includeInIndex = 1; path = pipeline.pb.cc; sourceTree = ""; }; 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 728F617782600536F2561463 /* Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_5000_0001_bloom_filter_proto.json; sourceTree = ""; }; 731541602214AFFA0037F4DC /* query_spec_test.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = query_spec_test.json; sourceTree = ""; }; @@ -2094,6 +2120,7 @@ D85AC18C55650ED230A71B82 /* FSTTestingHooks.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; path = FSTTestingHooks.mm; sourceTree = ""; }; D872D754B8AD88E28AF28B28 /* aggregation_result.pb.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = aggregation_result.pb.cc; sourceTree = ""; }; D8A6D52723B1BABE1B7B8D8F /* leveldb_overlay_migration_manager_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = leveldb_overlay_migration_manager_test.cc; sourceTree = ""; }; + D8DAE1269481D15A291E0B49 /* pipeline.pb.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pipeline.pb.h; sourceTree = ""; }; D8E530B27D5641B9C26A452C /* Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.json; name = Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json; path = bloom_filter_golden_test_data/Validation_BloomFilterTest_MD5_500_1_bloom_filter_proto.json; sourceTree = ""; }; D9D94300B9C02F7069523C00 /* leveldb_snappy_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = leveldb_snappy_test.cc; sourceTree = ""; }; DAFF0CF521E64AC30062958F /* Firestore_Example_macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Firestore_Example_macOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -2141,6 +2168,7 @@ F848C41C03A25C42AD5A4BC2 /* target_cache_test.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = target_cache_test.h; sourceTree = ""; }; F869D85E900E5AF6CD02E2FC /* firebase_auth_credentials_provider_test.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = firebase_auth_credentials_provider_test.mm; path = credentials/firebase_auth_credentials_provider_test.mm; sourceTree = ""; }; FA2E9952BA2B299C1156C43C /* Pods-Firestore_Benchmarks_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_Benchmarks_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_Benchmarks_iOS/Pods-Firestore_Benchmarks_iOS.debug.xcconfig"; sourceTree = ""; }; + FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */ = {isa = PBXFileReference; includeInIndex = 1; path = field_behavior.pb.cc; sourceTree = ""; }; FC44D934D4A52C790659C8D6 /* leveldb_globals_cache_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; path = leveldb_globals_cache_test.cc; sourceTree = ""; }; FC738525340E594EBFAB121E /* Pods-Firestore_Example_tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_Example_tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_Example_tvOS/Pods-Firestore_Example_tvOS.release.xcconfig"; sourceTree = ""; }; FF73B39D04D1760190E6B84A /* FIRQueryUnitTests.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; path = FIRQueryUnitTests.mm; sourceTree = ""; }; @@ -2272,6 +2300,7 @@ 124C932B22C1642C00CA8C2D /* CodableIntegrationTests.swift */, 3355BE9391CC4857AF0BDAE3 /* DatabaseTests.swift */, 62E54B832A9E910A003347C8 /* IndexingTests.swift */, + 12260A292D56A3CE001766EB /* PipelineTests.swift */, 621D620928F9CE7400D2FA26 /* QueryIntegrationTests.swift */, 4D65F6E69993611D47DC8E7C /* SnapshotListenerSourceTests.swift */, EFF22EA92C5060A4009A369B /* VectorIntegrationTests.swift */, @@ -2310,8 +2339,12 @@ 544129D121C2DDC800EFB9CC /* common.pb.h */, 544129D821C2DDC800EFB9CC /* document.pb.cc */, 544129D721C2DDC800EFB9CC /* document.pb.h */, + 682582E5728F3F1C531990EA /* explain_stats.pb.cc */, + 2258E6EBCFB8E8B1693C1347 /* explain_stats.pb.h */, 544129D421C2DDC800EFB9CC /* firestore.pb.cc */, 544129D321C2DDC800EFB9CC /* firestore.pb.h */, + 7142B5EC46E88349FAB3384F /* pipeline.pb.cc */, + D8DAE1269481D15A291E0B49 /* pipeline.pb.h */, 544129D621C2DDC800EFB9CC /* query.pb.cc */, 544129D021C2DDC800EFB9CC /* query.pb.h */, 544129D921C2DDC800EFB9CC /* write.pb.cc */, @@ -2778,6 +2811,8 @@ children = ( 618BBE9520B89AAC00B5BCE7 /* annotations.pb.cc */, 618BBE9620B89AAC00B5BCE7 /* annotations.pb.h */, + FAAF1A69F4A315C38357BDC4 /* field_behavior.pb.cc */, + 1BAFC713D2B1A2DBD55B2593 /* field_behavior.pb.h */, 618BBE9720B89AAC00B5BCE7 /* http.pb.cc */, 618BBE9420B89AAC00B5BCE7 /* http.pb.h */, 1C3F7302BF4AE6CBC00ECDD0 /* resource.pb.cc */, @@ -4227,8 +4262,10 @@ AC6C1E57B18730428CB15E03 /* executor_libdispatch_test.mm in Sources */, E7D415B8717701B952C344E5 /* executor_std_test.cc in Sources */, 470A37727BBF516B05ED276A /* executor_test.cc in Sources */, + B280370F84393808250B28BC /* explain_stats.pb.cc in Sources */, 2E0BBA7E627EB240BA11B0D0 /* exponential_backoff_test.cc in Sources */, 9009C285F418EA80C46CF06B /* fake_target_metadata_provider.cc in Sources */, + A5301AA55748A11801E3EE47 /* field_behavior.pb.cc in Sources */, 2E373EA9D5FF8C6DE2507675 /* field_index_test.cc in Sources */, 07B1E8C62772758BC82FEBEE /* field_mask_test.cc in Sources */, D9366A834BFF13246DC3AF9E /* field_path_test.cc in Sources */, @@ -4304,6 +4341,7 @@ BE1D7C7E413449AFFBA21BCB /* overlay_test.cc in Sources */, DB7E9C5A59CCCDDB7F0C238A /* path_test.cc in Sources */, E30BF9E316316446371C956C /* persistence_testing.cc in Sources */, + 715A0E92C83AE4384A13B882 /* pipeline.pb.cc in Sources */, 0455FC6E2A281BD755FD933A /* precondition_test.cc in Sources */, 5ECE040F87E9FCD0A5D215DB /* pretty_printing_test.cc in Sources */, 938F2AF6EC5CD0B839300DB0 /* query.pb.cc in Sources */, @@ -4450,8 +4488,10 @@ B220E091D8F4E6DE1EA44F57 /* executor_libdispatch_test.mm in Sources */, BAB43C839445782040657239 /* executor_std_test.cc in Sources */, 3A7CB01751697ED599F2D9A1 /* executor_test.cc in Sources */, + 8FE63980976481EBA001B789 /* explain_stats.pb.cc in Sources */, EF3518F84255BAF3EBD317F6 /* exponential_backoff_test.cc in Sources */, 4DAFC3A3FD5E96910A517320 /* fake_target_metadata_provider.cc in Sources */, + 86E73F6286E87834CF37D5D9 /* field_behavior.pb.cc in Sources */, 69D3AD697D1A7BF803A08160 /* field_index_test.cc in Sources */, ED4E2AC80CAF2A8FDDAC3DEE /* field_mask_test.cc in Sources */, 41EAC526C543064B8F3F7EDA /* field_path_test.cc in Sources */, @@ -4527,6 +4567,7 @@ 2045517602D767BD01EA71D9 /* overlay_test.cc in Sources */, 0963F6D7B0F9AE1E24B82866 /* path_test.cc in Sources */, 92D7081085679497DC112EDB /* persistence_testing.cc in Sources */, + 9CD1E9301EC44ED10DAEA5FB /* pipeline.pb.cc in Sources */, 152543FD706D5E8851C8DA92 /* precondition_test.cc in Sources */, 2639ABDA17EECEB7F62D1D83 /* pretty_printing_test.cc in Sources */, 5FA3DB52A478B01384D3A2ED /* query.pb.cc in Sources */, @@ -4649,6 +4690,7 @@ 432056C4D1259F76C80FC2A8 /* FSTUserDataReaderTests.mm in Sources */, 3B1E27D951407FD237E64D07 /* FirestoreEncoderTests.swift in Sources */, 62E54B862A9E910B003347C8 /* IndexingTests.swift in Sources */, + 12260A2C2D56A3CE001766EB /* PipelineTests.swift in Sources */, 621D620C28F9CE7400D2FA26 /* QueryIntegrationTests.swift in Sources */, 1CFBD4563960D8A20C4679A3 /* SnapshotListenerSourceTests.swift in Sources */, EFF22EAC2C5060A4009A369B /* VectorIntegrationTests.swift in Sources */, @@ -4697,8 +4739,10 @@ 5F6CE37B34C542704C5605A4 /* executor_libdispatch_test.mm in Sources */, AECCD9663BB3DC52199F954A /* executor_std_test.cc in Sources */, 18F644E6AA98E6D6F3F1F809 /* executor_test.cc in Sources */, + 0E7A39BD9C87CC33F91A672F /* explain_stats.pb.cc in Sources */, 6938575C8B5E6FE0D562547A /* exponential_backoff_test.cc in Sources */, 258B372CF33B7E7984BBA659 /* fake_target_metadata_provider.cc in Sources */, + D8F427680C3165DCD1A6BA2A /* field_behavior.pb.cc in Sources */, F8BD2F61EFA35C2D5120D9EB /* field_index_test.cc in Sources */, F272A8C41D2353700A11D1FB /* field_mask_test.cc in Sources */, AF6D6C47F9A25C65BFDCBBA0 /* field_path_test.cc in Sources */, @@ -4774,6 +4818,7 @@ A5583822218F9D5B1E86FCAC /* overlay_test.cc in Sources */, 70A171FC43BE328767D1B243 /* path_test.cc in Sources */, EECC1EC64CA963A8376FA55C /* persistence_testing.cc in Sources */, + 92B593DCD86543D8C90F64F9 /* pipeline.pb.cc in Sources */, 34D69886DAD4A2029BFC5C63 /* precondition_test.cc in Sources */, F56E9334642C207D7D85D428 /* pretty_printing_test.cc in Sources */, 22A00AC39CAB3426A943E037 /* query.pb.cc in Sources */, @@ -4896,6 +4941,7 @@ 75A176239B37354588769206 /* FSTUserDataReaderTests.mm in Sources */, 5E89B1A5A5430713C79C4854 /* FirestoreEncoderTests.swift in Sources */, 62E54B852A9E910B003347C8 /* IndexingTests.swift in Sources */, + 12260A2B2D56A3CE001766EB /* PipelineTests.swift in Sources */, 621D620B28F9CE7400D2FA26 /* QueryIntegrationTests.swift in Sources */, A0BC30D482B0ABD1A3A24CDC /* SnapshotListenerSourceTests.swift in Sources */, EFF22EAB2C5060A4009A369B /* VectorIntegrationTests.swift in Sources */, @@ -4944,8 +4990,10 @@ 49C593017B5438B216FAF593 /* executor_libdispatch_test.mm in Sources */, 17DFF30CF61D87883986E8B6 /* executor_std_test.cc in Sources */, 814724DE70EFC3DDF439CD78 /* executor_test.cc in Sources */, + 7492C447277CDC8CB7A165CB /* explain_stats.pb.cc in Sources */, BD6CC8614970A3D7D2CF0D49 /* exponential_backoff_test.cc in Sources */, 4D2655C5675D83205C3749DC /* fake_target_metadata_provider.cc in Sources */, + DDABEDF95A5B44E590064EF7 /* field_behavior.pb.cc in Sources */, 50C852E08626CFA7DC889EEA /* field_index_test.cc in Sources */, A1563EFEB021936D3FFE07E3 /* field_mask_test.cc in Sources */, B235E260EA0DCB7BAC04F69B /* field_path_test.cc in Sources */, @@ -5021,6 +5069,7 @@ D1BCDAEACF6408200DFB9870 /* overlay_test.cc in Sources */, B3A309CCF5D75A555C7196E1 /* path_test.cc in Sources */, 46EAC2828CD942F27834F497 /* persistence_testing.cc in Sources */, + 3B4CFB45208A7EEF1EA58ADC /* pipeline.pb.cc in Sources */, 9EE1447AA8E68DF98D0590FF /* precondition_test.cc in Sources */, F6079BFC9460B190DA85C2E6 /* pretty_printing_test.cc in Sources */, 7B0F073BDB6D0D6E542E23D4 /* query.pb.cc in Sources */, @@ -5177,8 +5226,10 @@ B6FB468E208F9BAB00554BA2 /* executor_libdispatch_test.mm in Sources */, B6FB468F208F9BAE00554BA2 /* executor_std_test.cc in Sources */, B6FB4690208F9BB300554BA2 /* executor_test.cc in Sources */, + 50EA1F41D766C92894E9B078 /* explain_stats.pb.cc in Sources */, B6D1B68520E2AB1B00B35856 /* exponential_backoff_test.cc in Sources */, FAE5DA6ED3E1842DC21453EE /* fake_target_metadata_provider.cc in Sources */, + 1F9FFAE375C88EFF88CBB6F8 /* field_behavior.pb.cc in Sources */, 03AEB9E07A605AE1B5827548 /* field_index_test.cc in Sources */, 549CCA5720A36E1F00BCEB75 /* field_mask_test.cc in Sources */, B686F2AF2023DDEE0028D6BE /* field_path_test.cc in Sources */, @@ -5254,6 +5305,7 @@ 4D20563D846FA0F3BEBFDE9D /* overlay_test.cc in Sources */, 5A080105CCBFDB6BF3F3772D /* path_test.cc in Sources */, 21C17F15579341289AD01051 /* persistence_testing.cc in Sources */, + F5BA649242983E2E54345BDD /* pipeline.pb.cc in Sources */, 549CCA5920A36E1F00BCEB75 /* precondition_test.cc in Sources */, 6A94393D83EB338DFAF6A0D2 /* pretty_printing_test.cc in Sources */, 544129DC21C2DDC800EFB9CC /* query.pb.cc in Sources */, @@ -5395,6 +5447,7 @@ F5BDECEB3B43BD1591EEADBD /* FSTUserDataReaderTests.mm in Sources */, 6F45846C159D3C063DBD3CBE /* FirestoreEncoderTests.swift in Sources */, 62E54B842A9E910B003347C8 /* IndexingTests.swift in Sources */, + 12260A2A2D56A3CE001766EB /* PipelineTests.swift in Sources */, 621D620A28F9CE7400D2FA26 /* QueryIntegrationTests.swift in Sources */, B00F8D1819EE20C45B660940 /* SnapshotListenerSourceTests.swift in Sources */, EFF22EAA2C5060A4009A369B /* VectorIntegrationTests.swift in Sources */, @@ -5443,8 +5496,10 @@ B6BF6EFEF887B072068BA658 /* executor_libdispatch_test.mm in Sources */, 125B1048ECB755C2106802EB /* executor_std_test.cc in Sources */, DABB9FB61B1733F985CBF713 /* executor_test.cc in Sources */, + 676933F59F2F0A0D221A4F8F /* explain_stats.pb.cc in Sources */, 7BCF050BA04537B0E7D44730 /* exponential_backoff_test.cc in Sources */, BA1C5EAE87393D8E60F5AE6D /* fake_target_metadata_provider.cc in Sources */, + 332E7D2D8489E6DA42947C59 /* field_behavior.pb.cc in Sources */, 84285C3F63D916A4786724A8 /* field_index_test.cc in Sources */, 6A40835DB2C02B9F07C02E88 /* field_mask_test.cc in Sources */, D00E69F7FDF2BE674115AD3F /* field_path_test.cc in Sources */, @@ -5520,6 +5575,7 @@ 4D7900401B1BF3D3C24DDC7E /* overlay_test.cc in Sources */, 6105A1365831B79A7DEEA4F3 /* path_test.cc in Sources */, CB8BEF34CC4A996C7BE85119 /* persistence_testing.cc in Sources */, + 2AD2CB51469AE35331C39258 /* pipeline.pb.cc in Sources */, 4194B7BB8B0352E1AC5D69B9 /* precondition_test.cc in Sources */, 0EA40EDACC28F445F9A3F32F /* pretty_printing_test.cc in Sources */, 63B91FC476F3915A44F00796 /* query.pb.cc in Sources */, diff --git a/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_IntegrationTests_macOS.xcscheme b/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_IntegrationTests_macOS.xcscheme index 809a72983a5..b6e7d07944b 100644 --- a/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_IntegrationTests_macOS.xcscheme +++ b/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_IntegrationTests_macOS.xcscheme @@ -27,6 +27,15 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -39,17 +48,6 @@ - - - - - - - - +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +#include "google/protobuf/generated_message_tctable_impl.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace google { +namespace api { +} // namespace api +} // namespace google +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_google_2fapi_2ffield_5fbehavior_2eproto[1]; +static constexpr const ::_pb::ServiceDescriptor** + file_level_service_descriptors_google_2fapi_2ffield_5fbehavior_2eproto = nullptr; +const ::uint32_t TableStruct_google_2fapi_2ffield_5fbehavior_2eproto::offsets[1] = {}; +static constexpr ::_pbi::MigrationSchema* schemas = nullptr; +static constexpr ::_pb::Message* const* file_default_instances = nullptr; +const char descriptor_table_protodef_google_2fapi_2ffield_5fbehavior_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + "\n\037google/api/field_behavior.proto\022\ngoogl" + "e.api\032 google/protobuf/descriptor.proto*" + "\266\001\n\rFieldBehavior\022\036\n\032FIELD_BEHAVIOR_UNSP" + "ECIFIED\020\000\022\014\n\010OPTIONAL\020\001\022\014\n\010REQUIRED\020\002\022\017\n" + "\013OUTPUT_ONLY\020\003\022\016\n\nINPUT_ONLY\020\004\022\r\n\tIMMUTA" + "BLE\020\005\022\022\n\016UNORDERED_LIST\020\006\022\025\n\021NON_EMPTY_D" + "EFAULT\020\007\022\016\n\nIDENTIFIER\020\010:U\n\016field_behavi" + "or\022\035.google.protobuf.FieldOptions\030\234\010 \003(\016" + "2\031.google.api.FieldBehaviorB\002\020\000Bp\n\016com.g" + "oogle.apiB\022FieldBehaviorProtoP\001ZAgoogle." + "golang.org/genproto/googleapis/api/annot" + "ations;annotations\242\002\004GAPIb\006proto3" +}; +static const ::_pbi::DescriptorTable* const descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto_deps[1] = + { + &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, +}; +static ::absl::once_flag descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto = { + false, + false, + 473, + descriptor_table_protodef_google_2fapi_2ffield_5fbehavior_2eproto, + "google/api/field_behavior.proto", + &descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto_once, + descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto_deps, + 1, + 0, + schemas, + file_default_instances, + TableStruct_google_2fapi_2ffield_5fbehavior_2eproto::offsets, + nullptr, + file_level_enum_descriptors_google_2fapi_2ffield_5fbehavior_2eproto, + file_level_service_descriptors_google_2fapi_2ffield_5fbehavior_2eproto, +}; + +// This function exists to be marked as weak. +// It can significantly speed up compilation by breaking up LLVM's SCC +// in the .pb.cc translation units. Large translation units see a +// reduction of more than 35% of walltime for optimized builds. Without +// the weak attribute all the messages in the file, including all the +// vtables and everything they use become part of the same SCC through +// a cycle like: +// GetMetadata -> descriptor table -> default instances -> +// vtables -> GetMetadata +// By adding a weak function here we break the connection from the +// individual vtables back into the descriptor table. +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto_getter() { + return &descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto; +} +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 +static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_google_2fapi_2ffield_5fbehavior_2eproto(&descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto); +namespace google { +namespace api { +const ::google::protobuf::EnumDescriptor* FieldBehavior_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto); + return file_level_enum_descriptors_google_2fapi_2ffield_5fbehavior_2eproto[0]; +} +PROTOBUF_CONSTINIT const uint32_t FieldBehavior_internal_data_[] = { + 589824u, 0u, }; +bool FieldBehavior_IsValid(int value) { + return 0 <= value && value <= 8; +} +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::FieldOptions, + ::google::protobuf::internal::RepeatedEnumTypeTraits< ::google::api::FieldBehavior, ::google::api::FieldBehavior_IsValid>, 14, false> + field_behavior(kFieldBehaviorFieldNumber, static_cast< ::google::api::FieldBehavior >(0), nullptr); +// @@protoc_insertion_point(namespace_scope) +} // namespace api +} // namespace google +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +#include "google/protobuf/port_undef.inc" diff --git a/Firestore/Protos/cpp/google/api/field_behavior.pb.h b/Firestore/Protos/cpp/google/api/field_behavior.pb.h new file mode 100644 index 00000000000..e04739e7ce7 --- /dev/null +++ b/Firestore/Protos/cpp/google/api/field_behavior.pb.h @@ -0,0 +1,168 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/api/field_behavior.proto +// Protobuf C++ Version: 4.25.1 + +#ifndef GOOGLE_PROTOBUF_INCLUDED_google_2fapi_2ffield_5fbehavior_2eproto_2epb_2eh +#define GOOGLE_PROTOBUF_INCLUDED_google_2fapi_2ffield_5fbehavior_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/port_def.inc" +#if PROTOBUF_VERSION < 4025000 +#error "This file was generated by a newer version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please update" +#error "your headers." +#endif // PROTOBUF_VERSION + +#if 4025001 < PROTOBUF_MIN_PROTOC_VERSION +#error "This file was generated by an older version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please" +#error "regenerate this file with a newer version of protoc." +#endif // PROTOBUF_MIN_PROTOC_VERSION +#include "google/protobuf/port_undef.inc" +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/generated_enum_reflection.h" +#include "google/protobuf/descriptor.pb.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_google_2fapi_2ffield_5fbehavior_2eproto + +namespace google { +namespace protobuf { +namespace internal { +class AnyMetadata; +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_google_2fapi_2ffield_5fbehavior_2eproto { + static const ::uint32_t offsets[]; +}; +extern const ::google::protobuf::internal::DescriptorTable + descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto; +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google + +namespace google { +namespace api { +enum FieldBehavior : int { + FIELD_BEHAVIOR_UNSPECIFIED = 0, + OPTIONAL = 1, + REQUIRED = 2, + OUTPUT_ONLY = 3, + INPUT_ONLY = 4, + IMMUTABLE = 5, + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7, + IDENTIFIER = 8, + FieldBehavior_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + FieldBehavior_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool FieldBehavior_IsValid(int value); +extern const uint32_t FieldBehavior_internal_data_[]; +constexpr FieldBehavior FieldBehavior_MIN = static_cast(0); +constexpr FieldBehavior FieldBehavior_MAX = static_cast(8); +constexpr int FieldBehavior_ARRAYSIZE = 8 + 1; +const ::google::protobuf::EnumDescriptor* +FieldBehavior_descriptor(); +template +const std::string& FieldBehavior_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to FieldBehavior_Name()."); + return FieldBehavior_Name(static_cast(value)); +} +template <> +inline const std::string& FieldBehavior_Name(FieldBehavior value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool FieldBehavior_Parse(absl::string_view name, FieldBehavior* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FieldBehavior_descriptor(), name, value); +} + +// =================================================================== + + + +// =================================================================== + + + +static const int kFieldBehaviorFieldNumber = 1052; +extern ::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::FieldOptions, + ::google::protobuf::internal::RepeatedEnumTypeTraits< ::google::api::FieldBehavior, ::google::api::FieldBehavior_IsValid>, 14, false > + field_behavior; + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace api +} // namespace google + + +namespace google { +namespace protobuf { + +template <> +struct is_proto_enum<::google::api::FieldBehavior> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::google::api::FieldBehavior>() { + return ::google::api::FieldBehavior_descriptor(); +} + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // GOOGLE_PROTOBUF_INCLUDED_google_2fapi_2ffield_5fbehavior_2eproto_2epb_2eh diff --git a/Firestore/Protos/cpp/google/api/http.pb.cc b/Firestore/Protos/cpp/google/api/http.pb.cc index 3964f8fc33e..c6a9fa49c1b 100644 --- a/Firestore/Protos/cpp/google/api/http.pb.cc +++ b/Firestore/Protos/cpp/google/api/http.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/api/http.pb.h b/Firestore/Protos/cpp/google/api/http.pb.h index 54c6bad8167..bc1f7426a3c 100644 --- a/Firestore/Protos/cpp/google/api/http.pb.h +++ b/Firestore/Protos/cpp/google/api/http.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/api/resource.pb.cc b/Firestore/Protos/cpp/google/api/resource.pb.cc index fd34f4f0934..2ea1c7562ff 100644 --- a/Firestore/Protos/cpp/google/api/resource.pb.cc +++ b/Firestore/Protos/cpp/google/api/resource.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/api/resource.pb.h b/Firestore/Protos/cpp/google/api/resource.pb.h index 458c078fb57..de855a0a335 100644 --- a/Firestore/Protos/cpp/google/api/resource.pb.h +++ b/Firestore/Protos/cpp/google/api/resource.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/admin/index.pb.cc b/Firestore/Protos/cpp/google/firestore/admin/index.pb.cc index 9e7a2a53d6a..d0ee81c51aa 100644 --- a/Firestore/Protos/cpp/google/firestore/admin/index.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/admin/index.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/admin/index.pb.h b/Firestore/Protos/cpp/google/firestore/admin/index.pb.h index 6095d8eba33..474abbd3b56 100644 --- a/Firestore/Protos/cpp/google/firestore/admin/index.pb.h +++ b/Firestore/Protos/cpp/google/firestore/admin/index.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.cc index 2b6366af7fa..1302ce50dff 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.h b/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.h index 26750c24e40..604f7d4d266 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.h +++ b/Firestore/Protos/cpp/google/firestore/v1/aggregation_result.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.cc index f3ad4ff4ae2..850d8b10da2 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.h b/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.h index e4e2fa8331b..69d2b086157 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.h +++ b/Firestore/Protos/cpp/google/firestore/v1/bloom_filter.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/common.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/common.pb.cc index f3113c8ed9c..c92596182be 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/common.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/v1/common.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/common.pb.h b/Firestore/Protos/cpp/google/firestore/v1/common.pb.h index 814ed5c9723..45e09440cc3 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/common.pb.h +++ b/Firestore/Protos/cpp/google/firestore/v1/common.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/document.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/document.pb.cc index 3167a814ee4..8f299b1a166 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/document.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/v1/document.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,6 +59,41 @@ struct ArrayValueDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArrayValueDefaultTypeInternal _ArrayValue_default_instance_; +inline constexpr Function::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : args_{}, + options_{}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Function::Function(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct FunctionDefaultTypeInternal { + PROTOBUF_CONSTEXPR FunctionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~FunctionDefaultTypeInternal() {} + union { + Function _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FunctionDefaultTypeInternal _Function_default_instance_; + template +PROTOBUF_CONSTEXPR Function_OptionsEntry_DoNotUse::Function_OptionsEntry_DoNotUse(::_pbi::ConstantInitialized) {} +struct Function_OptionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR Function_OptionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Function_OptionsEntry_DoNotUseDefaultTypeInternal() {} + union { + Function_OptionsEntry_DoNotUse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Function_OptionsEntry_DoNotUseDefaultTypeInternal _Function_OptionsEntry_DoNotUse_default_instance_; + inline constexpr MapValue::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : fields_{}, @@ -90,6 +125,60 @@ struct MapValue_FieldsEntry_DoNotUseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MapValue_FieldsEntry_DoNotUseDefaultTypeInternal _MapValue_FieldsEntry_DoNotUse_default_instance_; +inline constexpr Pipeline::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : stages_{}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Pipeline::Pipeline(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct PipelineDefaultTypeInternal { + PROTOBUF_CONSTEXPR PipelineDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~PipelineDefaultTypeInternal() {} + union { + Pipeline _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PipelineDefaultTypeInternal _Pipeline_default_instance_; + +inline constexpr Pipeline_Stage::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : args_{}, + options_{}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR Pipeline_Stage::Pipeline_Stage(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct Pipeline_StageDefaultTypeInternal { + PROTOBUF_CONSTEXPR Pipeline_StageDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Pipeline_StageDefaultTypeInternal() {} + union { + Pipeline_Stage _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Pipeline_StageDefaultTypeInternal _Pipeline_Stage_default_instance_; + template +PROTOBUF_CONSTEXPR Pipeline_Stage_OptionsEntry_DoNotUse::Pipeline_Stage_OptionsEntry_DoNotUse(::_pbi::ConstantInitialized) {} +struct Pipeline_Stage_OptionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR Pipeline_Stage_OptionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~Pipeline_Stage_OptionsEntry_DoNotUseDefaultTypeInternal() {} + union { + Pipeline_Stage_OptionsEntry_DoNotUse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Pipeline_Stage_OptionsEntry_DoNotUseDefaultTypeInternal _Pipeline_Stage_OptionsEntry_DoNotUse_default_instance_; + inline constexpr Value::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : value_type_{}, @@ -148,7 +237,7 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT } // namespace v1 } // namespace firestore } // namespace google -static ::_pb::Metadata file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[6]; +static ::_pb::Metadata file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[11]; static constexpr const ::_pb::EnumDescriptor** file_level_enum_descriptors_google_2ffirestore_2fv1_2fdocument_2eproto = nullptr; static constexpr const ::_pb::ServiceDescriptor** @@ -202,6 +291,9 @@ const ::uint32_t TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto::offsets ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Value, _impl_.value_type_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ArrayValue, _internal_metadata_), @@ -233,6 +325,61 @@ const ::uint32_t TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto::offsets ~0u, // no _split_ ~0u, // no sizeof(Split) PROTOBUF_FIELD_OFFSET(::google::firestore::v1::MapValue, _impl_.fields_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function_OptionsEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function_OptionsEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function_OptionsEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function_OptionsEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function, _impl_.args_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Function, _impl_.options_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage_OptionsEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage_OptionsEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage_OptionsEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage_OptionsEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage, _impl_.args_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline_Stage, _impl_.options_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::Pipeline, _impl_.stages_), }; static const ::_pbi::MigrationSchema @@ -240,9 +387,14 @@ static const ::_pbi::MigrationSchema {0, 10, -1, sizeof(::google::firestore::v1::Document_FieldsEntry_DoNotUse)}, {12, 24, -1, sizeof(::google::firestore::v1::Document)}, {28, -1, -1, sizeof(::google::firestore::v1::Value)}, - {48, -1, -1, sizeof(::google::firestore::v1::ArrayValue)}, - {57, 67, -1, sizeof(::google::firestore::v1::MapValue_FieldsEntry_DoNotUse)}, - {69, -1, -1, sizeof(::google::firestore::v1::MapValue)}, + {51, -1, -1, sizeof(::google::firestore::v1::ArrayValue)}, + {60, 70, -1, sizeof(::google::firestore::v1::MapValue_FieldsEntry_DoNotUse)}, + {72, -1, -1, sizeof(::google::firestore::v1::MapValue)}, + {81, 91, -1, sizeof(::google::firestore::v1::Function_OptionsEntry_DoNotUse)}, + {93, -1, -1, sizeof(::google::firestore::v1::Function)}, + {104, 114, -1, sizeof(::google::firestore::v1::Pipeline_Stage_OptionsEntry_DoNotUse)}, + {116, -1, -1, sizeof(::google::firestore::v1::Pipeline_Stage)}, + {127, -1, -1, sizeof(::google::firestore::v1::Pipeline)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -252,42 +404,66 @@ static const ::_pb::Message* const file_default_instances[] = { &::google::firestore::v1::_ArrayValue_default_instance_._instance, &::google::firestore::v1::_MapValue_FieldsEntry_DoNotUse_default_instance_._instance, &::google::firestore::v1::_MapValue_default_instance_._instance, + &::google::firestore::v1::_Function_OptionsEntry_DoNotUse_default_instance_._instance, + &::google::firestore::v1::_Function_default_instance_._instance, + &::google::firestore::v1::_Pipeline_Stage_OptionsEntry_DoNotUse_default_instance_._instance, + &::google::firestore::v1::_Pipeline_Stage_default_instance_._instance, + &::google::firestore::v1::_Pipeline_default_instance_._instance, }; const char descriptor_table_protodef_google_2ffirestore_2fv1_2fdocument_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { "\n\"google/firestore/v1/document.proto\022\023go" - "ogle.firestore.v1\032\034google/protobuf/struc" - "t.proto\032\037google/protobuf/timestamp.proto" - "\032\030google/type/latlng.proto\"\200\002\n\010Document\022" - "\014\n\004name\030\001 \001(\t\0229\n\006fields\030\002 \003(\0132).google.f" - "irestore.v1.Document.FieldsEntry\022/\n\013crea" - "te_time\030\003 \001(\0132\032.google.protobuf.Timestam" - "p\022/\n\013update_time\030\004 \001(\0132\032.google.protobuf" - ".Timestamp\032I\n\013FieldsEntry\022\013\n\003key\030\001 \001(\t\022)" - "\n\005value\030\002 \001(\0132\032.google.firestore.v1.Valu" - "e:\0028\001\"\256\003\n\005Value\0220\n\nnull_value\030\013 \001(\0162\032.go" - "ogle.protobuf.NullValueH\000\022\027\n\rboolean_val" - "ue\030\001 \001(\010H\000\022\027\n\rinteger_value\030\002 \001(\003H\000\022\026\n\014d" - "ouble_value\030\003 \001(\001H\000\0225\n\017timestamp_value\030\n" - " \001(\0132\032.google.protobuf.TimestampH\000\022\026\n\014st" - "ring_value\030\021 \001(\tH\000\022\025\n\013bytes_value\030\022 \001(\014H" - "\000\022\031\n\017reference_value\030\005 \001(\tH\000\022.\n\017geo_poin" - "t_value\030\010 \001(\0132\023.google.type.LatLngH\000\0226\n\013" - "array_value\030\t \001(\0132\037.google.firestore.v1." - "ArrayValueH\000\0222\n\tmap_value\030\006 \001(\0132\035.google" - ".firestore.v1.MapValueH\000B\014\n\nvalue_type\"8" - "\n\nArrayValue\022*\n\006values\030\001 \003(\0132\032.google.fi" - "restore.v1.Value\"\220\001\n\010MapValue\0229\n\006fields\030" - "\001 \003(\0132).google.firestore.v1.MapValue.Fie" - "ldsEntry\032I\n\013FieldsEntry\022\013\n\003key\030\001 \001(\t\022)\n\005" - "value\030\002 \001(\0132\032.google.firestore.v1.Value:" - "\0028\001B\261\001\n\027com.google.firestore.v1B\rDocumen" - "tProtoP\001Z_impl_.value_type_.map_value_; } +const ::google::firestore::v1::Function& Value::_Internal::function_value(const Value* msg) { + return *msg->_impl_.value_type_.function_value_; +} +const ::google::firestore::v1::Pipeline& Value::_Internal::pipeline_value(const Value* msg) { + return *msg->_impl_.value_type_.pipeline_value_; +} void Value::set_allocated_timestamp_value(::google::protobuf::Timestamp* timestamp_value) { ::google::protobuf::Arena* message_arena = GetArena(); clear_value_type(); @@ -790,6 +974,32 @@ void Value::set_allocated_map_value(::google::firestore::v1::MapValue* map_value } // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.Value.map_value) } +void Value::set_allocated_function_value(::google::firestore::v1::Function* function_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value_type(); + if (function_value) { + ::google::protobuf::Arena* submessage_arena = function_value->GetArena(); + if (message_arena != submessage_arena) { + function_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, function_value, submessage_arena); + } + set_has_function_value(); + _impl_.value_type_.function_value_ = function_value; + } + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.Value.function_value) +} +void Value::set_allocated_pipeline_value(::google::firestore::v1::Pipeline* pipeline_value) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_value_type(); + if (pipeline_value) { + ::google::protobuf::Arena* submessage_arena = pipeline_value->GetArena(); + if (message_arena != submessage_arena) { + pipeline_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, pipeline_value, submessage_arena); + } + set_has_pipeline_value(); + _impl_.value_type_.pipeline_value_ = pipeline_value; + } + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.Value.pipeline_value) +} Value::Value(::google::protobuf::Arena* arena) : ::google::protobuf::Message(arena) { SharedCtor(arena); @@ -847,6 +1057,15 @@ Value::Value( case kMapValue: _impl_.value_type_.map_value_ = CreateMaybeMessage<::google::firestore::v1::MapValue>(arena, *from._impl_.value_type_.map_value_); break; + case kFieldReferenceValue: + new (&_impl_.value_type_.field_reference_value_) decltype(_impl_.value_type_.field_reference_value_){arena, from._impl_.value_type_.field_reference_value_}; + break; + case kFunctionValue: + _impl_.value_type_.function_value_ = CreateMaybeMessage<::google::firestore::v1::Function>(arena, *from._impl_.value_type_.function_value_); + break; + case kPipelineValue: + _impl_.value_type_.pipeline_value_ = CreateMaybeMessage<::google::firestore::v1::Pipeline>(arena, *from._impl_.value_type_.pipeline_value_); + break; } // @@protoc_insertion_point(copy_constructor:google.firestore.v1.Value) @@ -930,6 +1149,22 @@ void Value::clear_value_type() { } break; } + case kFieldReferenceValue: { + _impl_.value_type_.field_reference_value_.Destroy(); + break; + } + case kFunctionValue: { + if (GetArena() == nullptr) { + delete _impl_.value_type_.function_value_; + } + break; + } + case kPipelineValue: { + if (GetArena() == nullptr) { + delete _impl_.value_type_.pipeline_value_; + } + break; + } case VALUE_TYPE_NOT_SET: { break; } @@ -957,16 +1192,16 @@ const char* Value::_InternalParse( PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<0, 11, 4, 69, 2> Value::_table_ = { +const ::_pbi::TcParseTable<0, 14, 6, 90, 2> Value::_table_ = { { 0, // no _has_bits_ 0, // no _extensions_ - 18, 0, // max_field_number, fast_idx_mask + 21, 0, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294768712, // skipmap + 4292933704, // skipmap offsetof(decltype(_table_), field_entries), - 11, // num_field_entries - 4, // num_aux_entries + 14, // num_field_entries + 6, // num_aux_entries offsetof(decltype(_table_), aux_entries), &_Value_default_instance_._instance, ::_pbi::TcParser::GenericFallback, // fallback @@ -1008,16 +1243,28 @@ const ::_pbi::TcParseTable<0, 11, 4, 69, 2> Value::_table_ = { // bytes bytes_value = 18; {PROTOBUF_FIELD_OFFSET(Value, _impl_.value_type_.bytes_value_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)}, + // string field_reference_value = 19; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.value_type_.field_reference_value_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .google.firestore.v1.Function function_value = 20; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.value_type_.function_value_), _Internal::kOneofCaseOffset + 0, 4, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.firestore.v1.Pipeline pipeline_value = 21; + {PROTOBUF_FIELD_OFFSET(Value, _impl_.value_type_.pipeline_value_), _Internal::kOneofCaseOffset + 0, 5, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, }}, {{ {::_pbi::TcParser::GetTable<::google::firestore::v1::MapValue>()}, {::_pbi::TcParser::GetTable<::google::type::LatLng>()}, {::_pbi::TcParser::GetTable<::google::firestore::v1::ArrayValue>()}, {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + {::_pbi::TcParser::GetTable<::google::firestore::v1::Function>()}, + {::_pbi::TcParser::GetTable<::google::firestore::v1::Pipeline>()}, }}, {{ - "\31\0\0\0\17\0\0\0\0\0\14\0\0\0\0\0" + "\31\0\0\0\17\0\0\0\0\0\14\0\25\0\0\0" "google.firestore.v1.Value" "reference_value" "string_value" + "field_reference_value" }}, }; @@ -1096,6 +1343,25 @@ ::uint8_t* Value::_InternalSerialize( target = stream->WriteBytesMaybeAliased(18, _s, target); break; } + case kFieldReferenceValue: { + const std::string& _s = this->_internal_field_reference_value(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.Value.field_reference_value"); + target = stream->WriteStringMaybeAliased(19, _s, target); + break; + } + case kFunctionValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 20, _Internal::function_value(this), + _Internal::function_value(this).GetCachedSize(), target, stream); + break; + } + case kPipelineValue: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 21, _Internal::pipeline_value(this), + _Internal::pipeline_value(this).GetCachedSize(), target, stream); + break; + } default: break; } @@ -1181,6 +1447,24 @@ ::size_t Value::ByteSizeLong() const { 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.value_type_.map_value_); break; } + // string field_reference_value = 19; + case kFieldReferenceValue: { + total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize( + this->_internal_field_reference_value()); + break; + } + // .google.firestore.v1.Function function_value = 20; + case kFunctionValue: { + total_size += + 2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.value_type_.function_value_); + break; + } + // .google.firestore.v1.Pipeline pipeline_value = 21; + case kPipelineValue: { + total_size += + 2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.value_type_.pipeline_value_); + break; + } case VALUE_TYPE_NOT_SET: { break; } @@ -1253,6 +1537,20 @@ void Value::MergeImpl(::google::protobuf::Message& to_msg, const ::google::proto from._internal_map_value()); break; } + case kFieldReferenceValue: { + _this->_internal_set_field_reference_value(from._internal_field_reference_value()); + break; + } + case kFunctionValue: { + _this->_internal_mutable_function_value()->::google::firestore::v1::Function::MergeFrom( + from._internal_function_value()); + break; + } + case kPipelineValue: { + _this->_internal_mutable_pipeline_value()->::google::firestore::v1::Pipeline::MergeFrom( + from._internal_pipeline_value()); + break; + } case VALUE_TYPE_NOT_SET: { break; } @@ -1686,6 +1984,737 @@ ::google::protobuf::Metadata MapValue::GetMetadata() const { &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_once, file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[5]); } +// =================================================================== + +Function_OptionsEntry_DoNotUse::Function_OptionsEntry_DoNotUse() {} +Function_OptionsEntry_DoNotUse::Function_OptionsEntry_DoNotUse(::google::protobuf::Arena* arena) + : SuperType(arena) {} +::google::protobuf::Metadata Function_OptionsEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[6]); +} +// =================================================================== + +class Function::_Internal { + public: +}; + +Function::Function(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.Function) +} +inline PROTOBUF_NDEBUG_INLINE Function::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from) + : args_{visibility, arena, from.args_}, + options_{visibility, arena, from.options_}, + name_(arena, from.name_), + _cached_size_{0} {} + +Function::Function( + ::google::protobuf::Arena* arena, + const Function& from) + : ::google::protobuf::Message(arena) { + Function* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); + + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.Function) +} +inline PROTOBUF_NDEBUG_INLINE Function::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : args_{visibility, arena}, + options_{visibility, arena}, + name_(arena), + _cached_size_{0} {} + +inline void Function::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Function::~Function() { + // @@protoc_insertion_point(destructor:google.firestore.v1.Function) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void Function::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + _impl_.name_.Destroy(); + _impl_.~Impl_(); +} + +PROTOBUF_NOINLINE void Function::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.Function) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.args_.Clear(); + _impl_.options_.Clear(); + _impl_.name_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* Function::_InternalParse( + const char* ptr, ::_pbi::ParseContext* ctx) { + ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); + return ptr; +} + + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 3, 3, 48, 2> Function::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 3, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_Function_default_instance_._instance, + ::_pbi::TcParser::GenericFallback, // fallback + }, {{ + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + {::_pbi::TcParser::FastMtR1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(Function, _impl_.args_)}}, + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(Function, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + {PROTOBUF_FIELD_OFFSET(Function, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + {PROTOBUF_FIELD_OFFSET(Function, _impl_.args_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + {PROTOBUF_FIELD_OFFSET(Function, _impl_.options_), 0, 1, + (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, + }}, {{ + {::_pbi::TcParser::GetTable<::google::firestore::v1::Value>()}, + {::_pbi::TcParser::GetMapAuxInfo< + decltype(Function()._impl_.options_)>( + 1, 0, 0, 9, + 11)}, + {::_pbi::TcParser::CreateInArenaStorageCb<::google::firestore::v1::Value>}, + }}, {{ + "\34\4\0\7\0\0\0\0" + "google.firestore.v1.Function" + "name" + "options" + }}, +}; + +::uint8_t* Function::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.Function) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_name().empty()) { + const std::string& _s = this->_internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.Function.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + for (unsigned i = 0, + n = static_cast(this->_internal_args_size()); i < n; i++) { + const auto& repfield = this->_internal_args().Get(i); + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); + } + + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + if (!_internal_options().empty()) { + using MapType = ::google::protobuf::Map; + using WireHelper = _pbi::MapEntryFuncs; + const auto& field = _internal_options(); + + if (stream->IsSerializationDeterministic() && field.size() > 1) { + for (const auto& entry : ::google::protobuf::internal::MapSorterPtr(field)) { + target = WireHelper::InternalSerialize( + 3, entry.first, entry.second, target, stream); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.Function.options"); + } + } else { + for (const auto& entry : field) { + target = WireHelper::InternalSerialize( + 3, entry.first, entry.second, target, stream); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.Function.options"); + } + } + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.Function) + return target; +} + +::size_t Function::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.Function) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + total_size += 1UL * this->_internal_args_size(); + for (const auto& msg : this->_internal_args()) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_options_size()); + for (const auto& entry : _internal_options()) { + total_size += _pbi::MapEntryFuncs::ByteSizeLong(entry.first, entry.second); + } + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::google::protobuf::Message::ClassData Function::_class_data_ = { + Function::MergeImpl, + nullptr, // OnDemandRegisterArenaDtor +}; +const ::google::protobuf::Message::ClassData* Function::GetClassData() const { + return &_class_data_; +} + +void Function::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.Function) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_args()->MergeFrom( + from._internal_args()); + _this->_impl_.options_.MergeFrom(from._impl_.options_); + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void Function::CopyFrom(const Function& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.Function) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool Function::IsInitialized() const { + return true; +} + +::_pbi::CachedSize* Function::AccessCachedSize() const { + return &_impl_._cached_size_; +} +void Function::InternalSwap(Function* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.args_.InternalSwap(&other->_impl_.args_); + _impl_.options_.InternalSwap(&other->_impl_.options_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); +} + +::google::protobuf::Metadata Function::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[7]); +} +// =================================================================== + +Pipeline_Stage_OptionsEntry_DoNotUse::Pipeline_Stage_OptionsEntry_DoNotUse() {} +Pipeline_Stage_OptionsEntry_DoNotUse::Pipeline_Stage_OptionsEntry_DoNotUse(::google::protobuf::Arena* arena) + : SuperType(arena) {} +::google::protobuf::Metadata Pipeline_Stage_OptionsEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[8]); +} +// =================================================================== + +class Pipeline_Stage::_Internal { + public: +}; + +Pipeline_Stage::Pipeline_Stage(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.Pipeline.Stage) +} +inline PROTOBUF_NDEBUG_INLINE Pipeline_Stage::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from) + : args_{visibility, arena, from.args_}, + options_{visibility, arena, from.options_}, + name_(arena, from.name_), + _cached_size_{0} {} + +Pipeline_Stage::Pipeline_Stage( + ::google::protobuf::Arena* arena, + const Pipeline_Stage& from) + : ::google::protobuf::Message(arena) { + Pipeline_Stage* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); + + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.Pipeline.Stage) +} +inline PROTOBUF_NDEBUG_INLINE Pipeline_Stage::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : args_{visibility, arena}, + options_{visibility, arena}, + name_(arena), + _cached_size_{0} {} + +inline void Pipeline_Stage::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Pipeline_Stage::~Pipeline_Stage() { + // @@protoc_insertion_point(destructor:google.firestore.v1.Pipeline.Stage) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void Pipeline_Stage::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + _impl_.name_.Destroy(); + _impl_.~Impl_(); +} + +PROTOBUF_NOINLINE void Pipeline_Stage::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.Pipeline.Stage) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.args_.Clear(); + _impl_.options_.Clear(); + _impl_.name_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* Pipeline_Stage::_InternalParse( + const char* ptr, ::_pbi::ParseContext* ctx) { + ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); + return ptr; +} + + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 3, 3, 54, 2> Pipeline_Stage::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 3, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_Pipeline_Stage_default_instance_._instance, + ::_pbi::TcParser::GenericFallback, // fallback + }, {{ + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + {::_pbi::TcParser::FastMtR1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(Pipeline_Stage, _impl_.args_)}}, + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(Pipeline_Stage, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + {PROTOBUF_FIELD_OFFSET(Pipeline_Stage, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + {PROTOBUF_FIELD_OFFSET(Pipeline_Stage, _impl_.args_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + {PROTOBUF_FIELD_OFFSET(Pipeline_Stage, _impl_.options_), 0, 1, + (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, + }}, {{ + {::_pbi::TcParser::GetTable<::google::firestore::v1::Value>()}, + {::_pbi::TcParser::GetMapAuxInfo< + decltype(Pipeline_Stage()._impl_.options_)>( + 1, 0, 0, 9, + 11)}, + {::_pbi::TcParser::CreateInArenaStorageCb<::google::firestore::v1::Value>}, + }}, {{ + "\42\4\0\7\0\0\0\0" + "google.firestore.v1.Pipeline.Stage" + "name" + "options" + }}, +}; + +::uint8_t* Pipeline_Stage::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.Pipeline.Stage) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_name().empty()) { + const std::string& _s = this->_internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.Pipeline.Stage.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + for (unsigned i = 0, + n = static_cast(this->_internal_args_size()); i < n; i++) { + const auto& repfield = this->_internal_args().Get(i); + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); + } + + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + if (!_internal_options().empty()) { + using MapType = ::google::protobuf::Map; + using WireHelper = _pbi::MapEntryFuncs; + const auto& field = _internal_options(); + + if (stream->IsSerializationDeterministic() && field.size() > 1) { + for (const auto& entry : ::google::protobuf::internal::MapSorterPtr(field)) { + target = WireHelper::InternalSerialize( + 3, entry.first, entry.second, target, stream); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.Pipeline.Stage.options"); + } + } else { + for (const auto& entry : field) { + target = WireHelper::InternalSerialize( + 3, entry.first, entry.second, target, stream); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.Pipeline.Stage.options"); + } + } + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.Pipeline.Stage) + return target; +} + +::size_t Pipeline_Stage::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.Pipeline.Stage) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + total_size += 1UL * this->_internal_args_size(); + for (const auto& msg : this->_internal_args()) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_options_size()); + for (const auto& entry : _internal_options()) { + total_size += _pbi::MapEntryFuncs::ByteSizeLong(entry.first, entry.second); + } + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::google::protobuf::Message::ClassData Pipeline_Stage::_class_data_ = { + Pipeline_Stage::MergeImpl, + nullptr, // OnDemandRegisterArenaDtor +}; +const ::google::protobuf::Message::ClassData* Pipeline_Stage::GetClassData() const { + return &_class_data_; +} + +void Pipeline_Stage::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.Pipeline.Stage) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_args()->MergeFrom( + from._internal_args()); + _this->_impl_.options_.MergeFrom(from._impl_.options_); + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void Pipeline_Stage::CopyFrom(const Pipeline_Stage& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.Pipeline.Stage) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool Pipeline_Stage::IsInitialized() const { + return true; +} + +::_pbi::CachedSize* Pipeline_Stage::AccessCachedSize() const { + return &_impl_._cached_size_; +} +void Pipeline_Stage::InternalSwap(Pipeline_Stage* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.args_.InternalSwap(&other->_impl_.args_); + _impl_.options_.InternalSwap(&other->_impl_.options_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); +} + +::google::protobuf::Metadata Pipeline_Stage::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[9]); +} +// =================================================================== + +class Pipeline::_Internal { + public: +}; + +Pipeline::Pipeline(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.Pipeline) +} +inline PROTOBUF_NDEBUG_INLINE Pipeline::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from) + : stages_{visibility, arena, from.stages_}, + _cached_size_{0} {} + +Pipeline::Pipeline( + ::google::protobuf::Arena* arena, + const Pipeline& from) + : ::google::protobuf::Message(arena) { + Pipeline* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); + + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.Pipeline) +} +inline PROTOBUF_NDEBUG_INLINE Pipeline::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : stages_{visibility, arena}, + _cached_size_{0} {} + +inline void Pipeline::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +Pipeline::~Pipeline() { + // @@protoc_insertion_point(destructor:google.firestore.v1.Pipeline) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void Pipeline::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + _impl_.~Impl_(); +} + +PROTOBUF_NOINLINE void Pipeline::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.Pipeline) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.stages_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* Pipeline::_InternalParse( + const char* ptr, ::_pbi::ParseContext* ctx) { + ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); + return ptr; +} + + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> Pipeline::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_Pipeline_default_instance_._instance, + ::_pbi::TcParser::GenericFallback, // fallback + }, {{ + // repeated .google.firestore.v1.Pipeline.Stage stages = 1 [(.google.api.field_behavior) = REQUIRED]; + {::_pbi::TcParser::FastMtR1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(Pipeline, _impl_.stages_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .google.firestore.v1.Pipeline.Stage stages = 1 [(.google.api.field_behavior) = REQUIRED]; + {PROTOBUF_FIELD_OFFSET(Pipeline, _impl_.stages_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::google::firestore::v1::Pipeline_Stage>()}, + }}, {{ + }}, +}; + +::uint8_t* Pipeline::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.Pipeline) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // repeated .google.firestore.v1.Pipeline.Stage stages = 1 [(.google.api.field_behavior) = REQUIRED]; + for (unsigned i = 0, + n = static_cast(this->_internal_stages_size()); i < n; i++) { + const auto& repfield = this->_internal_stages().Get(i); + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.Pipeline) + return target; +} + +::size_t Pipeline::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.Pipeline) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .google.firestore.v1.Pipeline.Stage stages = 1 [(.google.api.field_behavior) = REQUIRED]; + total_size += 1UL * this->_internal_stages_size(); + for (const auto& msg : this->_internal_stages()) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::google::protobuf::Message::ClassData Pipeline::_class_data_ = { + Pipeline::MergeImpl, + nullptr, // OnDemandRegisterArenaDtor +}; +const ::google::protobuf::Message::ClassData* Pipeline::GetClassData() const { + return &_class_data_; +} + +void Pipeline::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.Pipeline) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_stages()->MergeFrom( + from._internal_stages()); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void Pipeline::CopyFrom(const Pipeline& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.Pipeline) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool Pipeline::IsInitialized() const { + return true; +} + +::_pbi::CachedSize* Pipeline::AccessCachedSize() const { + return &_impl_._cached_size_; +} +void Pipeline::InternalSwap(Pipeline* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.stages_.InternalSwap(&other->_impl_.stages_); +} + +::google::protobuf::Metadata Pipeline::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fdocument_2eproto[10]); +} // @@protoc_insertion_point(namespace_scope) } // namespace v1 } // namespace firestore diff --git a/Firestore/Protos/cpp/google/firestore/v1/document.pb.h b/Firestore/Protos/cpp/google/firestore/v1/document.pb.h index 440f2d29ffc..9e1fabdf0a3 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/document.pb.h +++ b/Firestore/Protos/cpp/google/firestore/v1/document.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -53,6 +53,7 @@ #include "google/protobuf/map_entry.h" #include "google/protobuf/map_field_inl.h" #include "google/protobuf/unknown_field_set.h" +#include "google/api/field_behavior.pb.h" #include "google/protobuf/struct.pb.h" #include "google/protobuf/timestamp.pb.h" #include "google/type/latlng.pb.h" @@ -89,12 +90,27 @@ extern DocumentDefaultTypeInternal _Document_default_instance_; class Document_FieldsEntry_DoNotUse; struct Document_FieldsEntry_DoNotUseDefaultTypeInternal; extern Document_FieldsEntry_DoNotUseDefaultTypeInternal _Document_FieldsEntry_DoNotUse_default_instance_; +class Function; +struct FunctionDefaultTypeInternal; +extern FunctionDefaultTypeInternal _Function_default_instance_; +class Function_OptionsEntry_DoNotUse; +struct Function_OptionsEntry_DoNotUseDefaultTypeInternal; +extern Function_OptionsEntry_DoNotUseDefaultTypeInternal _Function_OptionsEntry_DoNotUse_default_instance_; class MapValue; struct MapValueDefaultTypeInternal; extern MapValueDefaultTypeInternal _MapValue_default_instance_; class MapValue_FieldsEntry_DoNotUse; struct MapValue_FieldsEntry_DoNotUseDefaultTypeInternal; extern MapValue_FieldsEntry_DoNotUseDefaultTypeInternal _MapValue_FieldsEntry_DoNotUse_default_instance_; +class Pipeline; +struct PipelineDefaultTypeInternal; +extern PipelineDefaultTypeInternal _Pipeline_default_instance_; +class Pipeline_Stage; +struct Pipeline_StageDefaultTypeInternal; +extern Pipeline_StageDefaultTypeInternal _Pipeline_Stage_default_instance_; +class Pipeline_Stage_OptionsEntry_DoNotUse; +struct Pipeline_Stage_OptionsEntry_DoNotUseDefaultTypeInternal; +extern Pipeline_Stage_OptionsEntry_DoNotUseDefaultTypeInternal _Pipeline_Stage_OptionsEntry_DoNotUse_default_instance_; class Value; struct ValueDefaultTypeInternal; extern ValueDefaultTypeInternal _Value_default_instance_; @@ -296,6 +312,256 @@ class ArrayValue final : friend struct ::TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto; };// ------------------------------------------------------------------- +class Function final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Function) */ { + public: + inline Function() : Function(nullptr) {} + ~Function() override; + template + explicit PROTOBUF_CONSTEXPR Function(::google::protobuf::internal::ConstantInitialized); + + inline Function(const Function& from) + : Function(nullptr, from) {} + Function(Function&& from) noexcept + : Function() { + *this = ::std::move(from); + } + + inline Function& operator=(const Function& from) { + CopyFrom(from); + return *this; + } + inline Function& operator=(Function&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Function& default_instance() { + return *internal_default_instance(); + } + static inline const Function* internal_default_instance() { + return reinterpret_cast( + &_Function_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + friend void swap(Function& a, Function& b) { + a.Swap(&b); + } + inline void Swap(Function* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Function* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Function* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Function& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Function& from) { + Function::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Function* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "google.firestore.v1.Function"; + } + protected: + explicit Function(::google::protobuf::Arena* arena); + Function(::google::protobuf::Arena* arena, const Function& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kArgsFieldNumber = 2, + kOptionsFieldNumber = 3, + kNameFieldNumber = 1, + }; + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::google::firestore::v1::Value* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Value >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>* _internal_mutable_args(); + public: + const ::google::firestore::v1::Value& args(int index) const; + ::google::firestore::v1::Value* add_args(); + const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Value >& + args() const; + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + int options_size() const; + private: + int _internal_options_size() const; + + public: + void clear_options() ; + const ::google::protobuf::Map& options() const; + ::google::protobuf::Map* mutable_options(); + + private: + const ::google::protobuf::Map& _internal_options() const; + ::google::protobuf::Map* _internal_mutable_options(); + + public: + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // @@protoc_insertion_point(class_scope:google.firestore.v1.Function) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 3, 3, + 48, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Value > args_; + ::google::protobuf::internal::MapField + options_; + ::google::protobuf::internal::ArenaStringPtr name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto; +};// ------------------------------------------------------------------- + +class Function_OptionsEntry_DoNotUse final + : public ::google::protobuf::internal::MapEntry< + Function_OptionsEntry_DoNotUse, std::string, ::google::firestore::v1::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> { + public: + using SuperType = ::google::protobuf::internal::MapEntry< + Function_OptionsEntry_DoNotUse, std::string, ::google::firestore::v1::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>; + Function_OptionsEntry_DoNotUse(); + template + explicit PROTOBUF_CONSTEXPR Function_OptionsEntry_DoNotUse( + ::google::protobuf::internal::ConstantInitialized); + explicit Function_OptionsEntry_DoNotUse(::google::protobuf::Arena* arena); + static const Function_OptionsEntry_DoNotUse* internal_default_instance() { + return reinterpret_cast( + &_Function_OptionsEntry_DoNotUse_default_instance_); + } + static bool ValidateKey(std::string* s) { + return ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::google::protobuf::internal::WireFormatLite::PARSE, "google.firestore.v1.Function.OptionsEntry.key"); + } + static bool ValidateValue(void*) { return true; } + ::google::protobuf::Metadata GetMetadata() const final; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto; +}; +// ------------------------------------------------------------------- + class MapValue final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.MapValue) */ { public: @@ -508,26 +774,26 @@ class MapValue_FieldsEntry_DoNotUse final }; // ------------------------------------------------------------------- -class Value final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Value) */ { +class Pipeline final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Pipeline) */ { public: - inline Value() : Value(nullptr) {} - ~Value() override; + inline Pipeline() : Pipeline(nullptr) {} + ~Pipeline() override; template - explicit PROTOBUF_CONSTEXPR Value(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR Pipeline(::google::protobuf::internal::ConstantInitialized); - inline Value(const Value& from) - : Value(nullptr, from) {} - Value(Value&& from) noexcept - : Value() { + inline Pipeline(const Pipeline& from) + : Pipeline(nullptr, from) {} + Pipeline(Pipeline&& from) noexcept + : Pipeline() { *this = ::std::move(from); } - inline Value& operator=(const Value& from) { + inline Pipeline& operator=(const Pipeline& from) { CopyFrom(from); return *this; } - inline Value& operator=(Value&& from) noexcept { + inline Pipeline& operator=(Pipeline&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -559,35 +825,20 @@ class Value final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Value& default_instance() { + static const Pipeline& default_instance() { return *internal_default_instance(); } - enum ValueTypeCase { - kNullValue = 11, - kBooleanValue = 1, - kIntegerValue = 2, - kDoubleValue = 3, - kTimestampValue = 10, - kStringValue = 17, - kBytesValue = 18, - kReferenceValue = 5, - kGeoPointValue = 8, - kArrayValue = 9, - kMapValue = 6, - VALUE_TYPE_NOT_SET = 0, - }; - - static inline const Value* internal_default_instance() { - return reinterpret_cast( - &_Value_default_instance_); + static inline const Pipeline* internal_default_instance() { + return reinterpret_cast( + &_Pipeline_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 10; - friend void swap(Value& a, Value& b) { + friend void swap(Pipeline& a, Pipeline& b) { a.Swap(&b); } - inline void Swap(Value* other) { + inline void Swap(Pipeline* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -600,7 +851,7 @@ class Value final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Value* other) { + void UnsafeArenaSwap(Pipeline* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -608,14 +859,14 @@ class Value final : // implements Message ---------------------------------------------- - Value* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Pipeline* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const Value& from); + void CopyFrom(const Pipeline& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const Value& from) { - Value::MergeImpl(*this, from); + void MergeFrom( const Pipeline& from) { + Pipeline::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -633,16 +884,16 @@ class Value final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(Value* other); + void InternalSwap(Pipeline* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.Value"; + return "google.firestore.v1.Pipeline"; } protected: - explicit Value(::google::protobuf::Arena* arena); - Value(::google::protobuf::Arena* arena, const Value& from); + explicit Pipeline(::google::protobuf::Arena* arena); + Pipeline(::google::protobuf::Arena* arena, const Pipeline& from); public: static const ClassData _class_data_; @@ -652,42 +903,498 @@ class Value final : // nested types ---------------------------------------------------- + using Stage = Pipeline_Stage; + // accessors ------------------------------------------------------- enum : int { - kNullValueFieldNumber = 11, - kBooleanValueFieldNumber = 1, - kIntegerValueFieldNumber = 2, - kDoubleValueFieldNumber = 3, - kTimestampValueFieldNumber = 10, - kStringValueFieldNumber = 17, - kBytesValueFieldNumber = 18, - kReferenceValueFieldNumber = 5, - kGeoPointValueFieldNumber = 8, - kArrayValueFieldNumber = 9, - kMapValueFieldNumber = 6, + kStagesFieldNumber = 1, }; - // .google.protobuf.NullValue null_value = 11; - bool has_null_value() const; - void clear_null_value() ; - ::google::protobuf::NullValue null_value() const; - void set_null_value(::google::protobuf::NullValue value); - + // repeated .google.firestore.v1.Pipeline.Stage stages = 1 [(.google.api.field_behavior) = REQUIRED]; + int stages_size() const; private: - ::google::protobuf::NullValue _internal_null_value() const; - void _internal_set_null_value(::google::protobuf::NullValue value); + int _internal_stages_size() const; public: - // bool boolean_value = 1; - bool has_boolean_value() const; - void clear_boolean_value() ; - bool boolean_value() const; - void set_boolean_value(bool value); - + void clear_stages() ; + ::google::firestore::v1::Pipeline_Stage* mutable_stages(int index); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Pipeline_Stage >* + mutable_stages(); private: - bool _internal_boolean_value() const; - void _internal_set_boolean_value(bool value); - + const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Pipeline_Stage>& _internal_stages() const; + ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Pipeline_Stage>* _internal_mutable_stages(); + public: + const ::google::firestore::v1::Pipeline_Stage& stages(int index) const; + ::google::firestore::v1::Pipeline_Stage* add_stages(); + const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Pipeline_Stage >& + stages() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.Pipeline) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Pipeline_Stage > stages_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto; +};// ------------------------------------------------------------------- + +class Pipeline_Stage final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Pipeline.Stage) */ { + public: + inline Pipeline_Stage() : Pipeline_Stage(nullptr) {} + ~Pipeline_Stage() override; + template + explicit PROTOBUF_CONSTEXPR Pipeline_Stage(::google::protobuf::internal::ConstantInitialized); + + inline Pipeline_Stage(const Pipeline_Stage& from) + : Pipeline_Stage(nullptr, from) {} + Pipeline_Stage(Pipeline_Stage&& from) noexcept + : Pipeline_Stage() { + *this = ::std::move(from); + } + + inline Pipeline_Stage& operator=(const Pipeline_Stage& from) { + CopyFrom(from); + return *this; + } + inline Pipeline_Stage& operator=(Pipeline_Stage&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Pipeline_Stage& default_instance() { + return *internal_default_instance(); + } + static inline const Pipeline_Stage* internal_default_instance() { + return reinterpret_cast( + &_Pipeline_Stage_default_instance_); + } + static constexpr int kIndexInFileMessages = + 9; + + friend void swap(Pipeline_Stage& a, Pipeline_Stage& b) { + a.Swap(&b); + } + inline void Swap(Pipeline_Stage* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Pipeline_Stage* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Pipeline_Stage* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Pipeline_Stage& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Pipeline_Stage& from) { + Pipeline_Stage::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Pipeline_Stage* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "google.firestore.v1.Pipeline.Stage"; + } + protected: + explicit Pipeline_Stage(::google::protobuf::Arena* arena); + Pipeline_Stage(::google::protobuf::Arena* arena, const Pipeline_Stage& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kArgsFieldNumber = 2, + kOptionsFieldNumber = 3, + kNameFieldNumber = 1, + }; + // repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::google::firestore::v1::Value* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Value >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>* _internal_mutable_args(); + public: + const ::google::firestore::v1::Value& args(int index) const; + ::google::firestore::v1::Value* add_args(); + const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Value >& + args() const; + // map options = 3 [(.google.api.field_behavior) = OPTIONAL]; + int options_size() const; + private: + int _internal_options_size() const; + + public: + void clear_options() ; + const ::google::protobuf::Map& options() const; + ::google::protobuf::Map* mutable_options(); + + private: + const ::google::protobuf::Map& _internal_options() const; + ::google::protobuf::Map* _internal_mutable_options(); + + public: + // string name = 1 [(.google.api.field_behavior) = REQUIRED]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // @@protoc_insertion_point(class_scope:google.firestore.v1.Pipeline.Stage) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 3, 3, + 54, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Value > args_; + ::google::protobuf::internal::MapField + options_; + ::google::protobuf::internal::ArenaStringPtr name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto; +};// ------------------------------------------------------------------- + +class Pipeline_Stage_OptionsEntry_DoNotUse final + : public ::google::protobuf::internal::MapEntry< + Pipeline_Stage_OptionsEntry_DoNotUse, std::string, ::google::firestore::v1::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> { + public: + using SuperType = ::google::protobuf::internal::MapEntry< + Pipeline_Stage_OptionsEntry_DoNotUse, std::string, ::google::firestore::v1::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>; + Pipeline_Stage_OptionsEntry_DoNotUse(); + template + explicit PROTOBUF_CONSTEXPR Pipeline_Stage_OptionsEntry_DoNotUse( + ::google::protobuf::internal::ConstantInitialized); + explicit Pipeline_Stage_OptionsEntry_DoNotUse(::google::protobuf::Arena* arena); + static const Pipeline_Stage_OptionsEntry_DoNotUse* internal_default_instance() { + return reinterpret_cast( + &_Pipeline_Stage_OptionsEntry_DoNotUse_default_instance_); + } + static bool ValidateKey(std::string* s) { + return ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::google::protobuf::internal::WireFormatLite::PARSE, "google.firestore.v1.Pipeline.Stage.OptionsEntry.key"); + } + static bool ValidateValue(void*) { return true; } + ::google::protobuf::Metadata GetMetadata() const final; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fdocument_2eproto; +}; +// ------------------------------------------------------------------- + +class Value final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Value) */ { + public: + inline Value() : Value(nullptr) {} + ~Value() override; + template + explicit PROTOBUF_CONSTEXPR Value(::google::protobuf::internal::ConstantInitialized); + + inline Value(const Value& from) + : Value(nullptr, from) {} + Value(Value&& from) noexcept + : Value() { + *this = ::std::move(from); + } + + inline Value& operator=(const Value& from) { + CopyFrom(from); + return *this; + } + inline Value& operator=(Value&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Value& default_instance() { + return *internal_default_instance(); + } + enum ValueTypeCase { + kNullValue = 11, + kBooleanValue = 1, + kIntegerValue = 2, + kDoubleValue = 3, + kTimestampValue = 10, + kStringValue = 17, + kBytesValue = 18, + kReferenceValue = 5, + kGeoPointValue = 8, + kArrayValue = 9, + kMapValue = 6, + kFieldReferenceValue = 19, + kFunctionValue = 20, + kPipelineValue = 21, + VALUE_TYPE_NOT_SET = 0, + }; + + static inline const Value* internal_default_instance() { + return reinterpret_cast( + &_Value_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(Value& a, Value& b) { + a.Swap(&b); + } + inline void Swap(Value* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Value* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Value* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Value& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Value& from) { + Value::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Value* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "google.firestore.v1.Value"; + } + protected: + explicit Value(::google::protobuf::Arena* arena); + Value(::google::protobuf::Arena* arena, const Value& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNullValueFieldNumber = 11, + kBooleanValueFieldNumber = 1, + kIntegerValueFieldNumber = 2, + kDoubleValueFieldNumber = 3, + kTimestampValueFieldNumber = 10, + kStringValueFieldNumber = 17, + kBytesValueFieldNumber = 18, + kReferenceValueFieldNumber = 5, + kGeoPointValueFieldNumber = 8, + kArrayValueFieldNumber = 9, + kMapValueFieldNumber = 6, + kFieldReferenceValueFieldNumber = 19, + kFunctionValueFieldNumber = 20, + kPipelineValueFieldNumber = 21, + }; + // .google.protobuf.NullValue null_value = 11; + bool has_null_value() const; + void clear_null_value() ; + ::google::protobuf::NullValue null_value() const; + void set_null_value(::google::protobuf::NullValue value); + + private: + ::google::protobuf::NullValue _internal_null_value() const; + void _internal_set_null_value(::google::protobuf::NullValue value); + + public: + // bool boolean_value = 1; + bool has_boolean_value() const; + void clear_boolean_value() ; + bool boolean_value() const; + void set_boolean_value(bool value); + + private: + bool _internal_boolean_value() const; + void _internal_set_boolean_value(bool value); + public: // int64 integer_value = 2; bool has_integer_value() const; @@ -837,6 +1544,61 @@ class Value final : const ::google::firestore::v1::MapValue& _internal_map_value() const; ::google::firestore::v1::MapValue* _internal_mutable_map_value(); + public: + // string field_reference_value = 19; + bool has_field_reference_value() const; + void clear_field_reference_value() ; + const std::string& field_reference_value() const; + template + void set_field_reference_value(Arg_&& arg, Args_... args); + std::string* mutable_field_reference_value(); + PROTOBUF_NODISCARD std::string* release_field_reference_value(); + void set_allocated_field_reference_value(std::string* value); + + private: + const std::string& _internal_field_reference_value() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_field_reference_value( + const std::string& value); + std::string* _internal_mutable_field_reference_value(); + + public: + // .google.firestore.v1.Function function_value = 20; + bool has_function_value() const; + private: + bool _internal_has_function_value() const; + + public: + void clear_function_value() ; + const ::google::firestore::v1::Function& function_value() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Function* release_function_value(); + ::google::firestore::v1::Function* mutable_function_value(); + void set_allocated_function_value(::google::firestore::v1::Function* value); + void unsafe_arena_set_allocated_function_value(::google::firestore::v1::Function* value); + ::google::firestore::v1::Function* unsafe_arena_release_function_value(); + + private: + const ::google::firestore::v1::Function& _internal_function_value() const; + ::google::firestore::v1::Function* _internal_mutable_function_value(); + + public: + // .google.firestore.v1.Pipeline pipeline_value = 21; + bool has_pipeline_value() const; + private: + bool _internal_has_pipeline_value() const; + + public: + void clear_pipeline_value() ; + const ::google::firestore::v1::Pipeline& pipeline_value() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Pipeline* release_pipeline_value(); + ::google::firestore::v1::Pipeline* mutable_pipeline_value(); + void set_allocated_pipeline_value(::google::firestore::v1::Pipeline* value); + void unsafe_arena_set_allocated_pipeline_value(::google::firestore::v1::Pipeline* value); + ::google::firestore::v1::Pipeline* unsafe_arena_release_pipeline_value(); + + private: + const ::google::firestore::v1::Pipeline& _internal_pipeline_value() const; + ::google::firestore::v1::Pipeline* _internal_mutable_pipeline_value(); + public: void clear_value_type(); ValueTypeCase value_type_case() const; @@ -854,14 +1616,17 @@ class Value final : void set_has_geo_point_value(); void set_has_array_value(); void set_has_map_value(); + void set_has_field_reference_value(); + void set_has_function_value(); + void set_has_pipeline_value(); inline bool has_value_type() const; inline void clear_has_value_type(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 0, 11, 4, - 69, 2> + 0, 14, 6, + 90, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -891,6 +1656,9 @@ class Value final : ::google::type::LatLng* geo_point_value_; ::google::firestore::v1::ArrayValue* array_value_; ::google::firestore::v1::MapValue* map_value_; + ::google::protobuf::internal::ArenaStringPtr field_reference_value_; + ::google::firestore::v1::Function* function_value_; + ::google::firestore::v1::Pipeline* pipeline_value_; } value_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::uint32_t _oneof_case_[1]; @@ -1984,155 +2752,392 @@ inline ::google::type::LatLng* Value::mutable_geo_point_value() ABSL_ATTRIBUTE_L return _msg; } -// .google.firestore.v1.ArrayValue array_value = 9; -inline bool Value::has_array_value() const { - return value_type_case() == kArrayValue; +// .google.firestore.v1.ArrayValue array_value = 9; +inline bool Value::has_array_value() const { + return value_type_case() == kArrayValue; +} +inline bool Value::_internal_has_array_value() const { + return value_type_case() == kArrayValue; +} +inline void Value::set_has_array_value() { + _impl_._oneof_case_[0] = kArrayValue; +} +inline void Value::clear_array_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (value_type_case() == kArrayValue) { + if (GetArena() == nullptr) { + delete _impl_.value_type_.array_value_; + } + clear_has_value_type(); + } +} +inline ::google::firestore::v1::ArrayValue* Value::release_array_value() { + // @@protoc_insertion_point(field_release:google.firestore.v1.Value.array_value) + if (value_type_case() == kArrayValue) { + clear_has_value_type(); + auto* temp = _impl_.value_type_.array_value_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_type_.array_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::firestore::v1::ArrayValue& Value::_internal_array_value() const { + return value_type_case() == kArrayValue ? *_impl_.value_type_.array_value_ : reinterpret_cast<::google::firestore::v1::ArrayValue&>(::google::firestore::v1::_ArrayValue_default_instance_); +} +inline const ::google::firestore::v1::ArrayValue& Value::array_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Value.array_value) + return _internal_array_value(); +} +inline ::google::firestore::v1::ArrayValue* Value::unsafe_arena_release_array_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.Value.array_value) + if (value_type_case() == kArrayValue) { + clear_has_value_type(); + auto* temp = _impl_.value_type_.array_value_; + _impl_.value_type_.array_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Value::unsafe_arena_set_allocated_array_value(::google::firestore::v1::ArrayValue* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value_type(); + if (value) { + set_has_array_value(); + _impl_.value_type_.array_value_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.Value.array_value) +} +inline ::google::firestore::v1::ArrayValue* Value::_internal_mutable_array_value() { + if (value_type_case() != kArrayValue) { + clear_value_type(); + set_has_array_value(); + _impl_.value_type_.array_value_ = CreateMaybeMessage<::google::firestore::v1::ArrayValue>(GetArena()); + } + return _impl_.value_type_.array_value_; +} +inline ::google::firestore::v1::ArrayValue* Value::mutable_array_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::ArrayValue* _msg = _internal_mutable_array_value(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Value.array_value) + return _msg; +} + +// .google.firestore.v1.MapValue map_value = 6; +inline bool Value::has_map_value() const { + return value_type_case() == kMapValue; +} +inline bool Value::_internal_has_map_value() const { + return value_type_case() == kMapValue; +} +inline void Value::set_has_map_value() { + _impl_._oneof_case_[0] = kMapValue; +} +inline void Value::clear_map_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (value_type_case() == kMapValue) { + if (GetArena() == nullptr) { + delete _impl_.value_type_.map_value_; + } + clear_has_value_type(); + } +} +inline ::google::firestore::v1::MapValue* Value::release_map_value() { + // @@protoc_insertion_point(field_release:google.firestore.v1.Value.map_value) + if (value_type_case() == kMapValue) { + clear_has_value_type(); + auto* temp = _impl_.value_type_.map_value_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.value_type_.map_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::google::firestore::v1::MapValue& Value::_internal_map_value() const { + return value_type_case() == kMapValue ? *_impl_.value_type_.map_value_ : reinterpret_cast<::google::firestore::v1::MapValue&>(::google::firestore::v1::_MapValue_default_instance_); +} +inline const ::google::firestore::v1::MapValue& Value::map_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Value.map_value) + return _internal_map_value(); +} +inline ::google::firestore::v1::MapValue* Value::unsafe_arena_release_map_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.Value.map_value) + if (value_type_case() == kMapValue) { + clear_has_value_type(); + auto* temp = _impl_.value_type_.map_value_; + _impl_.value_type_.map_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Value::unsafe_arena_set_allocated_map_value(::google::firestore::v1::MapValue* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_value_type(); + if (value) { + set_has_map_value(); + _impl_.value_type_.map_value_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.Value.map_value) +} +inline ::google::firestore::v1::MapValue* Value::_internal_mutable_map_value() { + if (value_type_case() != kMapValue) { + clear_value_type(); + set_has_map_value(); + _impl_.value_type_.map_value_ = CreateMaybeMessage<::google::firestore::v1::MapValue>(GetArena()); + } + return _impl_.value_type_.map_value_; +} +inline ::google::firestore::v1::MapValue* Value::mutable_map_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::MapValue* _msg = _internal_mutable_map_value(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Value.map_value) + return _msg; +} + +// string field_reference_value = 19; +inline bool Value::has_field_reference_value() const { + return value_type_case() == kFieldReferenceValue; +} +inline void Value::set_has_field_reference_value() { + _impl_._oneof_case_[0] = kFieldReferenceValue; +} +inline void Value::clear_field_reference_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (value_type_case() == kFieldReferenceValue) { + _impl_.value_type_.field_reference_value_.Destroy(); + clear_has_value_type(); + } +} +inline const std::string& Value::field_reference_value() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Value.field_reference_value) + return _internal_field_reference_value(); +} +template +inline PROTOBUF_ALWAYS_INLINE void Value::set_field_reference_value(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (value_type_case() != kFieldReferenceValue) { + clear_value_type(); + + set_has_field_reference_value(); + _impl_.value_type_.field_reference_value_.InitDefault(); + } + _impl_.value_type_.field_reference_value_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.Value.field_reference_value) +} +inline std::string* Value::mutable_field_reference_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_field_reference_value(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Value.field_reference_value) + return _s; +} +inline const std::string& Value::_internal_field_reference_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + if (value_type_case() != kFieldReferenceValue) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.value_type_.field_reference_value_.Get(); +} +inline void Value::_internal_set_field_reference_value(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (value_type_case() != kFieldReferenceValue) { + clear_value_type(); + + set_has_field_reference_value(); + _impl_.value_type_.field_reference_value_.InitDefault(); + } + _impl_.value_type_.field_reference_value_.Set(value, GetArena()); +} +inline std::string* Value::_internal_mutable_field_reference_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (value_type_case() != kFieldReferenceValue) { + clear_value_type(); + + set_has_field_reference_value(); + _impl_.value_type_.field_reference_value_.InitDefault(); + } + return _impl_.value_type_.field_reference_value_.Mutable( GetArena()); +} +inline std::string* Value::release_field_reference_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.Value.field_reference_value) + if (value_type_case() != kFieldReferenceValue) { + return nullptr; + } + clear_has_value_type(); + return _impl_.value_type_.field_reference_value_.Release(); +} +inline void Value::set_allocated_field_reference_value(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (has_value_type()) { + clear_value_type(); + } + if (value != nullptr) { + set_has_field_reference_value(); + _impl_.value_type_.field_reference_value_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.Value.field_reference_value) +} + +// .google.firestore.v1.Function function_value = 20; +inline bool Value::has_function_value() const { + return value_type_case() == kFunctionValue; } -inline bool Value::_internal_has_array_value() const { - return value_type_case() == kArrayValue; +inline bool Value::_internal_has_function_value() const { + return value_type_case() == kFunctionValue; } -inline void Value::set_has_array_value() { - _impl_._oneof_case_[0] = kArrayValue; +inline void Value::set_has_function_value() { + _impl_._oneof_case_[0] = kFunctionValue; } -inline void Value::clear_array_value() { +inline void Value::clear_function_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (value_type_case() == kArrayValue) { + if (value_type_case() == kFunctionValue) { if (GetArena() == nullptr) { - delete _impl_.value_type_.array_value_; + delete _impl_.value_type_.function_value_; } clear_has_value_type(); } } -inline ::google::firestore::v1::ArrayValue* Value::release_array_value() { - // @@protoc_insertion_point(field_release:google.firestore.v1.Value.array_value) - if (value_type_case() == kArrayValue) { +inline ::google::firestore::v1::Function* Value::release_function_value() { + // @@protoc_insertion_point(field_release:google.firestore.v1.Value.function_value) + if (value_type_case() == kFunctionValue) { clear_has_value_type(); - auto* temp = _impl_.value_type_.array_value_; + auto* temp = _impl_.value_type_.function_value_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.value_type_.array_value_ = nullptr; + _impl_.value_type_.function_value_ = nullptr; return temp; } else { return nullptr; } } -inline const ::google::firestore::v1::ArrayValue& Value::_internal_array_value() const { - return value_type_case() == kArrayValue ? *_impl_.value_type_.array_value_ : reinterpret_cast<::google::firestore::v1::ArrayValue&>(::google::firestore::v1::_ArrayValue_default_instance_); +inline const ::google::firestore::v1::Function& Value::_internal_function_value() const { + return value_type_case() == kFunctionValue ? *_impl_.value_type_.function_value_ : reinterpret_cast<::google::firestore::v1::Function&>(::google::firestore::v1::_Function_default_instance_); } -inline const ::google::firestore::v1::ArrayValue& Value::array_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.Value.array_value) - return _internal_array_value(); +inline const ::google::firestore::v1::Function& Value::function_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Value.function_value) + return _internal_function_value(); } -inline ::google::firestore::v1::ArrayValue* Value::unsafe_arena_release_array_value() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.Value.array_value) - if (value_type_case() == kArrayValue) { +inline ::google::firestore::v1::Function* Value::unsafe_arena_release_function_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.Value.function_value) + if (value_type_case() == kFunctionValue) { clear_has_value_type(); - auto* temp = _impl_.value_type_.array_value_; - _impl_.value_type_.array_value_ = nullptr; + auto* temp = _impl_.value_type_.function_value_; + _impl_.value_type_.function_value_ = nullptr; return temp; } else { return nullptr; } } -inline void Value::unsafe_arena_set_allocated_array_value(::google::firestore::v1::ArrayValue* value) { +inline void Value::unsafe_arena_set_allocated_function_value(::google::firestore::v1::Function* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_value_type(); if (value) { - set_has_array_value(); - _impl_.value_type_.array_value_ = value; + set_has_function_value(); + _impl_.value_type_.function_value_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.Value.array_value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.Value.function_value) } -inline ::google::firestore::v1::ArrayValue* Value::_internal_mutable_array_value() { - if (value_type_case() != kArrayValue) { +inline ::google::firestore::v1::Function* Value::_internal_mutable_function_value() { + if (value_type_case() != kFunctionValue) { clear_value_type(); - set_has_array_value(); - _impl_.value_type_.array_value_ = CreateMaybeMessage<::google::firestore::v1::ArrayValue>(GetArena()); + set_has_function_value(); + _impl_.value_type_.function_value_ = CreateMaybeMessage<::google::firestore::v1::Function>(GetArena()); } - return _impl_.value_type_.array_value_; + return _impl_.value_type_.function_value_; } -inline ::google::firestore::v1::ArrayValue* Value::mutable_array_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::ArrayValue* _msg = _internal_mutable_array_value(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.Value.array_value) +inline ::google::firestore::v1::Function* Value::mutable_function_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Function* _msg = _internal_mutable_function_value(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Value.function_value) return _msg; } -// .google.firestore.v1.MapValue map_value = 6; -inline bool Value::has_map_value() const { - return value_type_case() == kMapValue; +// .google.firestore.v1.Pipeline pipeline_value = 21; +inline bool Value::has_pipeline_value() const { + return value_type_case() == kPipelineValue; } -inline bool Value::_internal_has_map_value() const { - return value_type_case() == kMapValue; +inline bool Value::_internal_has_pipeline_value() const { + return value_type_case() == kPipelineValue; } -inline void Value::set_has_map_value() { - _impl_._oneof_case_[0] = kMapValue; +inline void Value::set_has_pipeline_value() { + _impl_._oneof_case_[0] = kPipelineValue; } -inline void Value::clear_map_value() { +inline void Value::clear_pipeline_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (value_type_case() == kMapValue) { + if (value_type_case() == kPipelineValue) { if (GetArena() == nullptr) { - delete _impl_.value_type_.map_value_; + delete _impl_.value_type_.pipeline_value_; } clear_has_value_type(); } } -inline ::google::firestore::v1::MapValue* Value::release_map_value() { - // @@protoc_insertion_point(field_release:google.firestore.v1.Value.map_value) - if (value_type_case() == kMapValue) { +inline ::google::firestore::v1::Pipeline* Value::release_pipeline_value() { + // @@protoc_insertion_point(field_release:google.firestore.v1.Value.pipeline_value) + if (value_type_case() == kPipelineValue) { clear_has_value_type(); - auto* temp = _impl_.value_type_.map_value_; + auto* temp = _impl_.value_type_.pipeline_value_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.value_type_.map_value_ = nullptr; + _impl_.value_type_.pipeline_value_ = nullptr; return temp; } else { return nullptr; } } -inline const ::google::firestore::v1::MapValue& Value::_internal_map_value() const { - return value_type_case() == kMapValue ? *_impl_.value_type_.map_value_ : reinterpret_cast<::google::firestore::v1::MapValue&>(::google::firestore::v1::_MapValue_default_instance_); +inline const ::google::firestore::v1::Pipeline& Value::_internal_pipeline_value() const { + return value_type_case() == kPipelineValue ? *_impl_.value_type_.pipeline_value_ : reinterpret_cast<::google::firestore::v1::Pipeline&>(::google::firestore::v1::_Pipeline_default_instance_); } -inline const ::google::firestore::v1::MapValue& Value::map_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.Value.map_value) - return _internal_map_value(); +inline const ::google::firestore::v1::Pipeline& Value::pipeline_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Value.pipeline_value) + return _internal_pipeline_value(); } -inline ::google::firestore::v1::MapValue* Value::unsafe_arena_release_map_value() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.Value.map_value) - if (value_type_case() == kMapValue) { +inline ::google::firestore::v1::Pipeline* Value::unsafe_arena_release_pipeline_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.Value.pipeline_value) + if (value_type_case() == kPipelineValue) { clear_has_value_type(); - auto* temp = _impl_.value_type_.map_value_; - _impl_.value_type_.map_value_ = nullptr; + auto* temp = _impl_.value_type_.pipeline_value_; + _impl_.value_type_.pipeline_value_ = nullptr; return temp; } else { return nullptr; } } -inline void Value::unsafe_arena_set_allocated_map_value(::google::firestore::v1::MapValue* value) { +inline void Value::unsafe_arena_set_allocated_pipeline_value(::google::firestore::v1::Pipeline* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_value_type(); if (value) { - set_has_map_value(); - _impl_.value_type_.map_value_ = value; + set_has_pipeline_value(); + _impl_.value_type_.pipeline_value_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.Value.map_value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.Value.pipeline_value) } -inline ::google::firestore::v1::MapValue* Value::_internal_mutable_map_value() { - if (value_type_case() != kMapValue) { +inline ::google::firestore::v1::Pipeline* Value::_internal_mutable_pipeline_value() { + if (value_type_case() != kPipelineValue) { clear_value_type(); - set_has_map_value(); - _impl_.value_type_.map_value_ = CreateMaybeMessage<::google::firestore::v1::MapValue>(GetArena()); + set_has_pipeline_value(); + _impl_.value_type_.pipeline_value_ = CreateMaybeMessage<::google::firestore::v1::Pipeline>(GetArena()); } - return _impl_.value_type_.map_value_; + return _impl_.value_type_.pipeline_value_; } -inline ::google::firestore::v1::MapValue* Value::mutable_map_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::MapValue* _msg = _internal_mutable_map_value(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.Value.map_value) +inline ::google::firestore::v1::Pipeline* Value::mutable_pipeline_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Pipeline* _msg = _internal_mutable_pipeline_value(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Value.pipeline_value) return _msg; } @@ -2232,6 +3237,331 @@ inline ::google::protobuf::Map* Map return _internal_mutable_fields(); } +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// Function + +// string name = 1 [(.google.api.field_behavior) = REQUIRED]; +inline void Function::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& Function::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Function.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void Function::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.Function.name) +} +inline std::string* Function::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Function.name) + return _s; +} +inline const std::string& Function::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void Function::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* Function::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* Function::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.Function.name) + return _impl_.name_.Release(); +} +inline void Function::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.Function.name) +} + +// repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; +inline int Function::_internal_args_size() const { + return _internal_args().size(); +} +inline int Function::args_size() const { + return _internal_args_size(); +} +inline void Function::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::google::firestore::v1::Value* Function::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Function.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>* Function::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.Function.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); +} +inline const ::google::firestore::v1::Value& Function::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Function.args) + return _internal_args().Get(index); +} +inline ::google::firestore::v1::Value* Function::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::google::firestore::v1::Value* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:google.firestore.v1.Function.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>& Function::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.Function.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>& +Function::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>* +Function::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} + +// map options = 3 [(.google.api.field_behavior) = OPTIONAL]; +inline int Function::_internal_options_size() const { + return _internal_options().size(); +} +inline int Function::options_size() const { + return _internal_options_size(); +} +inline void Function::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline const ::google::protobuf::Map& Function::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_.GetMap(); +} +inline const ::google::protobuf::Map& Function::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_map:google.firestore.v1.Function.options) + return _internal_options(); +} +inline ::google::protobuf::Map* Function::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _impl_.options_.MutableMap(); +} +inline ::google::protobuf::Map* Function::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_map:google.firestore.v1.Function.options) + return _internal_mutable_options(); +} + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// Pipeline_Stage + +// string name = 1 [(.google.api.field_behavior) = REQUIRED]; +inline void Pipeline_Stage::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& Pipeline_Stage::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Pipeline.Stage.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void Pipeline_Stage::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.Pipeline.Stage.name) +} +inline std::string* Pipeline_Stage::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Pipeline.Stage.name) + return _s; +} +inline const std::string& Pipeline_Stage::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void Pipeline_Stage::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* Pipeline_Stage::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* Pipeline_Stage::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.Pipeline.Stage.name) + return _impl_.name_.Release(); +} +inline void Pipeline_Stage::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.Pipeline.Stage.name) +} + +// repeated .google.firestore.v1.Value args = 2 [(.google.api.field_behavior) = OPTIONAL]; +inline int Pipeline_Stage::_internal_args_size() const { + return _internal_args().size(); +} +inline int Pipeline_Stage::args_size() const { + return _internal_args_size(); +} +inline void Pipeline_Stage::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::google::firestore::v1::Value* Pipeline_Stage::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Pipeline.Stage.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>* Pipeline_Stage::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.Pipeline.Stage.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); +} +inline const ::google::firestore::v1::Value& Pipeline_Stage::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Pipeline.Stage.args) + return _internal_args().Get(index); +} +inline ::google::firestore::v1::Value* Pipeline_Stage::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::google::firestore::v1::Value* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:google.firestore.v1.Pipeline.Stage.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>& Pipeline_Stage::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.Pipeline.Stage.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>& +Pipeline_Stage::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Value>* +Pipeline_Stage::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} + +// map options = 3 [(.google.api.field_behavior) = OPTIONAL]; +inline int Pipeline_Stage::_internal_options_size() const { + return _internal_options().size(); +} +inline int Pipeline_Stage::options_size() const { + return _internal_options_size(); +} +inline void Pipeline_Stage::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline const ::google::protobuf::Map& Pipeline_Stage::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_.GetMap(); +} +inline const ::google::protobuf::Map& Pipeline_Stage::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_map:google.firestore.v1.Pipeline.Stage.options) + return _internal_options(); +} +inline ::google::protobuf::Map* Pipeline_Stage::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _impl_.options_.MutableMap(); +} +inline ::google::protobuf::Map* Pipeline_Stage::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_map:google.firestore.v1.Pipeline.Stage.options) + return _internal_mutable_options(); +} + +// ------------------------------------------------------------------- + +// Pipeline + +// repeated .google.firestore.v1.Pipeline.Stage stages = 1 [(.google.api.field_behavior) = REQUIRED]; +inline int Pipeline::_internal_stages_size() const { + return _internal_stages().size(); +} +inline int Pipeline::stages_size() const { + return _internal_stages_size(); +} +inline void Pipeline::clear_stages() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stages_.Clear(); +} +inline ::google::firestore::v1::Pipeline_Stage* Pipeline::mutable_stages(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.Pipeline.stages) + return _internal_mutable_stages()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Pipeline_Stage>* Pipeline::mutable_stages() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.Pipeline.stages) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_stages(); +} +inline const ::google::firestore::v1::Pipeline_Stage& Pipeline::stages(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.Pipeline.stages) + return _internal_stages().Get(index); +} +inline ::google::firestore::v1::Pipeline_Stage* Pipeline::add_stages() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::google::firestore::v1::Pipeline_Stage* _add = _internal_mutable_stages()->Add(); + // @@protoc_insertion_point(field_add:google.firestore.v1.Pipeline.stages) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Pipeline_Stage>& Pipeline::stages() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.Pipeline.stages) + return _internal_stages(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Pipeline_Stage>& +Pipeline::_internal_stages() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stages_; +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Pipeline_Stage>* +Pipeline::_internal_mutable_stages() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.stages_; +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ diff --git a/Firestore/Protos/cpp/google/firestore/v1/explain_stats.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/explain_stats.pb.cc new file mode 100644 index 00000000000..56f6a17eec0 --- /dev/null +++ b/Firestore/Protos/cpp/google/firestore/v1/explain_stats.pb.cc @@ -0,0 +1,366 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/firestore/v1/explain_stats.proto + +#include "google/firestore/v1/explain_stats.pb.h" + +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +#include "google/protobuf/generated_message_tctable_impl.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace google { +namespace firestore { +namespace v1 { + +inline constexpr ExplainStats::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + data_{nullptr} {} + +template +PROTOBUF_CONSTEXPR ExplainStats::ExplainStats(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct ExplainStatsDefaultTypeInternal { + PROTOBUF_CONSTEXPR ExplainStatsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ExplainStatsDefaultTypeInternal() {} + union { + ExplainStats _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExplainStatsDefaultTypeInternal _ExplainStats_default_instance_; +} // namespace v1 +} // namespace firestore +} // namespace google +static ::_pb::Metadata file_level_metadata_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto[1]; +static constexpr const ::_pb::EnumDescriptor** + file_level_enum_descriptors_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto = nullptr; +static constexpr const ::_pb::ServiceDescriptor** + file_level_service_descriptors_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto = nullptr; +const ::uint32_t TableStruct_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( + protodesc_cold) = { + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExplainStats, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExplainStats, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExplainStats, _impl_.data_), + 0, +}; + +static const ::_pbi::MigrationSchema + schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + {0, 9, -1, sizeof(::google::firestore::v1::ExplainStats)}, +}; + +static const ::_pb::Message* const file_default_instances[] = { + &::google::firestore::v1::_ExplainStats_default_instance_._instance, +}; +const char descriptor_table_protodef_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + "\n\'google/firestore/v1/explain_stats.prot" + "o\022\023google.firestore.v1\032\031google/protobuf/" + "any.proto\"2\n\014ExplainStats\022\"\n\004data\030\001 \001(\0132" + "\024.google.protobuf.AnyB\302\001\n\027com.google.fir" + "estore.v1B\021ExplainStatsProtoP\001Z;cloud.go" + "ogle.com/go/firestore/apiv1/firestorepb;" + "firestorepb\252\002\031Google.Cloud.Firestore.V1\312" + "\002\031Google\\Cloud\\Firestore\\V1\352\002\034Google::Cl" + "oud::Firestore::V1b\006proto3" +}; +static const ::_pbi::DescriptorTable* const descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_deps[1] = + { + &::descriptor_table_google_2fprotobuf_2fany_2eproto, +}; +static ::absl::once_flag descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto = { + false, + false, + 346, + descriptor_table_protodef_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto, + "google/firestore/v1/explain_stats.proto", + &descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_once, + descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_deps, + 1, + 1, + schemas, + file_default_instances, + TableStruct_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto::offsets, + file_level_metadata_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto, + file_level_enum_descriptors_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto, + file_level_service_descriptors_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto, +}; + +// This function exists to be marked as weak. +// It can significantly speed up compilation by breaking up LLVM's SCC +// in the .pb.cc translation units. Large translation units see a +// reduction of more than 35% of walltime for optimized builds. Without +// the weak attribute all the messages in the file, including all the +// vtables and everything they use become part of the same SCC through +// a cycle like: +// GetMetadata -> descriptor table -> default instances -> +// vtables -> GetMetadata +// By adding a weak function here we break the connection from the +// individual vtables back into the descriptor table. +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_getter() { + return &descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto; +} +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 +static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto(&descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto); +namespace google { +namespace firestore { +namespace v1 { +// =================================================================== + +class ExplainStats::_Internal { + public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(ExplainStats, _impl_._has_bits_); + static const ::google::protobuf::Any& data(const ExplainStats* msg); + static void set_has_data(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +const ::google::protobuf::Any& ExplainStats::_Internal::data(const ExplainStats* msg) { + return *msg->_impl_.data_; +} +void ExplainStats::clear_data() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.data_ != nullptr) _impl_.data_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +ExplainStats::ExplainStats(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.ExplainStats) +} +inline PROTOBUF_NDEBUG_INLINE ExplainStats::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from) + : _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +ExplainStats::ExplainStats( + ::google::protobuf::Arena* arena, + const ExplainStats& from) + : ::google::protobuf::Message(arena) { + ExplainStats* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.data_ = (cached_has_bits & 0x00000001u) + ? CreateMaybeMessage<::google::protobuf::Any>(arena, *from._impl_.data_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.ExplainStats) +} +inline PROTOBUF_NDEBUG_INLINE ExplainStats::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} + +inline void ExplainStats::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.data_ = {}; +} +ExplainStats::~ExplainStats() { + // @@protoc_insertion_point(destructor:google.firestore.v1.ExplainStats) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void ExplainStats::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + delete _impl_.data_; + _impl_.~Impl_(); +} + +PROTOBUF_NOINLINE void ExplainStats::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.ExplainStats) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.data_ != nullptr); + _impl_.data_->Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* ExplainStats::_InternalParse( + const char* ptr, ::_pbi::ParseContext* ctx) { + ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); + return ptr; +} + + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> ExplainStats::_table_ = { + { + PROTOBUF_FIELD_OFFSET(ExplainStats, _impl_._has_bits_), + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_ExplainStats_default_instance_._instance, + ::_pbi::TcParser::GenericFallback, // fallback + }, {{ + // .google.protobuf.Any data = 1; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, PROTOBUF_FIELD_OFFSET(ExplainStats, _impl_.data_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .google.protobuf.Any data = 1; + {PROTOBUF_FIELD_OFFSET(ExplainStats, _impl_.data_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::google::protobuf::Any>()}, + }}, {{ + }}, +}; + +::uint8_t* ExplainStats::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.ExplainStats) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + // .google.protobuf.Any data = 1; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, _Internal::data(this), + _Internal::data(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.ExplainStats) + return target; +} + +::size_t ExplainStats::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.ExplainStats) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .google.protobuf.Any data = 1; + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.data_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::google::protobuf::Message::ClassData ExplainStats::_class_data_ = { + ExplainStats::MergeImpl, + nullptr, // OnDemandRegisterArenaDtor +}; +const ::google::protobuf::Message::ClassData* ExplainStats::GetClassData() const { + return &_class_data_; +} + +void ExplainStats::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.ExplainStats) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) { + _this->_internal_mutable_data()->::google::protobuf::Any::MergeFrom( + from._internal_data()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void ExplainStats::CopyFrom(const ExplainStats& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.ExplainStats) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool ExplainStats::IsInitialized() const { + return true; +} + +::_pbi::CachedSize* ExplainStats::AccessCachedSize() const { + return &_impl_._cached_size_; +} +void ExplainStats::InternalSwap(ExplainStats* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + swap(_impl_.data_, other->_impl_.data_); +} + +::google::protobuf::Metadata ExplainStats::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto[0]); +} +// @@protoc_insertion_point(namespace_scope) +} // namespace v1 +} // namespace firestore +} // namespace google +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +#include "google/protobuf/port_undef.inc" diff --git a/Firestore/Protos/cpp/google/firestore/v1/explain_stats.pb.h b/Firestore/Protos/cpp/google/firestore/v1/explain_stats.pb.h new file mode 100644 index 00000000000..9dfa833e6bc --- /dev/null +++ b/Firestore/Protos/cpp/google/firestore/v1/explain_stats.pb.h @@ -0,0 +1,398 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/firestore/v1/explain_stats.proto +// Protobuf C++ Version: 4.25.1 + +#ifndef GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_2epb_2eh +#define GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/port_def.inc" +#if PROTOBUF_VERSION < 4025000 +#error "This file was generated by a newer version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please update" +#error "your headers." +#endif // PROTOBUF_VERSION + +#if 4025001 < PROTOBUF_MIN_PROTOC_VERSION +#error "This file was generated by an older version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please" +#error "regenerate this file with a newer version of protoc." +#endif // PROTOBUF_MIN_PROTOC_VERSION +#include "google/protobuf/port_undef.inc" +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/unknown_field_set.h" +#include "google/protobuf/any.pb.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto + +namespace google { +namespace protobuf { +namespace internal { +class AnyMetadata; +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto { + static const ::uint32_t offsets[]; +}; +extern const ::google::protobuf::internal::DescriptorTable + descriptor_table_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto; +namespace google { +namespace firestore { +namespace v1 { +class ExplainStats; +struct ExplainStatsDefaultTypeInternal; +extern ExplainStatsDefaultTypeInternal _ExplainStats_default_instance_; +} // namespace v1 +} // namespace firestore +namespace protobuf { +} // namespace protobuf +} // namespace google + +namespace google { +namespace firestore { +namespace v1 { + +// =================================================================== + + +// ------------------------------------------------------------------- + +class ExplainStats final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.ExplainStats) */ { + public: + inline ExplainStats() : ExplainStats(nullptr) {} + ~ExplainStats() override; + template + explicit PROTOBUF_CONSTEXPR ExplainStats(::google::protobuf::internal::ConstantInitialized); + + inline ExplainStats(const ExplainStats& from) + : ExplainStats(nullptr, from) {} + ExplainStats(ExplainStats&& from) noexcept + : ExplainStats() { + *this = ::std::move(from); + } + + inline ExplainStats& operator=(const ExplainStats& from) { + CopyFrom(from); + return *this; + } + inline ExplainStats& operator=(ExplainStats&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ExplainStats& default_instance() { + return *internal_default_instance(); + } + static inline const ExplainStats* internal_default_instance() { + return reinterpret_cast( + &_ExplainStats_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(ExplainStats& a, ExplainStats& b) { + a.Swap(&b); + } + inline void Swap(ExplainStats* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ExplainStats* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ExplainStats* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ExplainStats& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ExplainStats& from) { + ExplainStats::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ExplainStats* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "google.firestore.v1.ExplainStats"; + } + protected: + explicit ExplainStats(::google::protobuf::Arena* arena); + ExplainStats(::google::protobuf::Arena* arena, const ExplainStats& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kDataFieldNumber = 1, + }; + // .google.protobuf.Any data = 1; + bool has_data() const; + void clear_data() ; + const ::google::protobuf::Any& data() const; + PROTOBUF_NODISCARD ::google::protobuf::Any* release_data(); + ::google::protobuf::Any* mutable_data(); + void set_allocated_data(::google::protobuf::Any* value); + void unsafe_arena_set_allocated_data(::google::protobuf::Any* value); + ::google::protobuf::Any* unsafe_arena_release_data(); + + private: + const ::google::protobuf::Any& _internal_data() const; + ::google::protobuf::Any* _internal_mutable_data(); + + public: + // @@protoc_insertion_point(class_scope:google.firestore.v1.ExplainStats) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::Any* data_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto; +}; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ExplainStats + +// .google.protobuf.Any data = 1; +inline bool ExplainStats::has_data() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr); + return value; +} +inline const ::google::protobuf::Any& ExplainStats::_internal_data() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::google::protobuf::Any* p = _impl_.data_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Any_default_instance_); +} +inline const ::google::protobuf::Any& ExplainStats::data() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ExplainStats.data) + return _internal_data(); +} +inline void ExplainStats::unsafe_arena_set_allocated_data(::google::protobuf::Any* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_); + } + _impl_.data_ = reinterpret_cast<::google::protobuf::Any*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.ExplainStats.data) +} +inline ::google::protobuf::Any* ExplainStats::release_data() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::protobuf::Any* released = _impl_.data_; + _impl_.data_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::google::protobuf::Any* ExplainStats::unsafe_arena_release_data() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.ExplainStats.data) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::protobuf::Any* temp = _impl_.data_; + _impl_.data_ = nullptr; + return temp; +} +inline ::google::protobuf::Any* ExplainStats::_internal_mutable_data() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.data_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Any>(GetArena()); + _impl_.data_ = reinterpret_cast<::google::protobuf::Any*>(p); + } + return _impl_.data_; +} +inline ::google::protobuf::Any* ExplainStats::mutable_data() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Any* _msg = _internal_mutable_data(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExplainStats.data) + return _msg; +} +inline void ExplainStats::set_allocated_data(::google::protobuf::Any* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.data_ = reinterpret_cast<::google::protobuf::Any*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExplainStats.data) +} + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace v1 +} // namespace firestore +} // namespace google + + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2fexplain_5fstats_2eproto_2epb_2eh diff --git a/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.cc index 7cf9b349839..93dfc7f88b2 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -466,6 +466,54 @@ struct ListDocumentsResponseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListDocumentsResponseDefaultTypeInternal _ListDocumentsResponse_default_instance_; +inline constexpr ExecutePipelineResponse::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + results_{}, + transaction_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + execution_time_{nullptr}, + explain_stats_{nullptr} {} + +template +PROTOBUF_CONSTEXPR ExecutePipelineResponse::ExecutePipelineResponse(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct ExecutePipelineResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR ExecutePipelineResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ExecutePipelineResponseDefaultTypeInternal() {} + union { + ExecutePipelineResponse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExecutePipelineResponseDefaultTypeInternal _ExecutePipelineResponse_default_instance_; + +inline constexpr ExecutePipelineRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : database_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + pipeline_type_{}, + consistency_selector_{}, + _cached_size_{0}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR ExecutePipelineRequest::ExecutePipelineRequest(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct ExecutePipelineRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR ExecutePipelineRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ExecutePipelineRequestDefaultTypeInternal() {} + union { + ExecutePipelineRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExecutePipelineRequestDefaultTypeInternal _ExecutePipelineRequest_default_instance_; + inline constexpr CreateDocumentRequest::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, @@ -714,7 +762,7 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT } // namespace v1 } // namespace firestore } // namespace google -static ::_pb::Metadata file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[29]; +static ::_pb::Metadata file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[31]; static const ::_pb::EnumDescriptor* file_level_enum_descriptors_google_2ffirestore_2fv1_2ffirestore_2eproto[1]; static constexpr const ::_pb::ServiceDescriptor** file_level_service_descriptors_google_2ffirestore_2fv1_2ffirestore_2eproto = nullptr; @@ -944,6 +992,37 @@ const ::uint32_t TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto::offset 1, ~0u, ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineRequest, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineRequest, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineRequest, _impl_.database_), + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineRequest, _impl_.pipeline_type_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineRequest, _impl_.consistency_selector_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineResponse, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineResponse, _impl_.transaction_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineResponse, _impl_.results_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineResponse, _impl_.execution_time_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::ExecutePipelineResponse, _impl_.explain_stats_), + ~0u, + ~0u, + 0, + 1, + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::google::firestore::v1::RunAggregationQueryRequest, _internal_metadata_), ~0u, // no _extensions_ PROTOBUF_FIELD_OFFSET(::google::firestore::v1::RunAggregationQueryRequest, _impl_._oneof_case_[0]), @@ -1154,20 +1233,22 @@ static const ::_pbi::MigrationSchema {182, -1, -1, sizeof(::google::firestore::v1::RollbackRequest)}, {192, -1, -1, sizeof(::google::firestore::v1::RunQueryRequest)}, {207, 219, -1, sizeof(::google::firestore::v1::RunQueryResponse)}, - {223, -1, -1, sizeof(::google::firestore::v1::RunAggregationQueryRequest)}, - {238, 249, -1, sizeof(::google::firestore::v1::RunAggregationQueryResponse)}, - {252, 262, -1, sizeof(::google::firestore::v1::WriteRequest_LabelsEntry_DoNotUse)}, - {264, -1, -1, sizeof(::google::firestore::v1::WriteRequest)}, - {277, 289, -1, sizeof(::google::firestore::v1::WriteResponse)}, - {293, 303, -1, sizeof(::google::firestore::v1::ListenRequest_LabelsEntry_DoNotUse)}, - {305, -1, -1, sizeof(::google::firestore::v1::ListenRequest)}, - {318, -1, -1, sizeof(::google::firestore::v1::ListenResponse)}, - {332, -1, -1, sizeof(::google::firestore::v1::Target_DocumentsTarget)}, - {341, -1, -1, sizeof(::google::firestore::v1::Target_QueryTarget)}, - {352, 369, -1, sizeof(::google::firestore::v1::Target)}, - {376, 389, -1, sizeof(::google::firestore::v1::TargetChange)}, - {394, -1, -1, sizeof(::google::firestore::v1::ListCollectionIdsRequest)}, - {405, -1, -1, sizeof(::google::firestore::v1::ListCollectionIdsResponse)}, + {223, -1, -1, sizeof(::google::firestore::v1::ExecutePipelineRequest)}, + {238, 250, -1, sizeof(::google::firestore::v1::ExecutePipelineResponse)}, + {254, -1, -1, sizeof(::google::firestore::v1::RunAggregationQueryRequest)}, + {269, 280, -1, sizeof(::google::firestore::v1::RunAggregationQueryResponse)}, + {283, 293, -1, sizeof(::google::firestore::v1::WriteRequest_LabelsEntry_DoNotUse)}, + {295, -1, -1, sizeof(::google::firestore::v1::WriteRequest)}, + {308, 320, -1, sizeof(::google::firestore::v1::WriteResponse)}, + {324, 334, -1, sizeof(::google::firestore::v1::ListenRequest_LabelsEntry_DoNotUse)}, + {336, -1, -1, sizeof(::google::firestore::v1::ListenRequest)}, + {349, -1, -1, sizeof(::google::firestore::v1::ListenResponse)}, + {363, -1, -1, sizeof(::google::firestore::v1::Target_DocumentsTarget)}, + {372, -1, -1, sizeof(::google::firestore::v1::Target_QueryTarget)}, + {383, 400, -1, sizeof(::google::firestore::v1::Target)}, + {407, 420, -1, sizeof(::google::firestore::v1::TargetChange)}, + {425, -1, -1, sizeof(::google::firestore::v1::ListCollectionIdsRequest)}, + {436, -1, -1, sizeof(::google::firestore::v1::ListCollectionIdsResponse)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -1186,6 +1267,8 @@ static const ::_pb::Message* const file_default_instances[] = { &::google::firestore::v1::_RollbackRequest_default_instance_._instance, &::google::firestore::v1::_RunQueryRequest_default_instance_._instance, &::google::firestore::v1::_RunQueryResponse_default_instance_._instance, + &::google::firestore::v1::_ExecutePipelineRequest_default_instance_._instance, + &::google::firestore::v1::_ExecutePipelineResponse_default_instance_._instance, &::google::firestore::v1::_RunAggregationQueryRequest_default_instance_._instance, &::google::firestore::v1::_RunAggregationQueryResponse_default_instance_._instance, &::google::firestore::v1::_WriteRequest_LabelsEntry_DoNotUse_default_instance_._instance, @@ -1204,211 +1287,234 @@ static const ::_pb::Message* const file_default_instances[] = { const char descriptor_table_protodef_google_2ffirestore_2fv1_2ffirestore_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { "\n#google/firestore/v1/firestore.proto\022\023g" "oogle.firestore.v1\032\034google/api/annotatio" - "ns.proto\032,google/firestore/v1/aggregatio" - "n_result.proto\032 google/firestore/v1/comm" - "on.proto\032\"google/firestore/v1/document.p" - "roto\032\037google/firestore/v1/query.proto\032\037g" - "oogle/firestore/v1/write.proto\032\033google/p" - "rotobuf/empty.proto\032\037google/protobuf/tim" - "estamp.proto\032\036google/protobuf/wrappers.p" - "roto\032\027google/rpc/status.proto\"\263\001\n\022GetDoc" - "umentRequest\022\014\n\004name\030\001 \001(\t\022/\n\004mask\030\002 \001(\013" - "2!.google.firestore.v1.DocumentMask\022\025\n\013t" - "ransaction\030\003 \001(\014H\000\022/\n\tread_time\030\005 \001(\0132\032." - "google.protobuf.TimestampH\000B\026\n\024consisten" - "cy_selector\"\235\002\n\024ListDocumentsRequest\022\016\n\006" - "parent\030\001 \001(\t\022\025\n\rcollection_id\030\002 \001(\t\022\021\n\tp" - "age_size\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\022\020\n\010or" - "der_by\030\006 \001(\t\022/\n\004mask\030\007 \001(\0132!.google.fire" - "store.v1.DocumentMask\022\025\n\013transaction\030\010 \001" - "(\014H\000\022/\n\tread_time\030\n \001(\0132\032.google.protobu" - "f.TimestampH\000\022\024\n\014show_missing\030\014 \001(\010B\026\n\024c" - "onsistency_selector\"b\n\025ListDocumentsResp" - "onse\0220\n\tdocuments\030\001 \003(\0132\035.google.firesto" - "re.v1.Document\022\027\n\017next_page_token\030\002 \001(\t\"" - "\265\001\n\025CreateDocumentRequest\022\016\n\006parent\030\001 \001(" - "\t\022\025\n\rcollection_id\030\002 \001(\t\022\023\n\013document_id\030" - "\003 \001(\t\022/\n\010document\030\004 \001(\0132\035.google.firesto" - "re.v1.Document\022/\n\004mask\030\005 \001(\0132!.google.fi" - "restore.v1.DocumentMask\"\356\001\n\025UpdateDocume" - "ntRequest\022/\n\010document\030\001 \001(\0132\035.google.fir" - "estore.v1.Document\0226\n\013update_mask\030\002 \001(\0132" - "!.google.firestore.v1.DocumentMask\022/\n\004ma" - "sk\030\003 \001(\0132!.google.firestore.v1.DocumentM" - "ask\022;\n\020current_document\030\004 \001(\0132!.google.f" - "irestore.v1.Precondition\"b\n\025DeleteDocume" - "ntRequest\022\014\n\004name\030\001 \001(\t\022;\n\020current_docum" - "ent\030\002 \001(\0132!.google.firestore.v1.Precondi" - "tion\"\224\002\n\030BatchGetDocumentsRequest\022\020\n\010dat" - "abase\030\001 \001(\t\022\021\n\tdocuments\030\002 \003(\t\022/\n\004mask\030\003" - " \001(\0132!.google.firestore.v1.DocumentMask\022" - "\025\n\013transaction\030\004 \001(\014H\000\022B\n\017new_transactio" - "n\030\005 \001(\0132\'.google.firestore.v1.Transactio" - "nOptionsH\000\022/\n\tread_time\030\007 \001(\0132\032.google.p" - "rotobuf.TimestampH\000B\026\n\024consistency_selec" - "tor\"\254\001\n\031BatchGetDocumentsResponse\022.\n\005fou" - "nd\030\001 \001(\0132\035.google.firestore.v1.DocumentH" - "\000\022\021\n\007missing\030\002 \001(\tH\000\022\023\n\013transaction\030\003 \001(" - "\014\022-\n\tread_time\030\004 \001(\0132\032.google.protobuf.T" - "imestampB\010\n\006result\"e\n\027BeginTransactionRe" - "quest\022\020\n\010database\030\001 \001(\t\0228\n\007options\030\002 \001(\013" - "2\'.google.firestore.v1.TransactionOption" - "s\"/\n\030BeginTransactionResponse\022\023\n\013transac" - "tion\030\001 \001(\014\"b\n\rCommitRequest\022\020\n\010database\030" - "\001 \001(\t\022*\n\006writes\030\002 \003(\0132\032.google.firestore" - ".v1.Write\022\023\n\013transaction\030\003 \001(\014\"z\n\016Commit" - "Response\0227\n\rwrite_results\030\001 \003(\0132 .google" - ".firestore.v1.WriteResult\022/\n\013commit_time" - "\030\002 \001(\0132\032.google.protobuf.Timestamp\"8\n\017Ro" - "llbackRequest\022\020\n\010database\030\001 \001(\t\022\023\n\013trans" - "action\030\002 \001(\014\"\225\002\n\017RunQueryRequest\022\016\n\006pare" - "nt\030\001 \001(\t\022@\n\020structured_query\030\002 \001(\0132$.goo" - "gle.firestore.v1.StructuredQueryH\000\022\025\n\013tr" - "ansaction\030\005 \001(\014H\001\022B\n\017new_transaction\030\006 \001" - "(\0132\'.google.firestore.v1.TransactionOpti" - "onsH\001\022/\n\tread_time\030\007 \001(\0132\032.google.protob" - "uf.TimestampH\001B\014\n\nquery_typeB\026\n\024consiste" - "ncy_selector\"\240\001\n\020RunQueryResponse\022\023\n\013tra" - "nsaction\030\002 \001(\014\022/\n\010document\030\001 \001(\0132\035.googl" - "e.firestore.v1.Document\022-\n\tread_time\030\003 \001" - "(\0132\032.google.protobuf.Timestamp\022\027\n\017skippe" - "d_results\030\004 \001(\005\"\267\002\n\032RunAggregationQueryR" - "equest\022\016\n\006parent\030\001 \001(\t\022W\n\034structured_agg" - "regation_query\030\002 \001(\0132/.google.firestore." - "v1.StructuredAggregationQueryH\000\022\025\n\013trans" - "action\030\004 \001(\014H\001\022B\n\017new_transaction\030\005 \001(\0132" - "\'.google.firestore.v1.TransactionOptions" - "H\001\022/\n\tread_time\030\006 \001(\0132\032.google.protobuf." - "TimestampH\001B\014\n\nquery_typeB\026\n\024consistency" - "_selector\"\231\001\n\033RunAggregationQueryRespons" - "e\0226\n\006result\030\001 \001(\0132&.google.firestore.v1." - "AggregationResult\022\023\n\013transaction\030\002 \001(\014\022-" - "\n\tread_time\030\003 \001(\0132\032.google.protobuf.Time" - "stamp\"\343\001\n\014WriteRequest\022\020\n\010database\030\001 \001(\t" - "\022\021\n\tstream_id\030\002 \001(\t\022*\n\006writes\030\003 \003(\0132\032.go" - "ogle.firestore.v1.Write\022\024\n\014stream_token\030" - "\004 \001(\014\022=\n\006labels\030\005 \003(\0132-.google.firestore" - ".v1.WriteRequest.LabelsEntry\032-\n\013LabelsEn" - "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\242\001\n\r" - "WriteResponse\022\021\n\tstream_id\030\001 \001(\t\022\024\n\014stre" - "am_token\030\002 \001(\014\0227\n\rwrite_results\030\003 \003(\0132 ." - "google.firestore.v1.WriteResult\022/\n\013commi" - "t_time\030\004 \001(\0132\032.google.protobuf.Timestamp" - "\"\355\001\n\rListenRequest\022\020\n\010database\030\001 \001(\t\0221\n\n" - "add_target\030\002 \001(\0132\033.google.firestore.v1.T" - "argetH\000\022\027\n\rremove_target\030\003 \001(\005H\000\022>\n\006labe" - "ls\030\004 \003(\0132..google.firestore.v1.ListenReq" - "uest.LabelsEntry\032-\n\013LabelsEntry\022\013\n\003key\030\001" - " \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001B\017\n\rtarget_change" - "\"\325\002\n\016ListenResponse\022:\n\rtarget_change\030\002 \001" - "(\0132!.google.firestore.v1.TargetChangeH\000\022" - ">\n\017document_change\030\003 \001(\0132#.google.firest" - "ore.v1.DocumentChangeH\000\022>\n\017document_dele" - "te\030\004 \001(\0132#.google.firestore.v1.DocumentD" - "eleteH\000\022>\n\017document_remove\030\006 \001(\0132#.googl" - "e.firestore.v1.DocumentRemoveH\000\0226\n\006filte" - "r\030\005 \001(\0132$.google.firestore.v1.ExistenceF" - "ilterH\000B\017\n\rresponse_type\"\326\003\n\006Target\0228\n\005q" - "uery\030\002 \001(\0132\'.google.firestore.v1.Target." - "QueryTargetH\000\022@\n\tdocuments\030\003 \001(\0132+.googl" - "e.firestore.v1.Target.DocumentsTargetH\000\022" - "\026\n\014resume_token\030\004 \001(\014H\001\022/\n\tread_time\030\013 \001" - "(\0132\032.google.protobuf.TimestampH\001\022\021\n\ttarg" - "et_id\030\005 \001(\005\022\014\n\004once\030\006 \001(\010\0223\n\016expected_co" - "unt\030\014 \001(\0132\033.google.protobuf.Int32Value\032$" - "\n\017DocumentsTarget\022\021\n\tdocuments\030\002 \003(\t\032m\n\013" - "QueryTarget\022\016\n\006parent\030\001 \001(\t\022@\n\020structure" - "d_query\030\002 \001(\0132$.google.firestore.v1.Stru" - "cturedQueryH\000B\014\n\nquery_typeB\r\n\013target_ty" - "peB\r\n\013resume_type\"\252\002\n\014TargetChange\022N\n\022ta" - "rget_change_type\030\001 \001(\01622.google.firestor" - "e.v1.TargetChange.TargetChangeType\022\022\n\nta" - "rget_ids\030\002 \003(\005\022!\n\005cause\030\003 \001(\0132\022.google.r" - "pc.Status\022\024\n\014resume_token\030\004 \001(\014\022-\n\tread_" - "time\030\006 \001(\0132\032.google.protobuf.Timestamp\"N" - "\n\020TargetChangeType\022\r\n\tNO_CHANGE\020\000\022\007\n\003ADD" - "\020\001\022\n\n\006REMOVE\020\002\022\013\n\007CURRENT\020\003\022\t\n\005RESET\020\004\"Q" - "\n\030ListCollectionIdsRequest\022\016\n\006parent\030\001 \001" - "(\t\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage_token\030\003 \001(" - "\t\"L\n\031ListCollectionIdsResponse\022\026\n\016collec" - "tion_ids\030\001 \003(\t\022\027\n\017next_page_token\030\002 \001(\t2" - "\236\024\n\tFirestore\022\217\001\n\013GetDocument\022\'.google.f" - "irestore.v1.GetDocumentRequest\032\035.google." - "firestore.v1.Document\"8\202\323\344\223\0022\0220/v1/{name" - "=projects/*/databases/*/documents/*/**}\022" - "\262\001\n\rListDocuments\022).google.firestore.v1." - "ListDocumentsRequest\032*.google.firestore." - "v1.ListDocumentsResponse\"J\202\323\344\223\002D\022B/v1/{p" - "arent=projects/*/databases/*/documents/*" - "/**}/{collection_id}\022\257\001\n\016CreateDocument\022" - "*.google.firestore.v1.CreateDocumentRequ" - "est\032\035.google.firestore.v1.Document\"R\202\323\344\223" - "\002L\"@/v1/{parent=projects/*/databases/*/d" - "ocuments/**}/{collection_id}:\010document\022\250" - "\001\n\016UpdateDocument\022*.google.firestore.v1." - "UpdateDocumentRequest\032\035.google.firestore" - ".v1.Document\"K\202\323\344\223\002E29/v1/{document.name" - "=projects/*/databases/*/documents/*/**}:" - "\010document\022\216\001\n\016DeleteDocument\022*.google.fi" - "restore.v1.DeleteDocumentRequest\032\026.googl" - "e.protobuf.Empty\"8\202\323\344\223\0022*0/v1/{name=proj" - "ects/*/databases/*/documents/*/**}\022\271\001\n\021B" - "atchGetDocuments\022-.google.firestore.v1.B" - "atchGetDocumentsRequest\032..google.firesto" - "re.v1.BatchGetDocumentsResponse\"C\202\323\344\223\002=\"" - "8/v1/{database=projects/*/databases/*}/d" - "ocuments:batchGet:\001*0\001\022\274\001\n\020BeginTransact" - "ion\022,.google.firestore.v1.BeginTransacti" - "onRequest\032-.google.firestore.v1.BeginTra" - "nsactionResponse\"K\202\323\344\223\002E\"@/v1/{database=" - "projects/*/databases/*}/documents:beginT" - "ransaction:\001*\022\224\001\n\006Commit\022\".google.firest" - "ore.v1.CommitRequest\032#.google.firestore." - "v1.CommitResponse\"A\202\323\344\223\002;\"6/v1/{database" - "=projects/*/databases/*}/documents:commi" - "t:\001*\022\215\001\n\010Rollback\022$.google.firestore.v1." - "RollbackRequest\032\026.google.protobuf.Empty\"" - "C\202\323\344\223\002=\"8/v1/{database=projects/*/databa" - "ses/*}/documents:rollback:\001*\022\337\001\n\010RunQuer" - "y\022$.google.firestore.v1.RunQueryRequest\032" - "%.google.firestore.v1.RunQueryResponse\"\203" - "\001\202\323\344\223\002}\"6/v1/{parent=projects/*/database" - "s/*/documents}:runQuery:\001*Z@\";/v1/{paren" + "ns.proto\032\037google/api/field_behavior.prot" + "o\032,google/firestore/v1/aggregation_resul" + "t.proto\032 google/firestore/v1/common.prot" + "o\032\"google/firestore/v1/document.proto\032\'g" + "oogle/firestore/v1/explain_stats.proto\032\"" + "google/firestore/v1/pipeline.proto\032\037goog" + "le/firestore/v1/query.proto\032\037google/fire" + "store/v1/write.proto\032\033google/protobuf/em" + "pty.proto\032\037google/protobuf/timestamp.pro" + "to\032\036google/protobuf/wrappers.proto\032\027goog" + "le/rpc/status.proto\"\263\001\n\022GetDocumentReque" + "st\022\014\n\004name\030\001 \001(\t\022/\n\004mask\030\002 \001(\0132!.google." + "firestore.v1.DocumentMask\022\025\n\013transaction" + "\030\003 \001(\014H\000\022/\n\tread_time\030\005 \001(\0132\032.google.pro" + "tobuf.TimestampH\000B\026\n\024consistency_selecto" + "r\"\235\002\n\024ListDocumentsRequest\022\016\n\006parent\030\001 \001" + "(\t\022\025\n\rcollection_id\030\002 \001(\t\022\021\n\tpage_size\030\003" + " \001(\005\022\022\n\npage_token\030\004 \001(\t\022\020\n\010order_by\030\006 \001" + "(\t\022/\n\004mask\030\007 \001(\0132!.google.firestore.v1.D" + "ocumentMask\022\025\n\013transaction\030\010 \001(\014H\000\022/\n\tre" + "ad_time\030\n \001(\0132\032.google.protobuf.Timestam" + "pH\000\022\024\n\014show_missing\030\014 \001(\010B\026\n\024consistency" + "_selector\"b\n\025ListDocumentsResponse\0220\n\tdo" + "cuments\030\001 \003(\0132\035.google.firestore.v1.Docu" + "ment\022\027\n\017next_page_token\030\002 \001(\t\"\265\001\n\025Create" + "DocumentRequest\022\016\n\006parent\030\001 \001(\t\022\025\n\rcolle" + "ction_id\030\002 \001(\t\022\023\n\013document_id\030\003 \001(\t\022/\n\010d" + "ocument\030\004 \001(\0132\035.google.firestore.v1.Docu" + "ment\022/\n\004mask\030\005 \001(\0132!.google.firestore.v1" + ".DocumentMask\"\356\001\n\025UpdateDocumentRequest\022" + "/\n\010document\030\001 \001(\0132\035.google.firestore.v1." + "Document\0226\n\013update_mask\030\002 \001(\0132!.google.f" + "irestore.v1.DocumentMask\022/\n\004mask\030\003 \001(\0132!" + ".google.firestore.v1.DocumentMask\022;\n\020cur" + "rent_document\030\004 \001(\0132!.google.firestore.v" + "1.Precondition\"b\n\025DeleteDocumentRequest\022" + "\014\n\004name\030\001 \001(\t\022;\n\020current_document\030\002 \001(\0132" + "!.google.firestore.v1.Precondition\"\224\002\n\030B" + "atchGetDocumentsRequest\022\020\n\010database\030\001 \001(" + "\t\022\021\n\tdocuments\030\002 \003(\t\022/\n\004mask\030\003 \001(\0132!.goo" + "gle.firestore.v1.DocumentMask\022\025\n\013transac" + "tion\030\004 \001(\014H\000\022B\n\017new_transaction\030\005 \001(\0132\'." + "google.firestore.v1.TransactionOptionsH\000" + "\022/\n\tread_time\030\007 \001(\0132\032.google.protobuf.Ti" + "mestampH\000B\026\n\024consistency_selector\"\254\001\n\031Ba" + "tchGetDocumentsResponse\022.\n\005found\030\001 \001(\0132\035" + ".google.firestore.v1.DocumentH\000\022\021\n\007missi" + "ng\030\002 \001(\tH\000\022\023\n\013transaction\030\003 \001(\014\022-\n\tread_" + "time\030\004 \001(\0132\032.google.protobuf.TimestampB\010" + "\n\006result\"e\n\027BeginTransactionRequest\022\020\n\010d" + "atabase\030\001 \001(\t\0228\n\007options\030\002 \001(\0132\'.google." + "firestore.v1.TransactionOptions\"/\n\030Begin" + "TransactionResponse\022\023\n\013transaction\030\001 \001(\014" + "\"b\n\rCommitRequest\022\020\n\010database\030\001 \001(\t\022*\n\006w" + "rites\030\002 \003(\0132\032.google.firestore.v1.Write\022" + "\023\n\013transaction\030\003 \001(\014\"z\n\016CommitResponse\0227" + "\n\rwrite_results\030\001 \003(\0132 .google.firestore" + ".v1.WriteResult\022/\n\013commit_time\030\002 \001(\0132\032.g" + "oogle.protobuf.Timestamp\"8\n\017RollbackRequ" + "est\022\020\n\010database\030\001 \001(\t\022\023\n\013transaction\030\002 \001" + "(\014\"\225\002\n\017RunQueryRequest\022\016\n\006parent\030\001 \001(\t\022@" + "\n\020structured_query\030\002 \001(\0132$.google.firest" + "ore.v1.StructuredQueryH\000\022\025\n\013transaction\030" + "\005 \001(\014H\001\022B\n\017new_transaction\030\006 \001(\0132\'.googl" + "e.firestore.v1.TransactionOptionsH\001\022/\n\tr" + "ead_time\030\007 \001(\0132\032.google.protobuf.Timesta" + "mpH\001B\014\n\nquery_typeB\026\n\024consistency_select" + "or\"\240\001\n\020RunQueryResponse\022\023\n\013transaction\030\002" + " \001(\014\022/\n\010document\030\001 \001(\0132\035.google.firestor" + "e.v1.Document\022-\n\tread_time\030\003 \001(\0132\032.googl" + "e.protobuf.Timestamp\022\027\n\017skipped_results\030" + "\004 \001(\005\"\254\002\n\026ExecutePipelineRequest\022\025\n\010data" + "base\030\001 \001(\tB\003\340A\002\022F\n\023structured_pipeline\030\002" + " \001(\0132\'.google.firestore.v1.StructuredPip" + "elineH\000\022\025\n\013transaction\030\005 \001(\014H\001\022B\n\017new_tr" + "ansaction\030\006 \001(\0132\'.google.firestore.v1.Tr" + "ansactionOptionsH\001\022/\n\tread_time\030\007 \001(\0132\032." + "google.protobuf.TimestampH\001B\017\n\rpipeline_" + "typeB\026\n\024consistency_selector\"\314\001\n\027Execute" + "PipelineResponse\022\023\n\013transaction\030\001 \001(\014\022.\n" + "\007results\030\002 \003(\0132\035.google.firestore.v1.Doc" + "ument\0222\n\016execution_time\030\003 \001(\0132\032.google.p" + "rotobuf.Timestamp\0228\n\rexplain_stats\030\004 \001(\013" + "2!.google.firestore.v1.ExplainStats\"\267\002\n\032" + "RunAggregationQueryRequest\022\016\n\006parent\030\001 \001" + "(\t\022W\n\034structured_aggregation_query\030\002 \001(\013" + "2/.google.firestore.v1.StructuredAggrega" + "tionQueryH\000\022\025\n\013transaction\030\004 \001(\014H\001\022B\n\017ne" + "w_transaction\030\005 \001(\0132\'.google.firestore.v" + "1.TransactionOptionsH\001\022/\n\tread_time\030\006 \001(" + "\0132\032.google.protobuf.TimestampH\001B\014\n\nquery" + "_typeB\026\n\024consistency_selector\"\231\001\n\033RunAgg" + "regationQueryResponse\0226\n\006result\030\001 \001(\0132&." + "google.firestore.v1.AggregationResult\022\023\n" + "\013transaction\030\002 \001(\014\022-\n\tread_time\030\003 \001(\0132\032." + "google.protobuf.Timestamp\"\343\001\n\014WriteReque" + "st\022\020\n\010database\030\001 \001(\t\022\021\n\tstream_id\030\002 \001(\t\022" + "*\n\006writes\030\003 \003(\0132\032.google.firestore.v1.Wr" + "ite\022\024\n\014stream_token\030\004 \001(\014\022=\n\006labels\030\005 \003(" + "\0132-.google.firestore.v1.WriteRequest.Lab" + "elsEntry\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005" + "value\030\002 \001(\t:\0028\001\"\242\001\n\rWriteResponse\022\021\n\tstr" + "eam_id\030\001 \001(\t\022\024\n\014stream_token\030\002 \001(\014\0227\n\rwr" + "ite_results\030\003 \003(\0132 .google.firestore.v1." + "WriteResult\022/\n\013commit_time\030\004 \001(\0132\032.googl" + "e.protobuf.Timestamp\"\355\001\n\rListenRequest\022\020" + "\n\010database\030\001 \001(\t\0221\n\nadd_target\030\002 \001(\0132\033.g" + "oogle.firestore.v1.TargetH\000\022\027\n\rremove_ta" + "rget\030\003 \001(\005H\000\022>\n\006labels\030\004 \003(\0132..google.fi" + "restore.v1.ListenRequest.LabelsEntry\032-\n\013" + "LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" + "\0028\001B\017\n\rtarget_change\"\325\002\n\016ListenResponse\022" + ":\n\rtarget_change\030\002 \001(\0132!.google.firestor" + "e.v1.TargetChangeH\000\022>\n\017document_change\030\003" + " \001(\0132#.google.firestore.v1.DocumentChang" + "eH\000\022>\n\017document_delete\030\004 \001(\0132#.google.fi" + "restore.v1.DocumentDeleteH\000\022>\n\017document_" + "remove\030\006 \001(\0132#.google.firestore.v1.Docum" + "entRemoveH\000\0226\n\006filter\030\005 \001(\0132$.google.fir" + "estore.v1.ExistenceFilterH\000B\017\n\rresponse_" + "type\"\326\003\n\006Target\0228\n\005query\030\002 \001(\0132\'.google." + "firestore.v1.Target.QueryTargetH\000\022@\n\tdoc" + "uments\030\003 \001(\0132+.google.firestore.v1.Targe" + "t.DocumentsTargetH\000\022\026\n\014resume_token\030\004 \001(" + "\014H\001\022/\n\tread_time\030\013 \001(\0132\032.google.protobuf" + ".TimestampH\001\022\021\n\ttarget_id\030\005 \001(\005\022\014\n\004once\030" + "\006 \001(\010\0223\n\016expected_count\030\014 \001(\0132\033.google.p" + "rotobuf.Int32Value\032$\n\017DocumentsTarget\022\021\n" + "\tdocuments\030\002 \003(\t\032m\n\013QueryTarget\022\016\n\006paren" + "t\030\001 \001(\t\022@\n\020structured_query\030\002 \001(\0132$.goog" + "le.firestore.v1.StructuredQueryH\000B\014\n\nque" + "ry_typeB\r\n\013target_typeB\r\n\013resume_type\"\252\002" + "\n\014TargetChange\022N\n\022target_change_type\030\001 \001" + "(\01622.google.firestore.v1.TargetChange.Ta" + "rgetChangeType\022\022\n\ntarget_ids\030\002 \003(\005\022!\n\005ca" + "use\030\003 \001(\0132\022.google.rpc.Status\022\024\n\014resume_" + "token\030\004 \001(\014\022-\n\tread_time\030\006 \001(\0132\032.google." + "protobuf.Timestamp\"N\n\020TargetChangeType\022\r" + "\n\tNO_CHANGE\020\000\022\007\n\003ADD\020\001\022\n\n\006REMOVE\020\002\022\013\n\007CU" + "RRENT\020\003\022\t\n\005RESET\020\004\"Q\n\030ListCollectionIdsR" + "equest\022\016\n\006parent\030\001 \001(\t\022\021\n\tpage_size\030\002 \001(" + "\005\022\022\n\npage_token\030\003 \001(\t\"L\n\031ListCollectionI" + "dsResponse\022\026\n\016collection_ids\030\001 \003(\t\022\027\n\017ne" + "xt_page_token\030\002 \001(\t2\333\025\n\tFirestore\022\217\001\n\013Ge" + "tDocument\022\'.google.firestore.v1.GetDocum" + "entRequest\032\035.google.firestore.v1.Documen" + "t\"8\202\323\344\223\0022\0220/v1/{name=projects/*/database" + "s/*/documents/*/**}\022\262\001\n\rListDocuments\022)." + "google.firestore.v1.ListDocumentsRequest" + "\032*.google.firestore.v1.ListDocumentsResp" + "onse\"J\202\323\344\223\002D\022B/v1/{parent=projects/*/dat" + "abases/*/documents/*/**}/{collection_id}" + "\022\257\001\n\016CreateDocument\022*.google.firestore.v" + "1.CreateDocumentRequest\032\035.google.firesto" + "re.v1.Document\"R\202\323\344\223\002L\"@/v1/{parent=proj" + "ects/*/databases/*/documents/**}/{collec" + "tion_id}:\010document\022\250\001\n\016UpdateDocument\022*." + "google.firestore.v1.UpdateDocumentReques" + "t\032\035.google.firestore.v1.Document\"K\202\323\344\223\002E" + "29/v1/{document.name=projects/*/database" + "s/*/documents/*/**}:\010document\022\216\001\n\016Delete" + "Document\022*.google.firestore.v1.DeleteDoc" + "umentRequest\032\026.google.protobuf.Empty\"8\202\323" + "\344\223\0022*0/v1/{name=projects/*/databases/*/d" + "ocuments/*/**}\022\271\001\n\021BatchGetDocuments\022-.g" + "oogle.firestore.v1.BatchGetDocumentsRequ" + "est\032..google.firestore.v1.BatchGetDocume" + "ntsResponse\"C\202\323\344\223\002=\"8/v1/{database=proje" + "cts/*/databases/*}/documents:batchGet:\001*" + "0\001\022\274\001\n\020BeginTransaction\022,.google.firesto" + "re.v1.BeginTransactionRequest\032-.google.f" + "irestore.v1.BeginTransactionResponse\"K\202\323" + "\344\223\002E\"@/v1/{database=projects/*/databases" + "/*}/documents:beginTransaction:\001*\022\224\001\n\006Co" + "mmit\022\".google.firestore.v1.CommitRequest" + "\032#.google.firestore.v1.CommitResponse\"A\202" + "\323\344\223\002;\"6/v1/{database=projects/*/database" + "s/*}/documents:commit:\001*\022\215\001\n\010Rollback\022$." + "google.firestore.v1.RollbackRequest\032\026.go" + "ogle.protobuf.Empty\"C\202\323\344\223\002=\"8/v1/{databa" + "se=projects/*/databases/*}/documents:rol" + "lback:\001*\022\337\001\n\010RunQuery\022$.google.firestore" + ".v1.RunQueryRequest\032%.google.firestore.v" + "1.RunQueryResponse\"\203\001\202\323\344\223\002}\"6/v1/{parent" + "=projects/*/databases/*/documents}:runQu" + "ery:\001*Z@\";/v1/{parent=projects/*/databas" + "es/*/documents/*/**}:runQuery:\001*0\001\022\272\001\n\017E" + "xecutePipeline\022+.google.firestore.v1.Exe" + "cutePipelineRequest\032,.google.firestore.v" + "1.ExecutePipelineResponse\"J\202\323\344\223\002D\"\?/v1/{" + "database=projects/*/databases/*}/documen" + "ts:executePipeline:\001*0\001\022\227\002\n\023RunAggregati" + "onQuery\022/.google.firestore.v1.RunAggrega" + "tionQueryRequest\0320.google.firestore.v1.R" + "unAggregationQueryResponse\"\232\001\202\323\344\223\002\223\001\"A/v" + "1/{parent=projects/*/databases/*/documen" + "ts}:runAggregationQuery:\001*ZK\"F/v1/{paren" "t=projects/*/databases/*/documents/*/**}" - ":runQuery:\001*0\001\022\227\002\n\023RunAggregationQuery\022/" - ".google.firestore.v1.RunAggregationQuery" - "Request\0320.google.firestore.v1.RunAggrega" - "tionQueryResponse\"\232\001\202\323\344\223\002\223\001\"A/v1/{parent" - "=projects/*/databases/*/documents}:runAg" - "gregationQuery:\001*ZK\"F/v1/{parent=project" - "s/*/databases/*/documents/*/**}:runAggre" - "gationQuery:\001*0\001\022\224\001\n\005Write\022!.google.fire" - "store.v1.WriteRequest\032\".google.firestore" - ".v1.WriteResponse\"@\202\323\344\223\002:\"5/v1/{database" - "=projects/*/databases/*}/documents:write" - ":\001*(\0010\001\022\230\001\n\006Listen\022\".google.firestore.v1" - ".ListenRequest\032#.google.firestore.v1.Lis" - "tenResponse\"A\202\323\344\223\002;\"6/v1/{database=proje" - "cts/*/databases/*}/documents:listen:\001*(\001" - "0\001\022\213\002\n\021ListCollectionIds\022-.google.firest" - "ore.v1.ListCollectionIdsRequest\032..google" - ".firestore.v1.ListCollectionIdsResponse\"" - "\226\001\202\323\344\223\002\217\001\"\?/v1/{parent=projects/*/databa" - "ses/*/documents}:listCollectionIds:\001*ZI\"" - "D/v1/{parent=projects/*/databases/*/docu" - "ments/*/**}:listCollectionIds:\001*B\262\001\n\027com" - ".google.firestore.v1B\016FirestoreProtoP\001Z<" - "google.golang.org/genproto/googleapis/fi" - "restore/v1;firestore\242\002\004GCFS\252\002\036Google.Clo" - "ud.Firestore.V1Beta1\312\002\036Google\\Cloud\\Fire" - "store\\V1beta1b\006proto3" + ":runAggregationQuery:\001*0\001\022\224\001\n\005Write\022!.go" + "ogle.firestore.v1.WriteRequest\032\".google." + "firestore.v1.WriteResponse\"@\202\323\344\223\002:\"5/v1/" + "{database=projects/*/databases/*}/docume" + "nts:write:\001*(\0010\001\022\230\001\n\006Listen\022\".google.fir" + "estore.v1.ListenRequest\032#.google.firesto" + "re.v1.ListenResponse\"A\202\323\344\223\002;\"6/v1/{datab" + "ase=projects/*/databases/*}/documents:li" + "sten:\001*(\0010\001\022\213\002\n\021ListCollectionIds\022-.goog" + "le.firestore.v1.ListCollectionIdsRequest" + "\032..google.firestore.v1.ListCollectionIds" + "Response\"\226\001\202\323\344\223\002\217\001\"\?/v1/{parent=projects" + "/*/databases/*/documents}:listCollection" + "Ids:\001*ZI\"D/v1/{parent=projects/*/databas" + "es/*/documents/*/**}:listCollectionIds:\001" + "*B\262\001\n\027com.google.firestore.v1B\016Firestore" + "ProtoP\001Z_impl_.query_type_.structured_aggregation_query_; +const ::google::firestore::v1::StructuredPipeline& ExecutePipelineRequest::_Internal::structured_pipeline(const ExecutePipelineRequest* msg) { + return *msg->_impl_.pipeline_type_.structured_pipeline_; } -const ::google::firestore::v1::TransactionOptions& RunAggregationQueryRequest::_Internal::new_transaction(const RunAggregationQueryRequest* msg) { +const ::google::firestore::v1::TransactionOptions& ExecutePipelineRequest::_Internal::new_transaction(const ExecutePipelineRequest* msg) { return *msg->_impl_.consistency_selector_.new_transaction_; } -const ::google::protobuf::Timestamp& RunAggregationQueryRequest::_Internal::read_time(const RunAggregationQueryRequest* msg) { +const ::google::protobuf::Timestamp& ExecutePipelineRequest::_Internal::read_time(const ExecutePipelineRequest* msg) { return *msg->_impl_.consistency_selector_.read_time_; } -void RunAggregationQueryRequest::set_allocated_structured_aggregation_query(::google::firestore::v1::StructuredAggregationQuery* structured_aggregation_query) { +void ExecutePipelineRequest::set_allocated_structured_pipeline(::google::firestore::v1::StructuredPipeline* structured_pipeline) { ::google::protobuf::Arena* message_arena = GetArena(); - clear_query_type(); - if (structured_aggregation_query) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(structured_aggregation_query)->GetArena(); + clear_pipeline_type(); + if (structured_pipeline) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(structured_pipeline)->GetArena(); if (message_arena != submessage_arena) { - structured_aggregation_query = ::google::protobuf::internal::GetOwnedMessage(message_arena, structured_aggregation_query, submessage_arena); + structured_pipeline = ::google::protobuf::internal::GetOwnedMessage(message_arena, structured_pipeline, submessage_arena); } - set_has_structured_aggregation_query(); - _impl_.query_type_.structured_aggregation_query_ = structured_aggregation_query; + set_has_structured_pipeline(); + _impl_.pipeline_type_.structured_pipeline_ = structured_pipeline; } - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunAggregationQueryRequest.structured_aggregation_query) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineRequest.structured_pipeline) } -void RunAggregationQueryRequest::clear_structured_aggregation_query() { +void ExecutePipelineRequest::clear_structured_pipeline() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (query_type_case() == kStructuredAggregationQuery) { + if (pipeline_type_case() == kStructuredPipeline) { if (GetArena() == nullptr) { - delete _impl_.query_type_.structured_aggregation_query_; + delete _impl_.pipeline_type_.structured_pipeline_; } - clear_has_query_type(); + clear_has_pipeline_type(); } } -void RunAggregationQueryRequest::set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* new_transaction) { +void ExecutePipelineRequest::set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* new_transaction) { ::google::protobuf::Arena* message_arena = GetArena(); clear_consistency_selector(); if (new_transaction) { @@ -6357,9 +6463,9 @@ void RunAggregationQueryRequest::set_allocated_new_transaction(::google::firesto set_has_new_transaction(); _impl_.consistency_selector_.new_transaction_ = new_transaction; } - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunAggregationQueryRequest.new_transaction) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineRequest.new_transaction) } -void RunAggregationQueryRequest::clear_new_transaction() { +void ExecutePipelineRequest::clear_new_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (consistency_selector_case() == kNewTransaction) { if (GetArena() == nullptr) { @@ -6368,7 +6474,7 @@ void RunAggregationQueryRequest::clear_new_transaction() { clear_has_consistency_selector(); } } -void RunAggregationQueryRequest::set_allocated_read_time(::google::protobuf::Timestamp* read_time) { +void ExecutePipelineRequest::set_allocated_read_time(::google::protobuf::Timestamp* read_time) { ::google::protobuf::Arena* message_arena = GetArena(); clear_consistency_selector(); if (read_time) { @@ -6379,9 +6485,9 @@ void RunAggregationQueryRequest::set_allocated_read_time(::google::protobuf::Tim set_has_read_time(); _impl_.consistency_selector_.read_time_ = read_time; } - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunAggregationQueryRequest.read_time) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineRequest.read_time) } -void RunAggregationQueryRequest::clear_read_time() { +void ExecutePipelineRequest::clear_read_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (consistency_selector_case() == kReadTime) { if (GetArena() == nullptr) { @@ -6390,34 +6496,34 @@ void RunAggregationQueryRequest::clear_read_time() { clear_has_consistency_selector(); } } -RunAggregationQueryRequest::RunAggregationQueryRequest(::google::protobuf::Arena* arena) +ExecutePipelineRequest::ExecutePipelineRequest(::google::protobuf::Arena* arena) : ::google::protobuf::Message(arena) { SharedCtor(arena); - // @@protoc_insertion_point(arena_constructor:google.firestore.v1.RunAggregationQueryRequest) + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.ExecutePipelineRequest) } -inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryRequest::Impl_::Impl_( +inline PROTOBUF_NDEBUG_INLINE ExecutePipelineRequest::Impl_::Impl_( ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from) - : parent_(arena, from.parent_), - query_type_{}, + : database_(arena, from.database_), + pipeline_type_{}, consistency_selector_{}, _cached_size_{0}, _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} -RunAggregationQueryRequest::RunAggregationQueryRequest( +ExecutePipelineRequest::ExecutePipelineRequest( ::google::protobuf::Arena* arena, - const RunAggregationQueryRequest& from) + const ExecutePipelineRequest& from) : ::google::protobuf::Message(arena) { - RunAggregationQueryRequest* const _this = this; + ExecutePipelineRequest* const _this = this; (void)_this; _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( from._internal_metadata_); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); - switch (query_type_case()) { - case QUERY_TYPE_NOT_SET: + switch (pipeline_type_case()) { + case PIPELINE_TYPE_NOT_SET: break; - case kStructuredAggregationQuery: - _impl_.query_type_.structured_aggregation_query_ = CreateMaybeMessage<::google::firestore::v1::StructuredAggregationQuery>(arena, *from._impl_.query_type_.structured_aggregation_query_); + case kStructuredPipeline: + _impl_.pipeline_type_.structured_pipeline_ = CreateMaybeMessage<::google::firestore::v1::StructuredPipeline>(arena, *from._impl_.pipeline_type_.structured_pipeline_); break; } switch (consistency_selector_case()) { @@ -6434,30 +6540,30 @@ RunAggregationQueryRequest::RunAggregationQueryRequest( break; } - // @@protoc_insertion_point(copy_constructor:google.firestore.v1.RunAggregationQueryRequest) + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.ExecutePipelineRequest) } -inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryRequest::Impl_::Impl_( +inline PROTOBUF_NDEBUG_INLINE ExecutePipelineRequest::Impl_::Impl_( ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena) - : parent_(arena), - query_type_{}, + : database_(arena), + pipeline_type_{}, consistency_selector_{}, _cached_size_{0}, _oneof_case_{} {} -inline void RunAggregationQueryRequest::SharedCtor(::_pb::Arena* arena) { +inline void ExecutePipelineRequest::SharedCtor(::_pb::Arena* arena) { new (&_impl_) Impl_(internal_visibility(), arena); } -RunAggregationQueryRequest::~RunAggregationQueryRequest() { - // @@protoc_insertion_point(destructor:google.firestore.v1.RunAggregationQueryRequest) +ExecutePipelineRequest::~ExecutePipelineRequest() { + // @@protoc_insertion_point(destructor:google.firestore.v1.ExecutePipelineRequest) _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); SharedDtor(); } -inline void RunAggregationQueryRequest::SharedDtor() { +inline void ExecutePipelineRequest::SharedDtor() { ABSL_DCHECK(GetArena() == nullptr); - _impl_.parent_.Destroy(); - if (has_query_type()) { - clear_query_type(); + _impl_.database_.Destroy(); + if (has_pipeline_type()) { + clear_pipeline_type(); } if (has_consistency_selector()) { clear_consistency_selector(); @@ -6465,25 +6571,25 @@ inline void RunAggregationQueryRequest::SharedDtor() { _impl_.~Impl_(); } -void RunAggregationQueryRequest::clear_query_type() { -// @@protoc_insertion_point(one_of_clear_start:google.firestore.v1.RunAggregationQueryRequest) +void ExecutePipelineRequest::clear_pipeline_type() { +// @@protoc_insertion_point(one_of_clear_start:google.firestore.v1.ExecutePipelineRequest) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - switch (query_type_case()) { - case kStructuredAggregationQuery: { + switch (pipeline_type_case()) { + case kStructuredPipeline: { if (GetArena() == nullptr) { - delete _impl_.query_type_.structured_aggregation_query_; + delete _impl_.pipeline_type_.structured_pipeline_; } break; } - case QUERY_TYPE_NOT_SET: { + case PIPELINE_TYPE_NOT_SET: { break; } } - _impl_._oneof_case_[0] = QUERY_TYPE_NOT_SET; + _impl_._oneof_case_[0] = PIPELINE_TYPE_NOT_SET; } -void RunAggregationQueryRequest::clear_consistency_selector() { -// @@protoc_insertion_point(one_of_clear_start:google.firestore.v1.RunAggregationQueryRequest) +void ExecutePipelineRequest::clear_consistency_selector() { +// @@protoc_insertion_point(one_of_clear_start:google.firestore.v1.ExecutePipelineRequest) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); switch (consistency_selector_case()) { case kTransaction: { @@ -6510,20 +6616,20 @@ void RunAggregationQueryRequest::clear_consistency_selector() { } -PROTOBUF_NOINLINE void RunAggregationQueryRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:google.firestore.v1.RunAggregationQueryRequest) +PROTOBUF_NOINLINE void ExecutePipelineRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.ExecutePipelineRequest) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.parent_.ClearToEmpty(); - clear_query_type(); + _impl_.database_.ClearToEmpty(); + clear_pipeline_type(); clear_consistency_selector(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); } -const char* RunAggregationQueryRequest::_InternalParse( +const char* ExecutePipelineRequest::_InternalParse( const char* ptr, ::_pbi::ParseContext* ctx) { ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); return ptr; @@ -6531,89 +6637,89 @@ const char* RunAggregationQueryRequest::_InternalParse( PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<0, 5, 3, 61, 2> RunAggregationQueryRequest::_table_ = { +const ::_pbi::TcParseTable<0, 5, 3, 59, 2> ExecutePipelineRequest::_table_ = { { 0, // no _has_bits_ 0, // no _extensions_ - 6, 0, // max_field_number, fast_idx_mask + 7, 0, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294967236, // skipmap + 4294967180, // skipmap offsetof(decltype(_table_), field_entries), 5, // num_field_entries 3, // num_aux_entries offsetof(decltype(_table_), aux_entries), - &_RunAggregationQueryRequest_default_instance_._instance, + &_ExecutePipelineRequest_default_instance_._instance, ::_pbi::TcParser::GenericFallback, // fallback }, {{ - // string parent = 1; + // string database = 1 [(.google.api.field_behavior) = REQUIRED]; {::_pbi::TcParser::FastUS1, - {10, 63, 0, PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.parent_)}}, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(ExecutePipelineRequest, _impl_.database_)}}, }}, {{ 65535, 65535 }}, {{ - // string parent = 1; - {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.parent_), 0, 0, + // string database = 1 [(.google.api.field_behavior) = REQUIRED]; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineRequest, _impl_.database_), 0, 0, (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, - // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; - {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.query_type_.structured_aggregation_query_), _Internal::kOneofCaseOffset + 0, 0, + // .google.firestore.v1.StructuredPipeline structured_pipeline = 2; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineRequest, _impl_.pipeline_type_.structured_pipeline_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, - // bytes transaction = 4; - {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.consistency_selector_.transaction_), _Internal::kOneofCaseOffset + 4, 0, + // bytes transaction = 5; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineRequest, _impl_.consistency_selector_.transaction_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)}, - // .google.firestore.v1.TransactionOptions new_transaction = 5; - {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.consistency_selector_.new_transaction_), _Internal::kOneofCaseOffset + 4, 1, + // .google.firestore.v1.TransactionOptions new_transaction = 6; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineRequest, _impl_.consistency_selector_.new_transaction_), _Internal::kOneofCaseOffset + 4, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, - // .google.protobuf.Timestamp read_time = 6; - {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.consistency_selector_.read_time_), _Internal::kOneofCaseOffset + 4, 2, + // .google.protobuf.Timestamp read_time = 7; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineRequest, _impl_.consistency_selector_.read_time_), _Internal::kOneofCaseOffset + 4, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, }}, {{ - {::_pbi::TcParser::GetTable<::google::firestore::v1::StructuredAggregationQuery>()}, + {::_pbi::TcParser::GetTable<::google::firestore::v1::StructuredPipeline>()}, {::_pbi::TcParser::GetTable<::google::firestore::v1::TransactionOptions>()}, {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, }}, {{ - "\56\6\0\0\0\0\0\0" - "google.firestore.v1.RunAggregationQueryRequest" - "parent" + "\52\10\0\0\0\0\0\0" + "google.firestore.v1.ExecutePipelineRequest" + "database" }}, }; -::uint8_t* RunAggregationQueryRequest::_InternalSerialize( +::uint8_t* ExecutePipelineRequest::_InternalSerialize( ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.RunAggregationQueryRequest) + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.ExecutePipelineRequest) ::uint32_t cached_has_bits = 0; (void)cached_has_bits; - // string parent = 1; - if (!this->_internal_parent().empty()) { - const std::string& _s = this->_internal_parent(); + // string database = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_database().empty()) { + const std::string& _s = this->_internal_database(); ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.RunAggregationQueryRequest.parent"); + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.ExecutePipelineRequest.database"); target = stream->WriteStringMaybeAliased(1, _s, target); } - // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; - if (query_type_case() == kStructuredAggregationQuery) { + // .google.firestore.v1.StructuredPipeline structured_pipeline = 2; + if (pipeline_type_case() == kStructuredPipeline) { target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( - 2, _Internal::structured_aggregation_query(this), - _Internal::structured_aggregation_query(this).GetCachedSize(), target, stream); + 2, _Internal::structured_pipeline(this), + _Internal::structured_pipeline(this).GetCachedSize(), target, stream); } switch (consistency_selector_case()) { case kTransaction: { const std::string& _s = this->_internal_transaction(); - target = stream->WriteBytesMaybeAliased(4, _s, target); + target = stream->WriteBytesMaybeAliased(5, _s, target); break; } case kNewTransaction: { target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( - 5, _Internal::new_transaction(this), + 6, _Internal::new_transaction(this), _Internal::new_transaction(this).GetCachedSize(), target, stream); break; } case kReadTime: { target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( - 6, _Internal::read_time(this), + 7, _Internal::read_time(this), _Internal::read_time(this).GetCachedSize(), target, stream); break; } @@ -6625,49 +6731,49 @@ ::uint8_t* RunAggregationQueryRequest::_InternalSerialize( ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.RunAggregationQueryRequest) + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.ExecutePipelineRequest) return target; } -::size_t RunAggregationQueryRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.RunAggregationQueryRequest) +::size_t ExecutePipelineRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.ExecutePipelineRequest) ::size_t total_size = 0; ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string parent = 1; - if (!this->_internal_parent().empty()) { + // string database = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_database().empty()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( - this->_internal_parent()); + this->_internal_database()); } - switch (query_type_case()) { - // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; - case kStructuredAggregationQuery: { + switch (pipeline_type_case()) { + // .google.firestore.v1.StructuredPipeline structured_pipeline = 2; + case kStructuredPipeline: { total_size += - 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_type_.structured_aggregation_query_); + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.pipeline_type_.structured_pipeline_); break; } - case QUERY_TYPE_NOT_SET: { + case PIPELINE_TYPE_NOT_SET: { break; } } switch (consistency_selector_case()) { - // bytes transaction = 4; + // bytes transaction = 5; case kTransaction: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( this->_internal_transaction()); break; } - // .google.firestore.v1.TransactionOptions new_transaction = 5; + // .google.firestore.v1.TransactionOptions new_transaction = 6; case kNewTransaction: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.consistency_selector_.new_transaction_); break; } - // .google.protobuf.Timestamp read_time = 6; + // .google.protobuf.Timestamp read_time = 7; case kReadTime: { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.consistency_selector_.read_time_); @@ -6680,32 +6786,32 @@ ::size_t RunAggregationQueryRequest::ByteSizeLong() const { return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } -const ::google::protobuf::Message::ClassData RunAggregationQueryRequest::_class_data_ = { - RunAggregationQueryRequest::MergeImpl, +const ::google::protobuf::Message::ClassData ExecutePipelineRequest::_class_data_ = { + ExecutePipelineRequest::MergeImpl, nullptr, // OnDemandRegisterArenaDtor }; -const ::google::protobuf::Message::ClassData* RunAggregationQueryRequest::GetClassData() const { +const ::google::protobuf::Message::ClassData* ExecutePipelineRequest::GetClassData() const { return &_class_data_; } -void RunAggregationQueryRequest::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.RunAggregationQueryRequest) +void ExecutePipelineRequest::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.ExecutePipelineRequest) ABSL_DCHECK_NE(&from, _this); ::uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_parent().empty()) { - _this->_internal_set_parent(from._internal_parent()); + if (!from._internal_database().empty()) { + _this->_internal_set_database(from._internal_database()); } - switch (from.query_type_case()) { - case kStructuredAggregationQuery: { - _this->_internal_mutable_structured_aggregation_query()->::google::firestore::v1::StructuredAggregationQuery::MergeFrom( - from._internal_structured_aggregation_query()); + switch (from.pipeline_type_case()) { + case kStructuredPipeline: { + _this->_internal_mutable_structured_pipeline()->::google::firestore::v1::StructuredPipeline::MergeFrom( + from._internal_structured_pipeline()); break; } - case QUERY_TYPE_NOT_SET: { + case PIPELINE_TYPE_NOT_SET: { break; } } @@ -6731,153 +6837,160 @@ void RunAggregationQueryRequest::MergeImpl(::google::protobuf::Message& to_msg, _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } -void RunAggregationQueryRequest::CopyFrom(const RunAggregationQueryRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.RunAggregationQueryRequest) +void ExecutePipelineRequest::CopyFrom(const ExecutePipelineRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.ExecutePipelineRequest) if (&from == this) return; Clear(); MergeFrom(from); } -PROTOBUF_NOINLINE bool RunAggregationQueryRequest::IsInitialized() const { +PROTOBUF_NOINLINE bool ExecutePipelineRequest::IsInitialized() const { return true; } -::_pbi::CachedSize* RunAggregationQueryRequest::AccessCachedSize() const { +::_pbi::CachedSize* ExecutePipelineRequest::AccessCachedSize() const { return &_impl_._cached_size_; } -void RunAggregationQueryRequest::InternalSwap(RunAggregationQueryRequest* PROTOBUF_RESTRICT other) { +void ExecutePipelineRequest::InternalSwap(ExecutePipelineRequest* PROTOBUF_RESTRICT other) { using std::swap; auto* arena = GetArena(); ABSL_DCHECK_EQ(arena, other->GetArena()); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.parent_, &other->_impl_.parent_, arena); - swap(_impl_.query_type_, other->_impl_.query_type_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.database_, &other->_impl_.database_, arena); + swap(_impl_.pipeline_type_, other->_impl_.pipeline_type_); swap(_impl_.consistency_selector_, other->_impl_.consistency_selector_); swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); } -::google::protobuf::Metadata RunAggregationQueryRequest::GetMetadata() const { +::google::protobuf::Metadata ExecutePipelineRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[15]); } // =================================================================== -class RunAggregationQueryResponse::_Internal { +class ExecutePipelineResponse::_Internal { public: - using HasBits = decltype(std::declval()._impl_._has_bits_); + using HasBits = decltype(std::declval()._impl_._has_bits_); static constexpr ::int32_t kHasBitsOffset = - 8 * PROTOBUF_FIELD_OFFSET(RunAggregationQueryResponse, _impl_._has_bits_); - static const ::google::firestore::v1::AggregationResult& result(const RunAggregationQueryResponse* msg); - static void set_has_result(HasBits* has_bits) { + 8 * PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_._has_bits_); + static const ::google::protobuf::Timestamp& execution_time(const ExecutePipelineResponse* msg); + static void set_has_execution_time(HasBits* has_bits) { (*has_bits)[0] |= 1u; } - static const ::google::protobuf::Timestamp& read_time(const RunAggregationQueryResponse* msg); - static void set_has_read_time(HasBits* has_bits) { + static const ::google::firestore::v1::ExplainStats& explain_stats(const ExecutePipelineResponse* msg); + static void set_has_explain_stats(HasBits* has_bits) { (*has_bits)[0] |= 2u; } }; -const ::google::firestore::v1::AggregationResult& RunAggregationQueryResponse::_Internal::result(const RunAggregationQueryResponse* msg) { - return *msg->_impl_.result_; +const ::google::protobuf::Timestamp& ExecutePipelineResponse::_Internal::execution_time(const ExecutePipelineResponse* msg) { + return *msg->_impl_.execution_time_; } -const ::google::protobuf::Timestamp& RunAggregationQueryResponse::_Internal::read_time(const RunAggregationQueryResponse* msg) { - return *msg->_impl_.read_time_; +const ::google::firestore::v1::ExplainStats& ExecutePipelineResponse::_Internal::explain_stats(const ExecutePipelineResponse* msg) { + return *msg->_impl_.explain_stats_; } -void RunAggregationQueryResponse::clear_result() { +void ExecutePipelineResponse::clear_results() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.result_ != nullptr) _impl_.result_->Clear(); + _impl_.results_.Clear(); +} +void ExecutePipelineResponse::clear_execution_time() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.execution_time_ != nullptr) _impl_.execution_time_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -void RunAggregationQueryResponse::clear_read_time() { +void ExecutePipelineResponse::clear_explain_stats() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.read_time_ != nullptr) _impl_.read_time_->Clear(); + if (_impl_.explain_stats_ != nullptr) _impl_.explain_stats_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -RunAggregationQueryResponse::RunAggregationQueryResponse(::google::protobuf::Arena* arena) +ExecutePipelineResponse::ExecutePipelineResponse(::google::protobuf::Arena* arena) : ::google::protobuf::Message(arena) { SharedCtor(arena); - // @@protoc_insertion_point(arena_constructor:google.firestore.v1.RunAggregationQueryResponse) + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.ExecutePipelineResponse) } -inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryResponse::Impl_::Impl_( +inline PROTOBUF_NDEBUG_INLINE ExecutePipelineResponse::Impl_::Impl_( ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from) : _has_bits_{from._has_bits_}, _cached_size_{0}, + results_{visibility, arena, from.results_}, transaction_(arena, from.transaction_) {} -RunAggregationQueryResponse::RunAggregationQueryResponse( +ExecutePipelineResponse::ExecutePipelineResponse( ::google::protobuf::Arena* arena, - const RunAggregationQueryResponse& from) + const ExecutePipelineResponse& from) : ::google::protobuf::Message(arena) { - RunAggregationQueryResponse* const _this = this; + ExecutePipelineResponse* const _this = this; (void)_this; _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( from._internal_metadata_); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); ::uint32_t cached_has_bits = _impl_._has_bits_[0]; - _impl_.result_ = (cached_has_bits & 0x00000001u) - ? CreateMaybeMessage<::google::firestore::v1::AggregationResult>(arena, *from._impl_.result_) + _impl_.execution_time_ = (cached_has_bits & 0x00000001u) + ? CreateMaybeMessage<::google::protobuf::Timestamp>(arena, *from._impl_.execution_time_) : nullptr; - _impl_.read_time_ = (cached_has_bits & 0x00000002u) - ? CreateMaybeMessage<::google::protobuf::Timestamp>(arena, *from._impl_.read_time_) + _impl_.explain_stats_ = (cached_has_bits & 0x00000002u) + ? CreateMaybeMessage<::google::firestore::v1::ExplainStats>(arena, *from._impl_.explain_stats_) : nullptr; - // @@protoc_insertion_point(copy_constructor:google.firestore.v1.RunAggregationQueryResponse) + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.ExecutePipelineResponse) } -inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryResponse::Impl_::Impl_( +inline PROTOBUF_NDEBUG_INLINE ExecutePipelineResponse::Impl_::Impl_( ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena) : _cached_size_{0}, + results_{visibility, arena}, transaction_(arena) {} -inline void RunAggregationQueryResponse::SharedCtor(::_pb::Arena* arena) { +inline void ExecutePipelineResponse::SharedCtor(::_pb::Arena* arena) { new (&_impl_) Impl_(internal_visibility(), arena); ::memset(reinterpret_cast(&_impl_) + - offsetof(Impl_, result_), + offsetof(Impl_, execution_time_), 0, - offsetof(Impl_, read_time_) - - offsetof(Impl_, result_) + - sizeof(Impl_::read_time_)); + offsetof(Impl_, explain_stats_) - + offsetof(Impl_, execution_time_) + + sizeof(Impl_::explain_stats_)); } -RunAggregationQueryResponse::~RunAggregationQueryResponse() { - // @@protoc_insertion_point(destructor:google.firestore.v1.RunAggregationQueryResponse) +ExecutePipelineResponse::~ExecutePipelineResponse() { + // @@protoc_insertion_point(destructor:google.firestore.v1.ExecutePipelineResponse) _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); SharedDtor(); } -inline void RunAggregationQueryResponse::SharedDtor() { +inline void ExecutePipelineResponse::SharedDtor() { ABSL_DCHECK(GetArena() == nullptr); _impl_.transaction_.Destroy(); - delete _impl_.result_; - delete _impl_.read_time_; + delete _impl_.execution_time_; + delete _impl_.explain_stats_; _impl_.~Impl_(); } -PROTOBUF_NOINLINE void RunAggregationQueryResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:google.firestore.v1.RunAggregationQueryResponse) +PROTOBUF_NOINLINE void ExecutePipelineResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.ExecutePipelineResponse) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + _impl_.results_.Clear(); _impl_.transaction_.ClearToEmpty(); cached_has_bits = _impl_._has_bits_[0]; if (cached_has_bits & 0x00000003u) { if (cached_has_bits & 0x00000001u) { - ABSL_DCHECK(_impl_.result_ != nullptr); - _impl_.result_->Clear(); + ABSL_DCHECK(_impl_.execution_time_ != nullptr); + _impl_.execution_time_->Clear(); } if (cached_has_bits & 0x00000002u) { - ABSL_DCHECK(_impl_.read_time_ != nullptr); - _impl_.read_time_->Clear(); + ABSL_DCHECK(_impl_.explain_stats_ != nullptr); + _impl_.explain_stats_->Clear(); } } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); } -const char* RunAggregationQueryResponse::_InternalParse( +const char* ExecutePipelineResponse::_InternalParse( const char* ptr, ::_pbi::ParseContext* ctx) { ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); return ptr; @@ -6885,11 +6998,794 @@ const char* RunAggregationQueryResponse::_InternalParse( PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<2, 3, 2, 0, 2> RunAggregationQueryResponse::_table_ = { +const ::_pbi::TcParseTable<2, 4, 3, 0, 2> ExecutePipelineResponse::_table_ = { { - PROTOBUF_FIELD_OFFSET(RunAggregationQueryResponse, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_._has_bits_), 0, // no _extensions_ - 3, 24, // max_field_number, fast_idx_mask + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967280, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_ExecutePipelineResponse_default_instance_._instance, + ::_pbi::TcParser::GenericFallback, // fallback + }, {{ + // .google.firestore.v1.ExplainStats explain_stats = 4; + {::_pbi::TcParser::FastMtS1, + {34, 1, 2, PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.explain_stats_)}}, + // bytes transaction = 1; + {::_pbi::TcParser::FastBS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.transaction_)}}, + // repeated .google.firestore.v1.Document results = 2; + {::_pbi::TcParser::FastMtR1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.results_)}}, + // .google.protobuf.Timestamp execution_time = 3; + {::_pbi::TcParser::FastMtS1, + {26, 0, 1, PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.execution_time_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // bytes transaction = 1; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.transaction_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)}, + // repeated .google.firestore.v1.Document results = 2; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.results_), -1, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Timestamp execution_time = 3; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.execution_time_), _Internal::kHasBitsOffset + 0, 1, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.firestore.v1.ExplainStats explain_stats = 4; + {PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.explain_stats_), _Internal::kHasBitsOffset + 1, 2, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::google::firestore::v1::Document>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + {::_pbi::TcParser::GetTable<::google::firestore::v1::ExplainStats>()}, + }}, {{ + }}, +}; + +::uint8_t* ExecutePipelineResponse::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.ExecutePipelineResponse) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // bytes transaction = 1; + if (!this->_internal_transaction().empty()) { + const std::string& _s = this->_internal_transaction(); + target = stream->WriteBytesMaybeAliased(1, _s, target); + } + + // repeated .google.firestore.v1.Document results = 2; + for (unsigned i = 0, + n = static_cast(this->_internal_results_size()); i < n; i++) { + const auto& repfield = this->_internal_results().Get(i); + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); + } + + cached_has_bits = _impl_._has_bits_[0]; + // .google.protobuf.Timestamp execution_time = 3; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, _Internal::execution_time(this), + _Internal::execution_time(this).GetCachedSize(), target, stream); + } + + // .google.firestore.v1.ExplainStats explain_stats = 4; + if (cached_has_bits & 0x00000002u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, _Internal::explain_stats(this), + _Internal::explain_stats(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.ExecutePipelineResponse) + return target; +} + +::size_t ExecutePipelineResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.ExecutePipelineResponse) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .google.firestore.v1.Document results = 2; + total_size += 1UL * this->_internal_results_size(); + for (const auto& msg : this->_internal_results()) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + // bytes transaction = 1; + if (!this->_internal_transaction().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this->_internal_transaction()); + } + + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // .google.protobuf.Timestamp execution_time = 3; + if (cached_has_bits & 0x00000001u) { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.execution_time_); + } + + // .google.firestore.v1.ExplainStats explain_stats = 4; + if (cached_has_bits & 0x00000002u) { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.explain_stats_); + } + + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::google::protobuf::Message::ClassData ExecutePipelineResponse::_class_data_ = { + ExecutePipelineResponse::MergeImpl, + nullptr, // OnDemandRegisterArenaDtor +}; +const ::google::protobuf::Message::ClassData* ExecutePipelineResponse::GetClassData() const { + return &_class_data_; +} + +void ExecutePipelineResponse::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.ExecutePipelineResponse) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_results()->MergeFrom( + from._internal_results()); + if (!from._internal_transaction().empty()) { + _this->_internal_set_transaction(from._internal_transaction()); + } + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + _this->_internal_mutable_execution_time()->::google::protobuf::Timestamp::MergeFrom( + from._internal_execution_time()); + } + if (cached_has_bits & 0x00000002u) { + _this->_internal_mutable_explain_stats()->::google::firestore::v1::ExplainStats::MergeFrom( + from._internal_explain_stats()); + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void ExecutePipelineResponse::CopyFrom(const ExecutePipelineResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.ExecutePipelineResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool ExecutePipelineResponse::IsInitialized() const { + return true; +} + +::_pbi::CachedSize* ExecutePipelineResponse::AccessCachedSize() const { + return &_impl_._cached_size_; +} +void ExecutePipelineResponse::InternalSwap(ExecutePipelineResponse* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.results_.InternalSwap(&other->_impl_.results_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.transaction_, &other->_impl_.transaction_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.explain_stats_) + + sizeof(ExecutePipelineResponse::_impl_.explain_stats_) + - PROTOBUF_FIELD_OFFSET(ExecutePipelineResponse, _impl_.execution_time_)>( + reinterpret_cast(&_impl_.execution_time_), + reinterpret_cast(&other->_impl_.execution_time_)); +} + +::google::protobuf::Metadata ExecutePipelineResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[16]); +} +// =================================================================== + +class RunAggregationQueryRequest::_Internal { + public: + static constexpr ::int32_t kOneofCaseOffset = + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::RunAggregationQueryRequest, _impl_._oneof_case_); + static const ::google::firestore::v1::StructuredAggregationQuery& structured_aggregation_query(const RunAggregationQueryRequest* msg); + static const ::google::firestore::v1::TransactionOptions& new_transaction(const RunAggregationQueryRequest* msg); + static const ::google::protobuf::Timestamp& read_time(const RunAggregationQueryRequest* msg); +}; + +const ::google::firestore::v1::StructuredAggregationQuery& RunAggregationQueryRequest::_Internal::structured_aggregation_query(const RunAggregationQueryRequest* msg) { + return *msg->_impl_.query_type_.structured_aggregation_query_; +} +const ::google::firestore::v1::TransactionOptions& RunAggregationQueryRequest::_Internal::new_transaction(const RunAggregationQueryRequest* msg) { + return *msg->_impl_.consistency_selector_.new_transaction_; +} +const ::google::protobuf::Timestamp& RunAggregationQueryRequest::_Internal::read_time(const RunAggregationQueryRequest* msg) { + return *msg->_impl_.consistency_selector_.read_time_; +} +void RunAggregationQueryRequest::set_allocated_structured_aggregation_query(::google::firestore::v1::StructuredAggregationQuery* structured_aggregation_query) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_query_type(); + if (structured_aggregation_query) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(structured_aggregation_query)->GetArena(); + if (message_arena != submessage_arena) { + structured_aggregation_query = ::google::protobuf::internal::GetOwnedMessage(message_arena, structured_aggregation_query, submessage_arena); + } + set_has_structured_aggregation_query(); + _impl_.query_type_.structured_aggregation_query_ = structured_aggregation_query; + } + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunAggregationQueryRequest.structured_aggregation_query) +} +void RunAggregationQueryRequest::clear_structured_aggregation_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (query_type_case() == kStructuredAggregationQuery) { + if (GetArena() == nullptr) { + delete _impl_.query_type_.structured_aggregation_query_; + } + clear_has_query_type(); + } +} +void RunAggregationQueryRequest::set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* new_transaction) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_consistency_selector(); + if (new_transaction) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(new_transaction)->GetArena(); + if (message_arena != submessage_arena) { + new_transaction = ::google::protobuf::internal::GetOwnedMessage(message_arena, new_transaction, submessage_arena); + } + set_has_new_transaction(); + _impl_.consistency_selector_.new_transaction_ = new_transaction; + } + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunAggregationQueryRequest.new_transaction) +} +void RunAggregationQueryRequest::clear_new_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (consistency_selector_case() == kNewTransaction) { + if (GetArena() == nullptr) { + delete _impl_.consistency_selector_.new_transaction_; + } + clear_has_consistency_selector(); + } +} +void RunAggregationQueryRequest::set_allocated_read_time(::google::protobuf::Timestamp* read_time) { + ::google::protobuf::Arena* message_arena = GetArena(); + clear_consistency_selector(); + if (read_time) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(read_time)->GetArena(); + if (message_arena != submessage_arena) { + read_time = ::google::protobuf::internal::GetOwnedMessage(message_arena, read_time, submessage_arena); + } + set_has_read_time(); + _impl_.consistency_selector_.read_time_ = read_time; + } + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunAggregationQueryRequest.read_time) +} +void RunAggregationQueryRequest::clear_read_time() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (consistency_selector_case() == kReadTime) { + if (GetArena() == nullptr) { + delete _impl_.consistency_selector_.read_time_; + } + clear_has_consistency_selector(); + } +} +RunAggregationQueryRequest::RunAggregationQueryRequest(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.RunAggregationQueryRequest) +} +inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from) + : parent_(arena, from.parent_), + query_type_{}, + consistency_selector_{}, + _cached_size_{0}, + _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {} + +RunAggregationQueryRequest::RunAggregationQueryRequest( + ::google::protobuf::Arena* arena, + const RunAggregationQueryRequest& from) + : ::google::protobuf::Message(arena) { + RunAggregationQueryRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); + switch (query_type_case()) { + case QUERY_TYPE_NOT_SET: + break; + case kStructuredAggregationQuery: + _impl_.query_type_.structured_aggregation_query_ = CreateMaybeMessage<::google::firestore::v1::StructuredAggregationQuery>(arena, *from._impl_.query_type_.structured_aggregation_query_); + break; + } + switch (consistency_selector_case()) { + case CONSISTENCY_SELECTOR_NOT_SET: + break; + case kTransaction: + new (&_impl_.consistency_selector_.transaction_) decltype(_impl_.consistency_selector_.transaction_){arena, from._impl_.consistency_selector_.transaction_}; + break; + case kNewTransaction: + _impl_.consistency_selector_.new_transaction_ = CreateMaybeMessage<::google::firestore::v1::TransactionOptions>(arena, *from._impl_.consistency_selector_.new_transaction_); + break; + case kReadTime: + _impl_.consistency_selector_.read_time_ = CreateMaybeMessage<::google::protobuf::Timestamp>(arena, *from._impl_.consistency_selector_.read_time_); + break; + } + + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.RunAggregationQueryRequest) +} +inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : parent_(arena), + query_type_{}, + consistency_selector_{}, + _cached_size_{0}, + _oneof_case_{} {} + +inline void RunAggregationQueryRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +RunAggregationQueryRequest::~RunAggregationQueryRequest() { + // @@protoc_insertion_point(destructor:google.firestore.v1.RunAggregationQueryRequest) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void RunAggregationQueryRequest::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + _impl_.parent_.Destroy(); + if (has_query_type()) { + clear_query_type(); + } + if (has_consistency_selector()) { + clear_consistency_selector(); + } + _impl_.~Impl_(); +} + +void RunAggregationQueryRequest::clear_query_type() { +// @@protoc_insertion_point(one_of_clear_start:google.firestore.v1.RunAggregationQueryRequest) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + switch (query_type_case()) { + case kStructuredAggregationQuery: { + if (GetArena() == nullptr) { + delete _impl_.query_type_.structured_aggregation_query_; + } + break; + } + case QUERY_TYPE_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = QUERY_TYPE_NOT_SET; +} + +void RunAggregationQueryRequest::clear_consistency_selector() { +// @@protoc_insertion_point(one_of_clear_start:google.firestore.v1.RunAggregationQueryRequest) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + switch (consistency_selector_case()) { + case kTransaction: { + _impl_.consistency_selector_.transaction_.Destroy(); + break; + } + case kNewTransaction: { + if (GetArena() == nullptr) { + delete _impl_.consistency_selector_.new_transaction_; + } + break; + } + case kReadTime: { + if (GetArena() == nullptr) { + delete _impl_.consistency_selector_.read_time_; + } + break; + } + case CONSISTENCY_SELECTOR_NOT_SET: { + break; + } + } + _impl_._oneof_case_[1] = CONSISTENCY_SELECTOR_NOT_SET; +} + + +PROTOBUF_NOINLINE void RunAggregationQueryRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.RunAggregationQueryRequest) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.parent_.ClearToEmpty(); + clear_query_type(); + clear_consistency_selector(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* RunAggregationQueryRequest::_InternalParse( + const char* ptr, ::_pbi::ParseContext* ctx) { + ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); + return ptr; +} + + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 5, 3, 61, 2> RunAggregationQueryRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 6, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967236, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_RunAggregationQueryRequest_default_instance_._instance, + ::_pbi::TcParser::GenericFallback, // fallback + }, {{ + // string parent = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.parent_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string parent = 1; + {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.parent_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; + {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.query_type_.structured_aggregation_query_), _Internal::kOneofCaseOffset + 0, 0, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // bytes transaction = 4; + {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.consistency_selector_.transaction_), _Internal::kOneofCaseOffset + 4, 0, + (0 | ::_fl::kFcOneof | ::_fl::kBytes | ::_fl::kRepAString)}, + // .google.firestore.v1.TransactionOptions new_transaction = 5; + {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.consistency_selector_.new_transaction_), _Internal::kOneofCaseOffset + 4, 1, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + // .google.protobuf.Timestamp read_time = 6; + {PROTOBUF_FIELD_OFFSET(RunAggregationQueryRequest, _impl_.consistency_selector_.read_time_), _Internal::kOneofCaseOffset + 4, 2, + (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::google::firestore::v1::StructuredAggregationQuery>()}, + {::_pbi::TcParser::GetTable<::google::firestore::v1::TransactionOptions>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, + }}, {{ + "\56\6\0\0\0\0\0\0" + "google.firestore.v1.RunAggregationQueryRequest" + "parent" + }}, +}; + +::uint8_t* RunAggregationQueryRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.RunAggregationQueryRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string parent = 1; + if (!this->_internal_parent().empty()) { + const std::string& _s = this->_internal_parent(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.RunAggregationQueryRequest.parent"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; + if (query_type_case() == kStructuredAggregationQuery) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, _Internal::structured_aggregation_query(this), + _Internal::structured_aggregation_query(this).GetCachedSize(), target, stream); + } + + switch (consistency_selector_case()) { + case kTransaction: { + const std::string& _s = this->_internal_transaction(); + target = stream->WriteBytesMaybeAliased(4, _s, target); + break; + } + case kNewTransaction: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, _Internal::new_transaction(this), + _Internal::new_transaction(this).GetCachedSize(), target, stream); + break; + } + case kReadTime: { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 6, _Internal::read_time(this), + _Internal::read_time(this).GetCachedSize(), target, stream); + break; + } + default: + break; + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.RunAggregationQueryRequest) + return target; +} + +::size_t RunAggregationQueryRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.RunAggregationQueryRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string parent = 1; + if (!this->_internal_parent().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this->_internal_parent()); + } + + switch (query_type_case()) { + // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; + case kStructuredAggregationQuery: { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_type_.structured_aggregation_query_); + break; + } + case QUERY_TYPE_NOT_SET: { + break; + } + } + switch (consistency_selector_case()) { + // bytes transaction = 4; + case kTransaction: { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize( + this->_internal_transaction()); + break; + } + // .google.firestore.v1.TransactionOptions new_transaction = 5; + case kNewTransaction: { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.consistency_selector_.new_transaction_); + break; + } + // .google.protobuf.Timestamp read_time = 6; + case kReadTime: { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.consistency_selector_.read_time_); + break; + } + case CONSISTENCY_SELECTOR_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::google::protobuf::Message::ClassData RunAggregationQueryRequest::_class_data_ = { + RunAggregationQueryRequest::MergeImpl, + nullptr, // OnDemandRegisterArenaDtor +}; +const ::google::protobuf::Message::ClassData* RunAggregationQueryRequest::GetClassData() const { + return &_class_data_; +} + +void RunAggregationQueryRequest::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.RunAggregationQueryRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_parent().empty()) { + _this->_internal_set_parent(from._internal_parent()); + } + switch (from.query_type_case()) { + case kStructuredAggregationQuery: { + _this->_internal_mutable_structured_aggregation_query()->::google::firestore::v1::StructuredAggregationQuery::MergeFrom( + from._internal_structured_aggregation_query()); + break; + } + case QUERY_TYPE_NOT_SET: { + break; + } + } + switch (from.consistency_selector_case()) { + case kTransaction: { + _this->_internal_set_transaction(from._internal_transaction()); + break; + } + case kNewTransaction: { + _this->_internal_mutable_new_transaction()->::google::firestore::v1::TransactionOptions::MergeFrom( + from._internal_new_transaction()); + break; + } + case kReadTime: { + _this->_internal_mutable_read_time()->::google::protobuf::Timestamp::MergeFrom( + from._internal_read_time()); + break; + } + case CONSISTENCY_SELECTOR_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void RunAggregationQueryRequest::CopyFrom(const RunAggregationQueryRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.RunAggregationQueryRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool RunAggregationQueryRequest::IsInitialized() const { + return true; +} + +::_pbi::CachedSize* RunAggregationQueryRequest::AccessCachedSize() const { + return &_impl_._cached_size_; +} +void RunAggregationQueryRequest::InternalSwap(RunAggregationQueryRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.parent_, &other->_impl_.parent_, arena); + swap(_impl_.query_type_, other->_impl_.query_type_); + swap(_impl_.consistency_selector_, other->_impl_.consistency_selector_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); + swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]); +} + +::google::protobuf::Metadata RunAggregationQueryRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[17]); +} +// =================================================================== + +class RunAggregationQueryResponse::_Internal { + public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(RunAggregationQueryResponse, _impl_._has_bits_); + static const ::google::firestore::v1::AggregationResult& result(const RunAggregationQueryResponse* msg); + static void set_has_result(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static const ::google::protobuf::Timestamp& read_time(const RunAggregationQueryResponse* msg); + static void set_has_read_time(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } +}; + +const ::google::firestore::v1::AggregationResult& RunAggregationQueryResponse::_Internal::result(const RunAggregationQueryResponse* msg) { + return *msg->_impl_.result_; +} +const ::google::protobuf::Timestamp& RunAggregationQueryResponse::_Internal::read_time(const RunAggregationQueryResponse* msg) { + return *msg->_impl_.read_time_; +} +void RunAggregationQueryResponse::clear_result() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.result_ != nullptr) _impl_.result_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +void RunAggregationQueryResponse::clear_read_time() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.read_time_ != nullptr) _impl_.read_time_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +RunAggregationQueryResponse::RunAggregationQueryResponse(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.RunAggregationQueryResponse) +} +inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryResponse::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + transaction_(arena, from.transaction_) {} + +RunAggregationQueryResponse::RunAggregationQueryResponse( + ::google::protobuf::Arena* arena, + const RunAggregationQueryResponse& from) + : ::google::protobuf::Message(arena) { + RunAggregationQueryResponse* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.result_ = (cached_has_bits & 0x00000001u) + ? CreateMaybeMessage<::google::firestore::v1::AggregationResult>(arena, *from._impl_.result_) + : nullptr; + _impl_.read_time_ = (cached_has_bits & 0x00000002u) + ? CreateMaybeMessage<::google::protobuf::Timestamp>(arena, *from._impl_.read_time_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.RunAggregationQueryResponse) +} +inline PROTOBUF_NDEBUG_INLINE RunAggregationQueryResponse::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + transaction_(arena) {} + +inline void RunAggregationQueryResponse::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, result_), + 0, + offsetof(Impl_, read_time_) - + offsetof(Impl_, result_) + + sizeof(Impl_::read_time_)); +} +RunAggregationQueryResponse::~RunAggregationQueryResponse() { + // @@protoc_insertion_point(destructor:google.firestore.v1.RunAggregationQueryResponse) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void RunAggregationQueryResponse::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + _impl_.transaction_.Destroy(); + delete _impl_.result_; + delete _impl_.read_time_; + _impl_.~Impl_(); +} + +PROTOBUF_NOINLINE void RunAggregationQueryResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.RunAggregationQueryResponse) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.transaction_.ClearToEmpty(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.result_ != nullptr); + _impl_.result_->Clear(); + } + if (cached_has_bits & 0x00000002u) { + ABSL_DCHECK(_impl_.read_time_ != nullptr); + _impl_.read_time_->Clear(); + } + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* RunAggregationQueryResponse::_InternalParse( + const char* ptr, ::_pbi::ParseContext* ctx) { + ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); + return ptr; +} + + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 2, 0, 2> RunAggregationQueryResponse::_table_ = { + { + PROTOBUF_FIELD_OFFSET(RunAggregationQueryResponse, _impl_._has_bits_), + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), 4294967288, // skipmap offsetof(decltype(_table_), field_entries), @@ -7062,7 +7958,7 @@ void RunAggregationQueryResponse::InternalSwap(RunAggregationQueryResponse* PROT ::google::protobuf::Metadata RunAggregationQueryResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[16]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[18]); } // =================================================================== @@ -7072,7 +7968,7 @@ WriteRequest_LabelsEntry_DoNotUse::WriteRequest_LabelsEntry_DoNotUse(::google::p ::google::protobuf::Metadata WriteRequest_LabelsEntry_DoNotUse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[17]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[19]); } // =================================================================== @@ -7400,7 +8296,7 @@ void WriteRequest::InternalSwap(WriteRequest* PROTOBUF_RESTRICT other) { ::google::protobuf::Metadata WriteRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[18]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[20]); } // =================================================================== @@ -7702,7 +8598,7 @@ void WriteResponse::InternalSwap(WriteResponse* PROTOBUF_RESTRICT other) { ::google::protobuf::Metadata WriteResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[19]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[21]); } // =================================================================== @@ -7712,7 +8608,7 @@ ListenRequest_LabelsEntry_DoNotUse::ListenRequest_LabelsEntry_DoNotUse(::google: ::google::protobuf::Metadata ListenRequest_LabelsEntry_DoNotUse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[20]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[22]); } // =================================================================== @@ -8069,7 +8965,7 @@ void ListenRequest::InternalSwap(ListenRequest* PROTOBUF_RESTRICT other) { ::google::protobuf::Metadata ListenRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[21]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[23]); } // =================================================================== @@ -8539,7 +9435,7 @@ void ListenResponse::InternalSwap(ListenResponse* PROTOBUF_RESTRICT other) { ::google::protobuf::Metadata ListenResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[22]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[24]); } // =================================================================== @@ -8724,7 +9620,7 @@ void Target_DocumentsTarget::InternalSwap(Target_DocumentsTarget* PROTOBUF_RESTR ::google::protobuf::Metadata Target_DocumentsTarget::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[23]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[25]); } // =================================================================== @@ -9008,7 +9904,7 @@ void Target_QueryTarget::InternalSwap(Target_QueryTarget* PROTOBUF_RESTRICT othe ::google::protobuf::Metadata Target_QueryTarget::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[24]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[26]); } // =================================================================== @@ -9536,7 +10432,7 @@ void Target::InternalSwap(Target* PROTOBUF_RESTRICT other) { ::google::protobuf::Metadata Target::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[25]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[27]); } // =================================================================== @@ -9899,7 +10795,7 @@ void TargetChange::InternalSwap(TargetChange* PROTOBUF_RESTRICT other) { ::google::protobuf::Metadata TargetChange::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[26]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[28]); } // =================================================================== @@ -10145,7 +11041,7 @@ void ListCollectionIdsRequest::InternalSwap(ListCollectionIdsRequest* PROTOBUF_R ::google::protobuf::Metadata ListCollectionIdsRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[27]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[29]); } // =================================================================== @@ -10361,7 +11257,7 @@ void ListCollectionIdsResponse::InternalSwap(ListCollectionIdsResponse* PROTOBUF ::google::protobuf::Metadata ListCollectionIdsResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2ffirestore_2eproto_once, - file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[28]); + file_level_metadata_google_2ffirestore_2fv1_2ffirestore_2eproto[30]); } // @@protoc_insertion_point(namespace_scope) } // namespace v1 diff --git a/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.h b/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.h index 65e0c8bc1b1..d0678e25d8a 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.h +++ b/Firestore/Protos/cpp/google/firestore/v1/firestore.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,9 +55,12 @@ #include "google/protobuf/generated_enum_reflection.h" #include "google/protobuf/unknown_field_set.h" #include "google/api/annotations.pb.h" +#include "google/api/field_behavior.pb.h" #include "google/firestore/v1/aggregation_result.pb.h" #include "google/firestore/v1/common.pb.h" #include "google/firestore/v1/document.pb.h" +#include "google/firestore/v1/explain_stats.pb.h" +#include "google/firestore/v1/pipeline.pb.h" #include "google/firestore/v1/query.pb.h" #include "google/firestore/v1/write.pb.h" #include "google/protobuf/empty.pb.h" @@ -112,6 +115,12 @@ extern CreateDocumentRequestDefaultTypeInternal _CreateDocumentRequest_default_i class DeleteDocumentRequest; struct DeleteDocumentRequestDefaultTypeInternal; extern DeleteDocumentRequestDefaultTypeInternal _DeleteDocumentRequest_default_instance_; +class ExecutePipelineRequest; +struct ExecutePipelineRequestDefaultTypeInternal; +extern ExecutePipelineRequestDefaultTypeInternal _ExecutePipelineRequest_default_instance_; +class ExecutePipelineResponse; +struct ExecutePipelineResponseDefaultTypeInternal; +extern ExecutePipelineResponseDefaultTypeInternal _ExecutePipelineResponse_default_instance_; class GetDocumentRequest; struct GetDocumentRequestDefaultTypeInternal; extern GetDocumentRequestDefaultTypeInternal _GetDocumentRequest_default_instance_; @@ -315,7 +324,7 @@ class Target_DocumentsTarget final : &_Target_DocumentsTarget_default_instance_); } static constexpr int kIndexInFileMessages = - 23; + 25; friend void swap(Target_DocumentsTarget& a, Target_DocumentsTarget& b) { a.Swap(&b); @@ -737,7 +746,7 @@ class ListCollectionIdsResponse final : &_ListCollectionIdsResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 28; + 30; friend void swap(ListCollectionIdsResponse& a, ListCollectionIdsResponse& b) { a.Swap(&b); @@ -948,7 +957,7 @@ class ListCollectionIdsRequest final : &_ListCollectionIdsRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 27; + 29; friend void swap(ListCollectionIdsRequest& a, ListCollectionIdsRequest& b) { a.Swap(&b); @@ -1934,7 +1943,7 @@ class TargetChange final : &_TargetChange_default_instance_); } static constexpr int kIndexInFileMessages = - 26; + 28; friend void swap(TargetChange& a, TargetChange& b) { a.Swap(&b); @@ -2405,7 +2414,7 @@ class WriteResponse final : &_WriteResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 19; + 21; friend void swap(WriteResponse& a, WriteResponse& b) { a.Swap(&b); @@ -3813,7 +3822,7 @@ class RunAggregationQueryResponse final : &_RunAggregationQueryResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 16; + 18; friend void swap(RunAggregationQueryResponse& a, RunAggregationQueryResponse& b) { a.Swap(&b); @@ -4171,26 +4180,26 @@ class ListDocumentsResponse final : friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class CreateDocumentRequest final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.CreateDocumentRequest) */ { +class ExecutePipelineResponse final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.ExecutePipelineResponse) */ { public: - inline CreateDocumentRequest() : CreateDocumentRequest(nullptr) {} - ~CreateDocumentRequest() override; + inline ExecutePipelineResponse() : ExecutePipelineResponse(nullptr) {} + ~ExecutePipelineResponse() override; template - explicit PROTOBUF_CONSTEXPR CreateDocumentRequest(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ExecutePipelineResponse(::google::protobuf::internal::ConstantInitialized); - inline CreateDocumentRequest(const CreateDocumentRequest& from) - : CreateDocumentRequest(nullptr, from) {} - CreateDocumentRequest(CreateDocumentRequest&& from) noexcept - : CreateDocumentRequest() { + inline ExecutePipelineResponse(const ExecutePipelineResponse& from) + : ExecutePipelineResponse(nullptr, from) {} + ExecutePipelineResponse(ExecutePipelineResponse&& from) noexcept + : ExecutePipelineResponse() { *this = ::std::move(from); } - inline CreateDocumentRequest& operator=(const CreateDocumentRequest& from) { + inline ExecutePipelineResponse& operator=(const ExecutePipelineResponse& from) { CopyFrom(from); return *this; } - inline CreateDocumentRequest& operator=(CreateDocumentRequest&& from) noexcept { + inline ExecutePipelineResponse& operator=(ExecutePipelineResponse&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4222,20 +4231,20 @@ class CreateDocumentRequest final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateDocumentRequest& default_instance() { + static const ExecutePipelineResponse& default_instance() { return *internal_default_instance(); } - static inline const CreateDocumentRequest* internal_default_instance() { - return reinterpret_cast( - &_CreateDocumentRequest_default_instance_); + static inline const ExecutePipelineResponse* internal_default_instance() { + return reinterpret_cast( + &_ExecutePipelineResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 16; - friend void swap(CreateDocumentRequest& a, CreateDocumentRequest& b) { + friend void swap(ExecutePipelineResponse& a, ExecutePipelineResponse& b) { a.Swap(&b); } - inline void Swap(CreateDocumentRequest* other) { + inline void Swap(ExecutePipelineResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -4248,7 +4257,7 @@ class CreateDocumentRequest final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateDocumentRequest* other) { + void UnsafeArenaSwap(ExecutePipelineResponse* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -4256,14 +4265,14 @@ class CreateDocumentRequest final : // implements Message ---------------------------------------------- - CreateDocumentRequest* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ExecutePipelineResponse* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const CreateDocumentRequest& from); + void CopyFrom(const ExecutePipelineResponse& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const CreateDocumentRequest& from) { - CreateDocumentRequest::MergeImpl(*this, from); + void MergeFrom( const ExecutePipelineResponse& from) { + ExecutePipelineResponse::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -4281,16 +4290,16 @@ class CreateDocumentRequest final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(CreateDocumentRequest* other); + void InternalSwap(ExecutePipelineResponse* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.CreateDocumentRequest"; + return "google.firestore.v1.ExecutePipelineResponse"; } protected: - explicit CreateDocumentRequest(::google::protobuf::Arena* arena); - CreateDocumentRequest(::google::protobuf::Arena* arena, const CreateDocumentRequest& from); + explicit ExecutePipelineResponse(::google::protobuf::Arena* arena); + ExecutePipelineResponse(::google::protobuf::Arena* arena, const ExecutePipelineResponse& from); public: static const ClassData _class_data_; @@ -4303,98 +4312,83 @@ class CreateDocumentRequest final : // accessors ------------------------------------------------------- enum : int { - kParentFieldNumber = 1, - kCollectionIdFieldNumber = 2, - kDocumentIdFieldNumber = 3, - kDocumentFieldNumber = 4, - kMaskFieldNumber = 5, + kResultsFieldNumber = 2, + kTransactionFieldNumber = 1, + kExecutionTimeFieldNumber = 3, + kExplainStatsFieldNumber = 4, }; - // string parent = 1; - void clear_parent() ; - const std::string& parent() const; - template - void set_parent(Arg_&& arg, Args_... args); - std::string* mutable_parent(); - PROTOBUF_NODISCARD std::string* release_parent(); - void set_allocated_parent(std::string* value); - + // repeated .google.firestore.v1.Document results = 2; + int results_size() const; private: - const std::string& _internal_parent() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( - const std::string& value); - std::string* _internal_mutable_parent(); + int _internal_results_size() const; public: - // string collection_id = 2; - void clear_collection_id() ; - const std::string& collection_id() const; - template - void set_collection_id(Arg_&& arg, Args_... args); - std::string* mutable_collection_id(); - PROTOBUF_NODISCARD std::string* release_collection_id(); - void set_allocated_collection_id(std::string* value); - + void clear_results() ; + ::google::firestore::v1::Document* mutable_results(int index); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Document >* + mutable_results(); private: - const std::string& _internal_collection_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_collection_id( - const std::string& value); - std::string* _internal_mutable_collection_id(); - + const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>& _internal_results() const; + ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>* _internal_mutable_results(); public: - // string document_id = 3; - void clear_document_id() ; - const std::string& document_id() const; + const ::google::firestore::v1::Document& results(int index) const; + ::google::firestore::v1::Document* add_results(); + const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Document >& + results() const; + // bytes transaction = 1; + void clear_transaction() ; + const std::string& transaction() const; template - void set_document_id(Arg_&& arg, Args_... args); - std::string* mutable_document_id(); - PROTOBUF_NODISCARD std::string* release_document_id(); - void set_allocated_document_id(std::string* value); + void set_transaction(Arg_&& arg, Args_... args); + std::string* mutable_transaction(); + PROTOBUF_NODISCARD std::string* release_transaction(); + void set_allocated_transaction(std::string* value); private: - const std::string& _internal_document_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_document_id( + const std::string& _internal_transaction() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_transaction( const std::string& value); - std::string* _internal_mutable_document_id(); + std::string* _internal_mutable_transaction(); public: - // .google.firestore.v1.Document document = 4; - bool has_document() const; - void clear_document() ; - const ::google::firestore::v1::Document& document() const; - PROTOBUF_NODISCARD ::google::firestore::v1::Document* release_document(); - ::google::firestore::v1::Document* mutable_document(); - void set_allocated_document(::google::firestore::v1::Document* value); - void unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value); - ::google::firestore::v1::Document* unsafe_arena_release_document(); + // .google.protobuf.Timestamp execution_time = 3; + bool has_execution_time() const; + void clear_execution_time() ; + const ::google::protobuf::Timestamp& execution_time() const; + PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_execution_time(); + ::google::protobuf::Timestamp* mutable_execution_time(); + void set_allocated_execution_time(::google::protobuf::Timestamp* value); + void unsafe_arena_set_allocated_execution_time(::google::protobuf::Timestamp* value); + ::google::protobuf::Timestamp* unsafe_arena_release_execution_time(); private: - const ::google::firestore::v1::Document& _internal_document() const; - ::google::firestore::v1::Document* _internal_mutable_document(); + const ::google::protobuf::Timestamp& _internal_execution_time() const; + ::google::protobuf::Timestamp* _internal_mutable_execution_time(); public: - // .google.firestore.v1.DocumentMask mask = 5; - bool has_mask() const; - void clear_mask() ; - const ::google::firestore::v1::DocumentMask& mask() const; - PROTOBUF_NODISCARD ::google::firestore::v1::DocumentMask* release_mask(); - ::google::firestore::v1::DocumentMask* mutable_mask(); - void set_allocated_mask(::google::firestore::v1::DocumentMask* value); - void unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value); - ::google::firestore::v1::DocumentMask* unsafe_arena_release_mask(); + // .google.firestore.v1.ExplainStats explain_stats = 4; + bool has_explain_stats() const; + void clear_explain_stats() ; + const ::google::firestore::v1::ExplainStats& explain_stats() const; + PROTOBUF_NODISCARD ::google::firestore::v1::ExplainStats* release_explain_stats(); + ::google::firestore::v1::ExplainStats* mutable_explain_stats(); + void set_allocated_explain_stats(::google::firestore::v1::ExplainStats* value); + void unsafe_arena_set_allocated_explain_stats(::google::firestore::v1::ExplainStats* value); + ::google::firestore::v1::ExplainStats* unsafe_arena_release_explain_stats(); private: - const ::google::firestore::v1::DocumentMask& _internal_mask() const; - ::google::firestore::v1::DocumentMask* _internal_mutable_mask(); + const ::google::firestore::v1::ExplainStats& _internal_explain_stats() const; + ::google::firestore::v1::ExplainStats* _internal_mutable_explain_stats(); public: - // @@protoc_insertion_point(class_scope:google.firestore.v1.CreateDocumentRequest) + // @@protoc_insertion_point(class_scope:google.firestore.v1.ExecutePipelineResponse) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 2, - 80, 2> + 2, 4, 3, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -4412,37 +4406,36 @@ class CreateDocumentRequest final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr parent_; - ::google::protobuf::internal::ArenaStringPtr collection_id_; - ::google::protobuf::internal::ArenaStringPtr document_id_; - ::google::firestore::v1::Document* document_; - ::google::firestore::v1::DocumentMask* mask_; + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Document > results_; + ::google::protobuf::internal::ArenaStringPtr transaction_; + ::google::protobuf::Timestamp* execution_time_; + ::google::firestore::v1::ExplainStats* explain_stats_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class BatchGetDocumentsResponse final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.BatchGetDocumentsResponse) */ { +class ExecutePipelineRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.ExecutePipelineRequest) */ { public: - inline BatchGetDocumentsResponse() : BatchGetDocumentsResponse(nullptr) {} - ~BatchGetDocumentsResponse() override; + inline ExecutePipelineRequest() : ExecutePipelineRequest(nullptr) {} + ~ExecutePipelineRequest() override; template - explicit PROTOBUF_CONSTEXPR BatchGetDocumentsResponse(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ExecutePipelineRequest(::google::protobuf::internal::ConstantInitialized); - inline BatchGetDocumentsResponse(const BatchGetDocumentsResponse& from) - : BatchGetDocumentsResponse(nullptr, from) {} - BatchGetDocumentsResponse(BatchGetDocumentsResponse&& from) noexcept - : BatchGetDocumentsResponse() { + inline ExecutePipelineRequest(const ExecutePipelineRequest& from) + : ExecutePipelineRequest(nullptr, from) {} + ExecutePipelineRequest(ExecutePipelineRequest&& from) noexcept + : ExecutePipelineRequest() { *this = ::std::move(from); } - inline BatchGetDocumentsResponse& operator=(const BatchGetDocumentsResponse& from) { + inline ExecutePipelineRequest& operator=(const ExecutePipelineRequest& from) { CopyFrom(from); return *this; } - inline BatchGetDocumentsResponse& operator=(BatchGetDocumentsResponse&& from) noexcept { + inline ExecutePipelineRequest& operator=(ExecutePipelineRequest&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4474,26 +4467,32 @@ class BatchGetDocumentsResponse final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const BatchGetDocumentsResponse& default_instance() { + static const ExecutePipelineRequest& default_instance() { return *internal_default_instance(); } - enum ResultCase { - kFound = 1, - kMissing = 2, - RESULT_NOT_SET = 0, + enum PipelineTypeCase { + kStructuredPipeline = 2, + PIPELINE_TYPE_NOT_SET = 0, }; - static inline const BatchGetDocumentsResponse* internal_default_instance() { - return reinterpret_cast( - &_BatchGetDocumentsResponse_default_instance_); + enum ConsistencySelectorCase { + kTransaction = 5, + kNewTransaction = 6, + kReadTime = 7, + CONSISTENCY_SELECTOR_NOT_SET = 0, + }; + + static inline const ExecutePipelineRequest* internal_default_instance() { + return reinterpret_cast( + &_ExecutePipelineRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 7; + 15; - friend void swap(BatchGetDocumentsResponse& a, BatchGetDocumentsResponse& b) { + friend void swap(ExecutePipelineRequest& a, ExecutePipelineRequest& b) { a.Swap(&b); } - inline void Swap(BatchGetDocumentsResponse* other) { + inline void Swap(ExecutePipelineRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -4506,7 +4505,7 @@ class BatchGetDocumentsResponse final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(BatchGetDocumentsResponse* other) { + void UnsafeArenaSwap(ExecutePipelineRequest* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -4514,14 +4513,14 @@ class BatchGetDocumentsResponse final : // implements Message ---------------------------------------------- - BatchGetDocumentsResponse* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ExecutePipelineRequest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const BatchGetDocumentsResponse& from); + void CopyFrom(const ExecutePipelineRequest& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const BatchGetDocumentsResponse& from) { - BatchGetDocumentsResponse::MergeImpl(*this, from); + void MergeFrom( const ExecutePipelineRequest& from) { + ExecutePipelineRequest::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -4539,16 +4538,16 @@ class BatchGetDocumentsResponse final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(BatchGetDocumentsResponse* other); + void InternalSwap(ExecutePipelineRequest* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.BatchGetDocumentsResponse"; + return "google.firestore.v1.ExecutePipelineRequest"; } protected: - explicit BatchGetDocumentsResponse(::google::protobuf::Arena* arena); - BatchGetDocumentsResponse(::google::protobuf::Arena* arena, const BatchGetDocumentsResponse& from); + explicit ExecutePipelineRequest(::google::protobuf::Arena* arena); + ExecutePipelineRequest(::google::protobuf::Arena* arena, const ExecutePipelineRequest& from); public: static const ClassData _class_data_; @@ -4561,12 +4560,49 @@ class BatchGetDocumentsResponse final : // accessors ------------------------------------------------------- enum : int { - kTransactionFieldNumber = 3, - kReadTimeFieldNumber = 4, - kFoundFieldNumber = 1, - kMissingFieldNumber = 2, + kDatabaseFieldNumber = 1, + kStructuredPipelineFieldNumber = 2, + kTransactionFieldNumber = 5, + kNewTransactionFieldNumber = 6, + kReadTimeFieldNumber = 7, }; - // bytes transaction = 3; + // string database = 1 [(.google.api.field_behavior) = REQUIRED]; + void clear_database() ; + const std::string& database() const; + template + void set_database(Arg_&& arg, Args_... args); + std::string* mutable_database(); + PROTOBUF_NODISCARD std::string* release_database(); + void set_allocated_database(std::string* value); + + private: + const std::string& _internal_database() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( + const std::string& value); + std::string* _internal_mutable_database(); + + public: + // .google.firestore.v1.StructuredPipeline structured_pipeline = 2; + bool has_structured_pipeline() const; + private: + bool _internal_has_structured_pipeline() const; + + public: + void clear_structured_pipeline() ; + const ::google::firestore::v1::StructuredPipeline& structured_pipeline() const; + PROTOBUF_NODISCARD ::google::firestore::v1::StructuredPipeline* release_structured_pipeline(); + ::google::firestore::v1::StructuredPipeline* mutable_structured_pipeline(); + void set_allocated_structured_pipeline(::google::firestore::v1::StructuredPipeline* value); + void unsafe_arena_set_allocated_structured_pipeline(::google::firestore::v1::StructuredPipeline* value); + ::google::firestore::v1::StructuredPipeline* unsafe_arena_release_structured_pipeline(); + + private: + const ::google::firestore::v1::StructuredPipeline& _internal_structured_pipeline() const; + ::google::firestore::v1::StructuredPipeline* _internal_mutable_structured_pipeline(); + + public: + // bytes transaction = 5; + bool has_transaction() const; void clear_transaction() ; const std::string& transaction() const; template @@ -4582,8 +4618,31 @@ class BatchGetDocumentsResponse final : std::string* _internal_mutable_transaction(); public: - // .google.protobuf.Timestamp read_time = 4; + // .google.firestore.v1.TransactionOptions new_transaction = 6; + bool has_new_transaction() const; + private: + bool _internal_has_new_transaction() const; + + public: + void clear_new_transaction() ; + const ::google::firestore::v1::TransactionOptions& new_transaction() const; + PROTOBUF_NODISCARD ::google::firestore::v1::TransactionOptions* release_new_transaction(); + ::google::firestore::v1::TransactionOptions* mutable_new_transaction(); + void set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); + void unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); + ::google::firestore::v1::TransactionOptions* unsafe_arena_release_new_transaction(); + + private: + const ::google::firestore::v1::TransactionOptions& _internal_new_transaction() const; + ::google::firestore::v1::TransactionOptions* _internal_mutable_new_transaction(); + + public: + // .google.protobuf.Timestamp read_time = 7; bool has_read_time() const; + private: + bool _internal_has_read_time() const; + + public: void clear_read_time() ; const ::google::protobuf::Timestamp& read_time() const; PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); @@ -4597,57 +4656,28 @@ class BatchGetDocumentsResponse final : ::google::protobuf::Timestamp* _internal_mutable_read_time(); public: - // .google.firestore.v1.Document found = 1; - bool has_found() const; - private: - bool _internal_has_found() const; + void clear_pipeline_type(); + PipelineTypeCase pipeline_type_case() const; + void clear_consistency_selector(); + ConsistencySelectorCase consistency_selector_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.ExecutePipelineRequest) + private: + class _Internal; + void set_has_structured_pipeline(); + void set_has_transaction(); + void set_has_new_transaction(); + void set_has_read_time(); - public: - void clear_found() ; - const ::google::firestore::v1::Document& found() const; - PROTOBUF_NODISCARD ::google::firestore::v1::Document* release_found(); - ::google::firestore::v1::Document* mutable_found(); - void set_allocated_found(::google::firestore::v1::Document* value); - void unsafe_arena_set_allocated_found(::google::firestore::v1::Document* value); - ::google::firestore::v1::Document* unsafe_arena_release_found(); + inline bool has_pipeline_type() const; + inline void clear_has_pipeline_type(); - private: - const ::google::firestore::v1::Document& _internal_found() const; - ::google::firestore::v1::Document* _internal_mutable_found(); - - public: - // string missing = 2; - bool has_missing() const; - void clear_missing() ; - const std::string& missing() const; - template - void set_missing(Arg_&& arg, Args_... args); - std::string* mutable_missing(); - PROTOBUF_NODISCARD std::string* release_missing(); - void set_allocated_missing(std::string* value); - - private: - const std::string& _internal_missing() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_missing( - const std::string& value); - std::string* _internal_mutable_missing(); - - public: - void clear_result(); - ResultCase result_case() const; - // @@protoc_insertion_point(class_scope:google.firestore.v1.BatchGetDocumentsResponse) - private: - class _Internal; - void set_has_found(); - void set_has_missing(); - - inline bool has_result() const; - inline void clear_has_result(); + inline bool has_consistency_selector() const; + inline void clear_has_consistency_selector(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 1, 4, 2, - 61, 2> + 0, 5, 3, + 59, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -4663,17 +4693,21 @@ class BatchGetDocumentsResponse final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr transaction_; - ::google::protobuf::Timestamp* read_time_; - union ResultUnion { - constexpr ResultUnion() : _constinit_{} {} + ::google::protobuf::internal::ArenaStringPtr database_; + union PipelineTypeUnion { + constexpr PipelineTypeUnion() : _constinit_{} {} ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::firestore::v1::Document* found_; - ::google::protobuf::internal::ArenaStringPtr missing_; - } result_; - ::uint32_t _oneof_case_[1]; + ::google::firestore::v1::StructuredPipeline* structured_pipeline_; + } pipeline_type_; + union ConsistencySelectorUnion { + constexpr ConsistencySelectorUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ArenaStringPtr transaction_; + ::google::firestore::v1::TransactionOptions* new_transaction_; + ::google::protobuf::Timestamp* read_time_; + } consistency_selector_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[2]; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -4681,26 +4715,26 @@ class BatchGetDocumentsResponse final : friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class WriteRequest final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.WriteRequest) */ { +class CreateDocumentRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.CreateDocumentRequest) */ { public: - inline WriteRequest() : WriteRequest(nullptr) {} - ~WriteRequest() override; + inline CreateDocumentRequest() : CreateDocumentRequest(nullptr) {} + ~CreateDocumentRequest() override; template - explicit PROTOBUF_CONSTEXPR WriteRequest(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR CreateDocumentRequest(::google::protobuf::internal::ConstantInitialized); - inline WriteRequest(const WriteRequest& from) - : WriteRequest(nullptr, from) {} - WriteRequest(WriteRequest&& from) noexcept - : WriteRequest() { + inline CreateDocumentRequest(const CreateDocumentRequest& from) + : CreateDocumentRequest(nullptr, from) {} + CreateDocumentRequest(CreateDocumentRequest&& from) noexcept + : CreateDocumentRequest() { *this = ::std::move(from); } - inline WriteRequest& operator=(const WriteRequest& from) { + inline CreateDocumentRequest& operator=(const CreateDocumentRequest& from) { CopyFrom(from); return *this; } - inline WriteRequest& operator=(WriteRequest&& from) noexcept { + inline CreateDocumentRequest& operator=(CreateDocumentRequest&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4732,20 +4766,20 @@ class WriteRequest final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WriteRequest& default_instance() { + static const CreateDocumentRequest& default_instance() { return *internal_default_instance(); } - static inline const WriteRequest* internal_default_instance() { - return reinterpret_cast( - &_WriteRequest_default_instance_); + static inline const CreateDocumentRequest* internal_default_instance() { + return reinterpret_cast( + &_CreateDocumentRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 18; + 3; - friend void swap(WriteRequest& a, WriteRequest& b) { + friend void swap(CreateDocumentRequest& a, CreateDocumentRequest& b) { a.Swap(&b); } - inline void Swap(WriteRequest* other) { + inline void Swap(CreateDocumentRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -4758,7 +4792,7 @@ class WriteRequest final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WriteRequest* other) { + void UnsafeArenaSwap(CreateDocumentRequest* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -4766,14 +4800,14 @@ class WriteRequest final : // implements Message ---------------------------------------------- - WriteRequest* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateDocumentRequest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const WriteRequest& from); + void CopyFrom(const CreateDocumentRequest& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const WriteRequest& from) { - WriteRequest::MergeImpl(*this, from); + void MergeFrom( const CreateDocumentRequest& from) { + CreateDocumentRequest::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -4791,16 +4825,16 @@ class WriteRequest final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(WriteRequest* other); + void InternalSwap(CreateDocumentRequest* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.WriteRequest"; + return "google.firestore.v1.CreateDocumentRequest"; } protected: - explicit WriteRequest(::google::protobuf::Arena* arena); - WriteRequest(::google::protobuf::Arena* arena, const WriteRequest& from); + explicit CreateDocumentRequest(::google::protobuf::Arena* arena); + CreateDocumentRequest(::google::protobuf::Arena* arena, const CreateDocumentRequest& from); public: static const ClassData _class_data_; @@ -4810,105 +4844,101 @@ class WriteRequest final : // nested types ---------------------------------------------------- - // accessors ------------------------------------------------------- enum : int { - kWritesFieldNumber = 3, - kLabelsFieldNumber = 5, - kDatabaseFieldNumber = 1, - kStreamIdFieldNumber = 2, - kStreamTokenFieldNumber = 4, + kParentFieldNumber = 1, + kCollectionIdFieldNumber = 2, + kDocumentIdFieldNumber = 3, + kDocumentFieldNumber = 4, + kMaskFieldNumber = 5, }; - // repeated .google.firestore.v1.Write writes = 3; - int writes_size() const; - private: - int _internal_writes_size() const; + // string parent = 1; + void clear_parent() ; + const std::string& parent() const; + template + void set_parent(Arg_&& arg, Args_... args); + std::string* mutable_parent(); + PROTOBUF_NODISCARD std::string* release_parent(); + void set_allocated_parent(std::string* value); - public: - void clear_writes() ; - ::google::firestore::v1::Write* mutable_writes(int index); - ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >* - mutable_writes(); - private: - const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& _internal_writes() const; - ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* _internal_mutable_writes(); - public: - const ::google::firestore::v1::Write& writes(int index) const; - ::google::firestore::v1::Write* add_writes(); - const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >& - writes() const; - // map labels = 5; - int labels_size() const; private: - int _internal_labels_size() const; + const std::string& _internal_parent() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( + const std::string& value); + std::string* _internal_mutable_parent(); public: - void clear_labels() ; - const ::google::protobuf::Map& labels() const; - ::google::protobuf::Map* mutable_labels(); + // string collection_id = 2; + void clear_collection_id() ; + const std::string& collection_id() const; + template + void set_collection_id(Arg_&& arg, Args_... args); + std::string* mutable_collection_id(); + PROTOBUF_NODISCARD std::string* release_collection_id(); + void set_allocated_collection_id(std::string* value); private: - const ::google::protobuf::Map& _internal_labels() const; - ::google::protobuf::Map* _internal_mutable_labels(); + const std::string& _internal_collection_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_collection_id( + const std::string& value); + std::string* _internal_mutable_collection_id(); public: - // string database = 1; - void clear_database() ; - const std::string& database() const; + // string document_id = 3; + void clear_document_id() ; + const std::string& document_id() const; template - void set_database(Arg_&& arg, Args_... args); - std::string* mutable_database(); - PROTOBUF_NODISCARD std::string* release_database(); - void set_allocated_database(std::string* value); + void set_document_id(Arg_&& arg, Args_... args); + std::string* mutable_document_id(); + PROTOBUF_NODISCARD std::string* release_document_id(); + void set_allocated_document_id(std::string* value); private: - const std::string& _internal_database() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( + const std::string& _internal_document_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_document_id( const std::string& value); - std::string* _internal_mutable_database(); + std::string* _internal_mutable_document_id(); public: - // string stream_id = 2; - void clear_stream_id() ; - const std::string& stream_id() const; - template - void set_stream_id(Arg_&& arg, Args_... args); - std::string* mutable_stream_id(); - PROTOBUF_NODISCARD std::string* release_stream_id(); - void set_allocated_stream_id(std::string* value); + // .google.firestore.v1.Document document = 4; + bool has_document() const; + void clear_document() ; + const ::google::firestore::v1::Document& document() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Document* release_document(); + ::google::firestore::v1::Document* mutable_document(); + void set_allocated_document(::google::firestore::v1::Document* value); + void unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value); + ::google::firestore::v1::Document* unsafe_arena_release_document(); private: - const std::string& _internal_stream_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_stream_id( - const std::string& value); - std::string* _internal_mutable_stream_id(); + const ::google::firestore::v1::Document& _internal_document() const; + ::google::firestore::v1::Document* _internal_mutable_document(); public: - // bytes stream_token = 4; - void clear_stream_token() ; - const std::string& stream_token() const; - template - void set_stream_token(Arg_&& arg, Args_... args); - std::string* mutable_stream_token(); - PROTOBUF_NODISCARD std::string* release_stream_token(); - void set_allocated_stream_token(std::string* value); + // .google.firestore.v1.DocumentMask mask = 5; + bool has_mask() const; + void clear_mask() ; + const ::google::firestore::v1::DocumentMask& mask() const; + PROTOBUF_NODISCARD ::google::firestore::v1::DocumentMask* release_mask(); + ::google::firestore::v1::DocumentMask* mutable_mask(); + void set_allocated_mask(::google::firestore::v1::DocumentMask* value); + void unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value); + ::google::firestore::v1::DocumentMask* unsafe_arena_release_mask(); private: - const std::string& _internal_stream_token() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_stream_token( - const std::string& value); - std::string* _internal_mutable_stream_token(); + const ::google::firestore::v1::DocumentMask& _internal_mask() const; + ::google::firestore::v1::DocumentMask* _internal_mutable_mask(); public: - // @@protoc_insertion_point(class_scope:google.firestore.v1.WriteRequest) + // @@protoc_insertion_point(class_scope:google.firestore.v1.CreateDocumentRequest) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 5, 2, - 64, 2> + 3, 5, 2, + 80, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -4924,41 +4954,39 @@ class WriteRequest final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write > writes_; - ::google::protobuf::internal::MapField - labels_; - ::google::protobuf::internal::ArenaStringPtr database_; - ::google::protobuf::internal::ArenaStringPtr stream_id_; - ::google::protobuf::internal::ArenaStringPtr stream_token_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr parent_; + ::google::protobuf::internal::ArenaStringPtr collection_id_; + ::google::protobuf::internal::ArenaStringPtr document_id_; + ::google::firestore::v1::Document* document_; + ::google::firestore::v1::DocumentMask* mask_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class Target_QueryTarget final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Target.QueryTarget) */ { +class BatchGetDocumentsResponse final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.BatchGetDocumentsResponse) */ { public: - inline Target_QueryTarget() : Target_QueryTarget(nullptr) {} - ~Target_QueryTarget() override; + inline BatchGetDocumentsResponse() : BatchGetDocumentsResponse(nullptr) {} + ~BatchGetDocumentsResponse() override; template - explicit PROTOBUF_CONSTEXPR Target_QueryTarget(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR BatchGetDocumentsResponse(::google::protobuf::internal::ConstantInitialized); - inline Target_QueryTarget(const Target_QueryTarget& from) - : Target_QueryTarget(nullptr, from) {} - Target_QueryTarget(Target_QueryTarget&& from) noexcept - : Target_QueryTarget() { + inline BatchGetDocumentsResponse(const BatchGetDocumentsResponse& from) + : BatchGetDocumentsResponse(nullptr, from) {} + BatchGetDocumentsResponse(BatchGetDocumentsResponse&& from) noexcept + : BatchGetDocumentsResponse() { *this = ::std::move(from); } - inline Target_QueryTarget& operator=(const Target_QueryTarget& from) { + inline BatchGetDocumentsResponse& operator=(const BatchGetDocumentsResponse& from) { CopyFrom(from); return *this; } - inline Target_QueryTarget& operator=(Target_QueryTarget&& from) noexcept { + inline BatchGetDocumentsResponse& operator=(BatchGetDocumentsResponse&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4990,25 +5018,26 @@ class Target_QueryTarget final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Target_QueryTarget& default_instance() { + static const BatchGetDocumentsResponse& default_instance() { return *internal_default_instance(); } - enum QueryTypeCase { - kStructuredQuery = 2, - QUERY_TYPE_NOT_SET = 0, + enum ResultCase { + kFound = 1, + kMissing = 2, + RESULT_NOT_SET = 0, }; - static inline const Target_QueryTarget* internal_default_instance() { - return reinterpret_cast( - &_Target_QueryTarget_default_instance_); + static inline const BatchGetDocumentsResponse* internal_default_instance() { + return reinterpret_cast( + &_BatchGetDocumentsResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 24; + 7; - friend void swap(Target_QueryTarget& a, Target_QueryTarget& b) { + friend void swap(BatchGetDocumentsResponse& a, BatchGetDocumentsResponse& b) { a.Swap(&b); } - inline void Swap(Target_QueryTarget* other) { + inline void Swap(BatchGetDocumentsResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -5021,7 +5050,7 @@ class Target_QueryTarget final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Target_QueryTarget* other) { + void UnsafeArenaSwap(BatchGetDocumentsResponse* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -5029,14 +5058,14 @@ class Target_QueryTarget final : // implements Message ---------------------------------------------- - Target_QueryTarget* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + BatchGetDocumentsResponse* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const Target_QueryTarget& from); + void CopyFrom(const BatchGetDocumentsResponse& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const Target_QueryTarget& from) { - Target_QueryTarget::MergeImpl(*this, from); + void MergeFrom( const BatchGetDocumentsResponse& from) { + BatchGetDocumentsResponse::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -5054,16 +5083,16 @@ class Target_QueryTarget final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(Target_QueryTarget* other); + void InternalSwap(BatchGetDocumentsResponse* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.Target.QueryTarget"; + return "google.firestore.v1.BatchGetDocumentsResponse"; } protected: - explicit Target_QueryTarget(::google::protobuf::Arena* arena); - Target_QueryTarget(::google::protobuf::Arena* arena, const Target_QueryTarget& from); + explicit BatchGetDocumentsResponse(::google::protobuf::Arena* arena); + BatchGetDocumentsResponse(::google::protobuf::Arena* arena, const BatchGetDocumentsResponse& from); public: static const ClassData _class_data_; @@ -5076,58 +5105,93 @@ class Target_QueryTarget final : // accessors ------------------------------------------------------- enum : int { - kParentFieldNumber = 1, - kStructuredQueryFieldNumber = 2, + kTransactionFieldNumber = 3, + kReadTimeFieldNumber = 4, + kFoundFieldNumber = 1, + kMissingFieldNumber = 2, }; - // string parent = 1; - void clear_parent() ; - const std::string& parent() const; + // bytes transaction = 3; + void clear_transaction() ; + const std::string& transaction() const; template - void set_parent(Arg_&& arg, Args_... args); - std::string* mutable_parent(); - PROTOBUF_NODISCARD std::string* release_parent(); - void set_allocated_parent(std::string* value); + void set_transaction(Arg_&& arg, Args_... args); + std::string* mutable_transaction(); + PROTOBUF_NODISCARD std::string* release_transaction(); + void set_allocated_transaction(std::string* value); private: - const std::string& _internal_parent() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( + const std::string& _internal_transaction() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_transaction( const std::string& value); - std::string* _internal_mutable_parent(); + std::string* _internal_mutable_transaction(); public: - // .google.firestore.v1.StructuredQuery structured_query = 2; - bool has_structured_query() const; + // .google.protobuf.Timestamp read_time = 4; + bool has_read_time() const; + void clear_read_time() ; + const ::google::protobuf::Timestamp& read_time() const; + PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); + ::google::protobuf::Timestamp* mutable_read_time(); + void set_allocated_read_time(::google::protobuf::Timestamp* value); + void unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value); + ::google::protobuf::Timestamp* unsafe_arena_release_read_time(); + private: - bool _internal_has_structured_query() const; + const ::google::protobuf::Timestamp& _internal_read_time() const; + ::google::protobuf::Timestamp* _internal_mutable_read_time(); public: - void clear_structured_query() ; - const ::google::firestore::v1::StructuredQuery& structured_query() const; - PROTOBUF_NODISCARD ::google::firestore::v1::StructuredQuery* release_structured_query(); - ::google::firestore::v1::StructuredQuery* mutable_structured_query(); - void set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); - void unsafe_arena_set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); - ::google::firestore::v1::StructuredQuery* unsafe_arena_release_structured_query(); + // .google.firestore.v1.Document found = 1; + bool has_found() const; + private: + bool _internal_has_found() const; + + public: + void clear_found() ; + const ::google::firestore::v1::Document& found() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Document* release_found(); + ::google::firestore::v1::Document* mutable_found(); + void set_allocated_found(::google::firestore::v1::Document* value); + void unsafe_arena_set_allocated_found(::google::firestore::v1::Document* value); + ::google::firestore::v1::Document* unsafe_arena_release_found(); private: - const ::google::firestore::v1::StructuredQuery& _internal_structured_query() const; - ::google::firestore::v1::StructuredQuery* _internal_mutable_structured_query(); + const ::google::firestore::v1::Document& _internal_found() const; + ::google::firestore::v1::Document* _internal_mutable_found(); public: - void clear_query_type(); - QueryTypeCase query_type_case() const; - // @@protoc_insertion_point(class_scope:google.firestore.v1.Target.QueryTarget) + // string missing = 2; + bool has_missing() const; + void clear_missing() ; + const std::string& missing() const; + template + void set_missing(Arg_&& arg, Args_... args); + std::string* mutable_missing(); + PROTOBUF_NODISCARD std::string* release_missing(); + void set_allocated_missing(std::string* value); + + private: + const std::string& _internal_missing() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_missing( + const std::string& value); + std::string* _internal_mutable_missing(); + + public: + void clear_result(); + ResultCase result_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.BatchGetDocumentsResponse) private: class _Internal; - void set_has_structured_query(); + void set_has_found(); + void set_has_missing(); - inline bool has_query_type() const; - inline void clear_has_query_type(); + inline bool has_result() const; + inline void clear_has_result(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 0, 2, 1, - 53, 2> + 1, 4, 2, + 61, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -5143,13 +5207,16 @@ class Target_QueryTarget final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::ArenaStringPtr parent_; - union QueryTypeUnion { - constexpr QueryTypeUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::firestore::v1::StructuredQuery* structured_query_; - } query_type_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr transaction_; + ::google::protobuf::Timestamp* read_time_; + union ResultUnion { + constexpr ResultUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::firestore::v1::Document* found_; + ::google::protobuf::internal::ArenaStringPtr missing_; + } result_; ::uint32_t _oneof_case_[1]; PROTOBUF_TSAN_DECLARE_MEMBER @@ -5158,26 +5225,26 @@ class Target_QueryTarget final : friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class RunQueryRequest final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.RunQueryRequest) */ { +class WriteRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.WriteRequest) */ { public: - inline RunQueryRequest() : RunQueryRequest(nullptr) {} - ~RunQueryRequest() override; + inline WriteRequest() : WriteRequest(nullptr) {} + ~WriteRequest() override; template - explicit PROTOBUF_CONSTEXPR RunQueryRequest(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR WriteRequest(::google::protobuf::internal::ConstantInitialized); - inline RunQueryRequest(const RunQueryRequest& from) - : RunQueryRequest(nullptr, from) {} - RunQueryRequest(RunQueryRequest&& from) noexcept - : RunQueryRequest() { + inline WriteRequest(const WriteRequest& from) + : WriteRequest(nullptr, from) {} + WriteRequest(WriteRequest&& from) noexcept + : WriteRequest() { *this = ::std::move(from); } - inline RunQueryRequest& operator=(const RunQueryRequest& from) { + inline WriteRequest& operator=(const WriteRequest& from) { CopyFrom(from); return *this; } - inline RunQueryRequest& operator=(RunQueryRequest&& from) noexcept { + inline WriteRequest& operator=(WriteRequest&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5209,32 +5276,20 @@ class RunQueryRequest final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RunQueryRequest& default_instance() { + static const WriteRequest& default_instance() { return *internal_default_instance(); } - enum QueryTypeCase { - kStructuredQuery = 2, - QUERY_TYPE_NOT_SET = 0, - }; - - enum ConsistencySelectorCase { - kTransaction = 5, - kNewTransaction = 6, - kReadTime = 7, - CONSISTENCY_SELECTOR_NOT_SET = 0, - }; - - static inline const RunQueryRequest* internal_default_instance() { - return reinterpret_cast( - &_RunQueryRequest_default_instance_); + static inline const WriteRequest* internal_default_instance() { + return reinterpret_cast( + &_WriteRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 13; + 20; - friend void swap(RunQueryRequest& a, RunQueryRequest& b) { + friend void swap(WriteRequest& a, WriteRequest& b) { a.Swap(&b); } - inline void Swap(RunQueryRequest* other) { + inline void Swap(WriteRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -5247,7 +5302,7 @@ class RunQueryRequest final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RunQueryRequest* other) { + void UnsafeArenaSwap(WriteRequest* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -5255,14 +5310,14 @@ class RunQueryRequest final : // implements Message ---------------------------------------------- - RunQueryRequest* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + WriteRequest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RunQueryRequest& from); + void CopyFrom(const WriteRequest& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RunQueryRequest& from) { - RunQueryRequest::MergeImpl(*this, from); + void MergeFrom( const WriteRequest& from) { + WriteRequest::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -5280,16 +5335,16 @@ class RunQueryRequest final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RunQueryRequest* other); + void InternalSwap(WriteRequest* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.RunQueryRequest"; + return "google.firestore.v1.WriteRequest"; } protected: - explicit RunQueryRequest(::google::protobuf::Arena* arena); - RunQueryRequest(::google::protobuf::Arena* arena, const RunQueryRequest& from); + explicit WriteRequest(::google::protobuf::Arena* arena); + WriteRequest(::google::protobuf::Arena* arena, const WriteRequest& from); public: static const ClassData _class_data_; @@ -5299,127 +5354,105 @@ class RunQueryRequest final : // nested types ---------------------------------------------------- + // accessors ------------------------------------------------------- enum : int { - kParentFieldNumber = 1, - kStructuredQueryFieldNumber = 2, - kTransactionFieldNumber = 5, - kNewTransactionFieldNumber = 6, - kReadTimeFieldNumber = 7, + kWritesFieldNumber = 3, + kLabelsFieldNumber = 5, + kDatabaseFieldNumber = 1, + kStreamIdFieldNumber = 2, + kStreamTokenFieldNumber = 4, }; - // string parent = 1; - void clear_parent() ; - const std::string& parent() const; - template - void set_parent(Arg_&& arg, Args_... args); - std::string* mutable_parent(); - PROTOBUF_NODISCARD std::string* release_parent(); - void set_allocated_parent(std::string* value); - + // repeated .google.firestore.v1.Write writes = 3; + int writes_size() const; private: - const std::string& _internal_parent() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( - const std::string& value); - std::string* _internal_mutable_parent(); + int _internal_writes_size() const; public: - // .google.firestore.v1.StructuredQuery structured_query = 2; - bool has_structured_query() const; + void clear_writes() ; + ::google::firestore::v1::Write* mutable_writes(int index); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >* + mutable_writes(); private: - bool _internal_has_structured_query() const; + const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& _internal_writes() const; + ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* _internal_mutable_writes(); + public: + const ::google::firestore::v1::Write& writes(int index) const; + ::google::firestore::v1::Write* add_writes(); + const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >& + writes() const; + // map labels = 5; + int labels_size() const; + private: + int _internal_labels_size() const; public: - void clear_structured_query() ; - const ::google::firestore::v1::StructuredQuery& structured_query() const; - PROTOBUF_NODISCARD ::google::firestore::v1::StructuredQuery* release_structured_query(); - ::google::firestore::v1::StructuredQuery* mutable_structured_query(); - void set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); - void unsafe_arena_set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); - ::google::firestore::v1::StructuredQuery* unsafe_arena_release_structured_query(); + void clear_labels() ; + const ::google::protobuf::Map& labels() const; + ::google::protobuf::Map* mutable_labels(); private: - const ::google::firestore::v1::StructuredQuery& _internal_structured_query() const; - ::google::firestore::v1::StructuredQuery* _internal_mutable_structured_query(); + const ::google::protobuf::Map& _internal_labels() const; + ::google::protobuf::Map* _internal_mutable_labels(); public: - // bytes transaction = 5; - bool has_transaction() const; - void clear_transaction() ; - const std::string& transaction() const; + // string database = 1; + void clear_database() ; + const std::string& database() const; template - void set_transaction(Arg_&& arg, Args_... args); - std::string* mutable_transaction(); - PROTOBUF_NODISCARD std::string* release_transaction(); - void set_allocated_transaction(std::string* value); + void set_database(Arg_&& arg, Args_... args); + std::string* mutable_database(); + PROTOBUF_NODISCARD std::string* release_database(); + void set_allocated_database(std::string* value); private: - const std::string& _internal_transaction() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_transaction( + const std::string& _internal_database() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( const std::string& value); - std::string* _internal_mutable_transaction(); - - public: - // .google.firestore.v1.TransactionOptions new_transaction = 6; - bool has_new_transaction() const; - private: - bool _internal_has_new_transaction() const; + std::string* _internal_mutable_database(); public: - void clear_new_transaction() ; - const ::google::firestore::v1::TransactionOptions& new_transaction() const; - PROTOBUF_NODISCARD ::google::firestore::v1::TransactionOptions* release_new_transaction(); - ::google::firestore::v1::TransactionOptions* mutable_new_transaction(); - void set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); - void unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); - ::google::firestore::v1::TransactionOptions* unsafe_arena_release_new_transaction(); - - private: - const ::google::firestore::v1::TransactionOptions& _internal_new_transaction() const; - ::google::firestore::v1::TransactionOptions* _internal_mutable_new_transaction(); + // string stream_id = 2; + void clear_stream_id() ; + const std::string& stream_id() const; + template + void set_stream_id(Arg_&& arg, Args_... args); + std::string* mutable_stream_id(); + PROTOBUF_NODISCARD std::string* release_stream_id(); + void set_allocated_stream_id(std::string* value); - public: - // .google.protobuf.Timestamp read_time = 7; - bool has_read_time() const; private: - bool _internal_has_read_time() const; + const std::string& _internal_stream_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_stream_id( + const std::string& value); + std::string* _internal_mutable_stream_id(); public: - void clear_read_time() ; - const ::google::protobuf::Timestamp& read_time() const; - PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); - ::google::protobuf::Timestamp* mutable_read_time(); - void set_allocated_read_time(::google::protobuf::Timestamp* value); - void unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value); - ::google::protobuf::Timestamp* unsafe_arena_release_read_time(); + // bytes stream_token = 4; + void clear_stream_token() ; + const std::string& stream_token() const; + template + void set_stream_token(Arg_&& arg, Args_... args); + std::string* mutable_stream_token(); + PROTOBUF_NODISCARD std::string* release_stream_token(); + void set_allocated_stream_token(std::string* value); private: - const ::google::protobuf::Timestamp& _internal_read_time() const; - ::google::protobuf::Timestamp* _internal_mutable_read_time(); + const std::string& _internal_stream_token() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_stream_token( + const std::string& value); + std::string* _internal_mutable_stream_token(); public: - void clear_query_type(); - QueryTypeCase query_type_case() const; - void clear_consistency_selector(); - ConsistencySelectorCase consistency_selector_case() const; - // @@protoc_insertion_point(class_scope:google.firestore.v1.RunQueryRequest) + // @@protoc_insertion_point(class_scope:google.firestore.v1.WriteRequest) private: class _Internal; - void set_has_structured_query(); - void set_has_transaction(); - void set_has_new_transaction(); - void set_has_read_time(); - - inline bool has_query_type() const; - inline void clear_has_query_type(); - - inline bool has_consistency_selector() const; - inline void clear_has_consistency_selector(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 0, 5, 3, - 50, 2> + 2, 5, 2, + 64, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -5435,48 +5468,41 @@ class RunQueryRequest final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::ArenaStringPtr parent_; - union QueryTypeUnion { - constexpr QueryTypeUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::firestore::v1::StructuredQuery* structured_query_; - } query_type_; - union ConsistencySelectorUnion { - constexpr ConsistencySelectorUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::protobuf::internal::ArenaStringPtr transaction_; - ::google::firestore::v1::TransactionOptions* new_transaction_; - ::google::protobuf::Timestamp* read_time_; - } consistency_selector_; + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write > writes_; + ::google::protobuf::internal::MapField + labels_; + ::google::protobuf::internal::ArenaStringPtr database_; + ::google::protobuf::internal::ArenaStringPtr stream_id_; + ::google::protobuf::internal::ArenaStringPtr stream_token_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::uint32_t _oneof_case_[2]; - PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class ListenResponse final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.ListenResponse) */ { +class Target_QueryTarget final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Target.QueryTarget) */ { public: - inline ListenResponse() : ListenResponse(nullptr) {} - ~ListenResponse() override; + inline Target_QueryTarget() : Target_QueryTarget(nullptr) {} + ~Target_QueryTarget() override; template - explicit PROTOBUF_CONSTEXPR ListenResponse(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR Target_QueryTarget(::google::protobuf::internal::ConstantInitialized); - inline ListenResponse(const ListenResponse& from) - : ListenResponse(nullptr, from) {} - ListenResponse(ListenResponse&& from) noexcept - : ListenResponse() { + inline Target_QueryTarget(const Target_QueryTarget& from) + : Target_QueryTarget(nullptr, from) {} + Target_QueryTarget(Target_QueryTarget&& from) noexcept + : Target_QueryTarget() { *this = ::std::move(from); } - inline ListenResponse& operator=(const ListenResponse& from) { + inline Target_QueryTarget& operator=(const Target_QueryTarget& from) { CopyFrom(from); return *this; } - inline ListenResponse& operator=(ListenResponse&& from) noexcept { + inline Target_QueryTarget& operator=(Target_QueryTarget&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5508,29 +5534,25 @@ class ListenResponse final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ListenResponse& default_instance() { + static const Target_QueryTarget& default_instance() { return *internal_default_instance(); } - enum ResponseTypeCase { - kTargetChange = 2, - kDocumentChange = 3, - kDocumentDelete = 4, - kDocumentRemove = 6, - kFilter = 5, - RESPONSE_TYPE_NOT_SET = 0, + enum QueryTypeCase { + kStructuredQuery = 2, + QUERY_TYPE_NOT_SET = 0, }; - static inline const ListenResponse* internal_default_instance() { - return reinterpret_cast( - &_ListenResponse_default_instance_); + static inline const Target_QueryTarget* internal_default_instance() { + return reinterpret_cast( + &_Target_QueryTarget_default_instance_); } static constexpr int kIndexInFileMessages = - 22; + 26; - friend void swap(ListenResponse& a, ListenResponse& b) { + friend void swap(Target_QueryTarget& a, Target_QueryTarget& b) { a.Swap(&b); } - inline void Swap(ListenResponse* other) { + inline void Swap(Target_QueryTarget* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -5543,7 +5565,7 @@ class ListenResponse final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ListenResponse* other) { + void UnsafeArenaSwap(Target_QueryTarget* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -5551,14 +5573,14 @@ class ListenResponse final : // implements Message ---------------------------------------------- - ListenResponse* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Target_QueryTarget* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ListenResponse& from); + void CopyFrom(const Target_QueryTarget& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ListenResponse& from) { - ListenResponse::MergeImpl(*this, from); + void MergeFrom( const Target_QueryTarget& from) { + Target_QueryTarget::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -5576,16 +5598,16 @@ class ListenResponse final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ListenResponse* other); + void InternalSwap(Target_QueryTarget* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.ListenResponse"; + return "google.firestore.v1.Target.QueryTarget"; } protected: - explicit ListenResponse(::google::protobuf::Arena* arena); - ListenResponse(::google::protobuf::Arena* arena, const ListenResponse& from); + explicit Target_QueryTarget(::google::protobuf::Arena* arena); + Target_QueryTarget(::google::protobuf::Arena* arena, const Target_QueryTarget& from); public: static const ClassData _class_data_; @@ -5598,125 +5620,58 @@ class ListenResponse final : // accessors ------------------------------------------------------- enum : int { - kTargetChangeFieldNumber = 2, - kDocumentChangeFieldNumber = 3, - kDocumentDeleteFieldNumber = 4, - kDocumentRemoveFieldNumber = 6, - kFilterFieldNumber = 5, + kParentFieldNumber = 1, + kStructuredQueryFieldNumber = 2, }; - // .google.firestore.v1.TargetChange target_change = 2; - bool has_target_change() const; + // string parent = 1; + void clear_parent() ; + const std::string& parent() const; + template + void set_parent(Arg_&& arg, Args_... args); + std::string* mutable_parent(); + PROTOBUF_NODISCARD std::string* release_parent(); + void set_allocated_parent(std::string* value); + private: - bool _internal_has_target_change() const; + const std::string& _internal_parent() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( + const std::string& value); + std::string* _internal_mutable_parent(); public: - void clear_target_change() ; - const ::google::firestore::v1::TargetChange& target_change() const; - PROTOBUF_NODISCARD ::google::firestore::v1::TargetChange* release_target_change(); - ::google::firestore::v1::TargetChange* mutable_target_change(); - void set_allocated_target_change(::google::firestore::v1::TargetChange* value); - void unsafe_arena_set_allocated_target_change(::google::firestore::v1::TargetChange* value); - ::google::firestore::v1::TargetChange* unsafe_arena_release_target_change(); - + // .google.firestore.v1.StructuredQuery structured_query = 2; + bool has_structured_query() const; private: - const ::google::firestore::v1::TargetChange& _internal_target_change() const; - ::google::firestore::v1::TargetChange* _internal_mutable_target_change(); + bool _internal_has_structured_query() const; public: - // .google.firestore.v1.DocumentChange document_change = 3; - bool has_document_change() const; - private: - bool _internal_has_document_change() const; - - public: - void clear_document_change() ; - const ::google::firestore::v1::DocumentChange& document_change() const; - PROTOBUF_NODISCARD ::google::firestore::v1::DocumentChange* release_document_change(); - ::google::firestore::v1::DocumentChange* mutable_document_change(); - void set_allocated_document_change(::google::firestore::v1::DocumentChange* value); - void unsafe_arena_set_allocated_document_change(::google::firestore::v1::DocumentChange* value); - ::google::firestore::v1::DocumentChange* unsafe_arena_release_document_change(); - - private: - const ::google::firestore::v1::DocumentChange& _internal_document_change() const; - ::google::firestore::v1::DocumentChange* _internal_mutable_document_change(); - - public: - // .google.firestore.v1.DocumentDelete document_delete = 4; - bool has_document_delete() const; - private: - bool _internal_has_document_delete() const; - - public: - void clear_document_delete() ; - const ::google::firestore::v1::DocumentDelete& document_delete() const; - PROTOBUF_NODISCARD ::google::firestore::v1::DocumentDelete* release_document_delete(); - ::google::firestore::v1::DocumentDelete* mutable_document_delete(); - void set_allocated_document_delete(::google::firestore::v1::DocumentDelete* value); - void unsafe_arena_set_allocated_document_delete(::google::firestore::v1::DocumentDelete* value); - ::google::firestore::v1::DocumentDelete* unsafe_arena_release_document_delete(); - - private: - const ::google::firestore::v1::DocumentDelete& _internal_document_delete() const; - ::google::firestore::v1::DocumentDelete* _internal_mutable_document_delete(); - - public: - // .google.firestore.v1.DocumentRemove document_remove = 6; - bool has_document_remove() const; - private: - bool _internal_has_document_remove() const; - - public: - void clear_document_remove() ; - const ::google::firestore::v1::DocumentRemove& document_remove() const; - PROTOBUF_NODISCARD ::google::firestore::v1::DocumentRemove* release_document_remove(); - ::google::firestore::v1::DocumentRemove* mutable_document_remove(); - void set_allocated_document_remove(::google::firestore::v1::DocumentRemove* value); - void unsafe_arena_set_allocated_document_remove(::google::firestore::v1::DocumentRemove* value); - ::google::firestore::v1::DocumentRemove* unsafe_arena_release_document_remove(); - - private: - const ::google::firestore::v1::DocumentRemove& _internal_document_remove() const; - ::google::firestore::v1::DocumentRemove* _internal_mutable_document_remove(); - - public: - // .google.firestore.v1.ExistenceFilter filter = 5; - bool has_filter() const; - private: - bool _internal_has_filter() const; - - public: - void clear_filter() ; - const ::google::firestore::v1::ExistenceFilter& filter() const; - PROTOBUF_NODISCARD ::google::firestore::v1::ExistenceFilter* release_filter(); - ::google::firestore::v1::ExistenceFilter* mutable_filter(); - void set_allocated_filter(::google::firestore::v1::ExistenceFilter* value); - void unsafe_arena_set_allocated_filter(::google::firestore::v1::ExistenceFilter* value); - ::google::firestore::v1::ExistenceFilter* unsafe_arena_release_filter(); + void clear_structured_query() ; + const ::google::firestore::v1::StructuredQuery& structured_query() const; + PROTOBUF_NODISCARD ::google::firestore::v1::StructuredQuery* release_structured_query(); + ::google::firestore::v1::StructuredQuery* mutable_structured_query(); + void set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); + void unsafe_arena_set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); + ::google::firestore::v1::StructuredQuery* unsafe_arena_release_structured_query(); private: - const ::google::firestore::v1::ExistenceFilter& _internal_filter() const; - ::google::firestore::v1::ExistenceFilter* _internal_mutable_filter(); + const ::google::firestore::v1::StructuredQuery& _internal_structured_query() const; + ::google::firestore::v1::StructuredQuery* _internal_mutable_structured_query(); public: - void clear_response_type(); - ResponseTypeCase response_type_case() const; - // @@protoc_insertion_point(class_scope:google.firestore.v1.ListenResponse) + void clear_query_type(); + QueryTypeCase query_type_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.Target.QueryTarget) private: class _Internal; - void set_has_target_change(); - void set_has_document_change(); - void set_has_document_delete(); - void set_has_document_remove(); - void set_has_filter(); + void set_has_structured_query(); - inline bool has_response_type() const; - inline void clear_has_response_type(); + inline bool has_query_type() const; + inline void clear_has_query_type(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 0, 5, 5, - 0, 2> + 0, 2, 1, + 53, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -5732,15 +5687,12 @@ class ListenResponse final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - union ResponseTypeUnion { - constexpr ResponseTypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ArenaStringPtr parent_; + union QueryTypeUnion { + constexpr QueryTypeUnion() : _constinit_{} {} ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::firestore::v1::TargetChange* target_change_; - ::google::firestore::v1::DocumentChange* document_change_; - ::google::firestore::v1::DocumentDelete* document_delete_; - ::google::firestore::v1::DocumentRemove* document_remove_; - ::google::firestore::v1::ExistenceFilter* filter_; - } response_type_; + ::google::firestore::v1::StructuredQuery* structured_query_; + } query_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::uint32_t _oneof_case_[1]; @@ -5750,26 +5702,26 @@ class ListenResponse final : friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class CommitRequest final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.CommitRequest) */ { +class RunQueryRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.RunQueryRequest) */ { public: - inline CommitRequest() : CommitRequest(nullptr) {} - ~CommitRequest() override; + inline RunQueryRequest() : RunQueryRequest(nullptr) {} + ~RunQueryRequest() override; template - explicit PROTOBUF_CONSTEXPR CommitRequest(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RunQueryRequest(::google::protobuf::internal::ConstantInitialized); - inline CommitRequest(const CommitRequest& from) - : CommitRequest(nullptr, from) {} - CommitRequest(CommitRequest&& from) noexcept - : CommitRequest() { + inline RunQueryRequest(const RunQueryRequest& from) + : RunQueryRequest(nullptr, from) {} + RunQueryRequest(RunQueryRequest&& from) noexcept + : RunQueryRequest() { *this = ::std::move(from); } - inline CommitRequest& operator=(const CommitRequest& from) { + inline RunQueryRequest& operator=(const RunQueryRequest& from) { CopyFrom(from); return *this; } - inline CommitRequest& operator=(CommitRequest&& from) noexcept { + inline RunQueryRequest& operator=(RunQueryRequest&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5801,20 +5753,32 @@ class CommitRequest final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CommitRequest& default_instance() { + static const RunQueryRequest& default_instance() { return *internal_default_instance(); } - static inline const CommitRequest* internal_default_instance() { - return reinterpret_cast( - &_CommitRequest_default_instance_); + enum QueryTypeCase { + kStructuredQuery = 2, + QUERY_TYPE_NOT_SET = 0, + }; + + enum ConsistencySelectorCase { + kTransaction = 5, + kNewTransaction = 6, + kReadTime = 7, + CONSISTENCY_SELECTOR_NOT_SET = 0, + }; + + static inline const RunQueryRequest* internal_default_instance() { + return reinterpret_cast( + &_RunQueryRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 10; + 13; - friend void swap(CommitRequest& a, CommitRequest& b) { + friend void swap(RunQueryRequest& a, RunQueryRequest& b) { a.Swap(&b); } - inline void Swap(CommitRequest* other) { + inline void Swap(RunQueryRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -5827,7 +5791,7 @@ class CommitRequest final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CommitRequest* other) { + void UnsafeArenaSwap(RunQueryRequest* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -5835,14 +5799,14 @@ class CommitRequest final : // implements Message ---------------------------------------------- - CommitRequest* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RunQueryRequest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const CommitRequest& from); + void CopyFrom(const RunQueryRequest& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const CommitRequest& from) { - CommitRequest::MergeImpl(*this, from); + void MergeFrom( const RunQueryRequest& from) { + RunQueryRequest::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -5860,16 +5824,16 @@ class CommitRequest final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(CommitRequest* other); + void InternalSwap(RunQueryRequest* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.CommitRequest"; + return "google.firestore.v1.RunQueryRequest"; } protected: - explicit CommitRequest(::google::protobuf::Arena* arena); - CommitRequest(::google::protobuf::Arena* arena, const CommitRequest& from); + explicit RunQueryRequest(::google::protobuf::Arena* arena); + RunQueryRequest(::google::protobuf::Arena* arena, const RunQueryRequest& from); public: static const ClassData _class_data_; @@ -5882,45 +5846,49 @@ class CommitRequest final : // accessors ------------------------------------------------------- enum : int { - kWritesFieldNumber = 2, - kDatabaseFieldNumber = 1, - kTransactionFieldNumber = 3, + kParentFieldNumber = 1, + kStructuredQueryFieldNumber = 2, + kTransactionFieldNumber = 5, + kNewTransactionFieldNumber = 6, + kReadTimeFieldNumber = 7, }; - // repeated .google.firestore.v1.Write writes = 2; - int writes_size() const; + // string parent = 1; + void clear_parent() ; + const std::string& parent() const; + template + void set_parent(Arg_&& arg, Args_... args); + std::string* mutable_parent(); + PROTOBUF_NODISCARD std::string* release_parent(); + void set_allocated_parent(std::string* value); + private: - int _internal_writes_size() const; + const std::string& _internal_parent() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( + const std::string& value); + std::string* _internal_mutable_parent(); public: - void clear_writes() ; - ::google::firestore::v1::Write* mutable_writes(int index); - ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >* - mutable_writes(); + // .google.firestore.v1.StructuredQuery structured_query = 2; + bool has_structured_query() const; private: - const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& _internal_writes() const; - ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* _internal_mutable_writes(); + bool _internal_has_structured_query() const; + public: - const ::google::firestore::v1::Write& writes(int index) const; - ::google::firestore::v1::Write* add_writes(); - const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >& - writes() const; - // string database = 1; - void clear_database() ; - const std::string& database() const; - template - void set_database(Arg_&& arg, Args_... args); - std::string* mutable_database(); - PROTOBUF_NODISCARD std::string* release_database(); - void set_allocated_database(std::string* value); + void clear_structured_query() ; + const ::google::firestore::v1::StructuredQuery& structured_query() const; + PROTOBUF_NODISCARD ::google::firestore::v1::StructuredQuery* release_structured_query(); + ::google::firestore::v1::StructuredQuery* mutable_structured_query(); + void set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); + void unsafe_arena_set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value); + ::google::firestore::v1::StructuredQuery* unsafe_arena_release_structured_query(); private: - const std::string& _internal_database() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( - const std::string& value); - std::string* _internal_mutable_database(); + const ::google::firestore::v1::StructuredQuery& _internal_structured_query() const; + ::google::firestore::v1::StructuredQuery* _internal_mutable_structured_query(); public: - // bytes transaction = 3; + // bytes transaction = 5; + bool has_transaction() const; void clear_transaction() ; const std::string& transaction() const; template @@ -5936,16 +5904,68 @@ class CommitRequest final : std::string* _internal_mutable_transaction(); public: - // @@protoc_insertion_point(class_scope:google.firestore.v1.CommitRequest) - private: - class _Internal; + // .google.firestore.v1.TransactionOptions new_transaction = 6; + bool has_new_transaction() const; + private: + bool _internal_has_new_transaction() const; - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, - 50, 2> - _table_; - friend class ::google::protobuf::MessageLite; + public: + void clear_new_transaction() ; + const ::google::firestore::v1::TransactionOptions& new_transaction() const; + PROTOBUF_NODISCARD ::google::firestore::v1::TransactionOptions* release_new_transaction(); + ::google::firestore::v1::TransactionOptions* mutable_new_transaction(); + void set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); + void unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); + ::google::firestore::v1::TransactionOptions* unsafe_arena_release_new_transaction(); + + private: + const ::google::firestore::v1::TransactionOptions& _internal_new_transaction() const; + ::google::firestore::v1::TransactionOptions* _internal_mutable_new_transaction(); + + public: + // .google.protobuf.Timestamp read_time = 7; + bool has_read_time() const; + private: + bool _internal_has_read_time() const; + + public: + void clear_read_time() ; + const ::google::protobuf::Timestamp& read_time() const; + PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); + ::google::protobuf::Timestamp* mutable_read_time(); + void set_allocated_read_time(::google::protobuf::Timestamp* value); + void unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value); + ::google::protobuf::Timestamp* unsafe_arena_release_read_time(); + + private: + const ::google::protobuf::Timestamp& _internal_read_time() const; + ::google::protobuf::Timestamp* _internal_mutable_read_time(); + + public: + void clear_query_type(); + QueryTypeCase query_type_case() const; + void clear_consistency_selector(); + ConsistencySelectorCase consistency_selector_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.RunQueryRequest) + private: + class _Internal; + void set_has_structured_query(); + void set_has_transaction(); + void set_has_new_transaction(); + void set_has_read_time(); + + inline bool has_query_type() const; + inline void clear_has_query_type(); + + inline bool has_consistency_selector() const; + inline void clear_has_consistency_selector(); + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 5, 3, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; template friend class ::google::protobuf::Arena::InternalHelper; @@ -5959,36 +5979,48 @@ class CommitRequest final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write > writes_; - ::google::protobuf::internal::ArenaStringPtr database_; - ::google::protobuf::internal::ArenaStringPtr transaction_; + ::google::protobuf::internal::ArenaStringPtr parent_; + union QueryTypeUnion { + constexpr QueryTypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::firestore::v1::StructuredQuery* structured_query_; + } query_type_; + union ConsistencySelectorUnion { + constexpr ConsistencySelectorUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ArenaStringPtr transaction_; + ::google::firestore::v1::TransactionOptions* new_transaction_; + ::google::protobuf::Timestamp* read_time_; + } consistency_selector_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[2]; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class Target final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Target) */ { +class ListenResponse final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.ListenResponse) */ { public: - inline Target() : Target(nullptr) {} - ~Target() override; + inline ListenResponse() : ListenResponse(nullptr) {} + ~ListenResponse() override; template - explicit PROTOBUF_CONSTEXPR Target(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ListenResponse(::google::protobuf::internal::ConstantInitialized); - inline Target(const Target& from) - : Target(nullptr, from) {} - Target(Target&& from) noexcept - : Target() { + inline ListenResponse(const ListenResponse& from) + : ListenResponse(nullptr, from) {} + ListenResponse(ListenResponse&& from) noexcept + : ListenResponse() { *this = ::std::move(from); } - inline Target& operator=(const Target& from) { + inline ListenResponse& operator=(const ListenResponse& from) { CopyFrom(from); return *this; } - inline Target& operator=(Target&& from) noexcept { + inline ListenResponse& operator=(ListenResponse&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -6020,32 +6052,29 @@ class Target final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Target& default_instance() { + static const ListenResponse& default_instance() { return *internal_default_instance(); } - enum TargetTypeCase { - kQuery = 2, - kDocuments = 3, - TARGET_TYPE_NOT_SET = 0, - }; - - enum ResumeTypeCase { - kResumeToken = 4, - kReadTime = 11, - RESUME_TYPE_NOT_SET = 0, + enum ResponseTypeCase { + kTargetChange = 2, + kDocumentChange = 3, + kDocumentDelete = 4, + kDocumentRemove = 6, + kFilter = 5, + RESPONSE_TYPE_NOT_SET = 0, }; - static inline const Target* internal_default_instance() { - return reinterpret_cast( - &_Target_default_instance_); + static inline const ListenResponse* internal_default_instance() { + return reinterpret_cast( + &_ListenResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 25; + 24; - friend void swap(Target& a, Target& b) { + friend void swap(ListenResponse& a, ListenResponse& b) { a.Swap(&b); } - inline void Swap(Target* other) { + inline void Swap(ListenResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -6058,7 +6087,7 @@ class Target final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Target* other) { + void UnsafeArenaSwap(ListenResponse* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -6066,14 +6095,14 @@ class Target final : // implements Message ---------------------------------------------- - Target* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ListenResponse* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const Target& from); + void CopyFrom(const ListenResponse& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const Target& from) { - Target::MergeImpl(*this, from); + void MergeFrom( const ListenResponse& from) { + ListenResponse::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -6091,16 +6120,16 @@ class Target final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(Target* other); + void InternalSwap(ListenResponse* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.Target"; + return "google.firestore.v1.ListenResponse"; } protected: - explicit Target(::google::protobuf::Arena* arena); - Target(::google::protobuf::Arena* arena, const Target& from); + explicit ListenResponse(::google::protobuf::Arena* arena); + ListenResponse(::google::protobuf::Arena* arena, const ListenResponse& from); public: static const ClassData _class_data_; @@ -6110,150 +6139,127 @@ class Target final : // nested types ---------------------------------------------------- - using DocumentsTarget = Target_DocumentsTarget; - using QueryTarget = Target_QueryTarget; - // accessors ------------------------------------------------------- enum : int { - kExpectedCountFieldNumber = 12, - kTargetIdFieldNumber = 5, - kOnceFieldNumber = 6, - kQueryFieldNumber = 2, - kDocumentsFieldNumber = 3, - kResumeTokenFieldNumber = 4, - kReadTimeFieldNumber = 11, + kTargetChangeFieldNumber = 2, + kDocumentChangeFieldNumber = 3, + kDocumentDeleteFieldNumber = 4, + kDocumentRemoveFieldNumber = 6, + kFilterFieldNumber = 5, }; - // .google.protobuf.Int32Value expected_count = 12; - bool has_expected_count() const; - void clear_expected_count() ; - const ::google::protobuf::Int32Value& expected_count() const; - PROTOBUF_NODISCARD ::google::protobuf::Int32Value* release_expected_count(); - ::google::protobuf::Int32Value* mutable_expected_count(); - void set_allocated_expected_count(::google::protobuf::Int32Value* value); - void unsafe_arena_set_allocated_expected_count(::google::protobuf::Int32Value* value); - ::google::protobuf::Int32Value* unsafe_arena_release_expected_count(); - + // .google.firestore.v1.TargetChange target_change = 2; + bool has_target_change() const; private: - const ::google::protobuf::Int32Value& _internal_expected_count() const; - ::google::protobuf::Int32Value* _internal_mutable_expected_count(); + bool _internal_has_target_change() const; public: - // int32 target_id = 5; - void clear_target_id() ; - ::int32_t target_id() const; - void set_target_id(::int32_t value); + void clear_target_change() ; + const ::google::firestore::v1::TargetChange& target_change() const; + PROTOBUF_NODISCARD ::google::firestore::v1::TargetChange* release_target_change(); + ::google::firestore::v1::TargetChange* mutable_target_change(); + void set_allocated_target_change(::google::firestore::v1::TargetChange* value); + void unsafe_arena_set_allocated_target_change(::google::firestore::v1::TargetChange* value); + ::google::firestore::v1::TargetChange* unsafe_arena_release_target_change(); private: - ::int32_t _internal_target_id() const; - void _internal_set_target_id(::int32_t value); + const ::google::firestore::v1::TargetChange& _internal_target_change() const; + ::google::firestore::v1::TargetChange* _internal_mutable_target_change(); public: - // bool once = 6; - void clear_once() ; - bool once() const; - void set_once(bool value); - + // .google.firestore.v1.DocumentChange document_change = 3; + bool has_document_change() const; private: - bool _internal_once() const; - void _internal_set_once(bool value); + bool _internal_has_document_change() const; public: - // .google.firestore.v1.Target.QueryTarget query = 2; - bool has_query() const; + void clear_document_change() ; + const ::google::firestore::v1::DocumentChange& document_change() const; + PROTOBUF_NODISCARD ::google::firestore::v1::DocumentChange* release_document_change(); + ::google::firestore::v1::DocumentChange* mutable_document_change(); + void set_allocated_document_change(::google::firestore::v1::DocumentChange* value); + void unsafe_arena_set_allocated_document_change(::google::firestore::v1::DocumentChange* value); + ::google::firestore::v1::DocumentChange* unsafe_arena_release_document_change(); + private: - bool _internal_has_query() const; + const ::google::firestore::v1::DocumentChange& _internal_document_change() const; + ::google::firestore::v1::DocumentChange* _internal_mutable_document_change(); public: - void clear_query() ; - const ::google::firestore::v1::Target_QueryTarget& query() const; - PROTOBUF_NODISCARD ::google::firestore::v1::Target_QueryTarget* release_query(); - ::google::firestore::v1::Target_QueryTarget* mutable_query(); - void set_allocated_query(::google::firestore::v1::Target_QueryTarget* value); - void unsafe_arena_set_allocated_query(::google::firestore::v1::Target_QueryTarget* value); - ::google::firestore::v1::Target_QueryTarget* unsafe_arena_release_query(); - + // .google.firestore.v1.DocumentDelete document_delete = 4; + bool has_document_delete() const; private: - const ::google::firestore::v1::Target_QueryTarget& _internal_query() const; - ::google::firestore::v1::Target_QueryTarget* _internal_mutable_query(); + bool _internal_has_document_delete() const; public: - // .google.firestore.v1.Target.DocumentsTarget documents = 3; - bool has_documents() const; + void clear_document_delete() ; + const ::google::firestore::v1::DocumentDelete& document_delete() const; + PROTOBUF_NODISCARD ::google::firestore::v1::DocumentDelete* release_document_delete(); + ::google::firestore::v1::DocumentDelete* mutable_document_delete(); + void set_allocated_document_delete(::google::firestore::v1::DocumentDelete* value); + void unsafe_arena_set_allocated_document_delete(::google::firestore::v1::DocumentDelete* value); + ::google::firestore::v1::DocumentDelete* unsafe_arena_release_document_delete(); + private: - bool _internal_has_documents() const; + const ::google::firestore::v1::DocumentDelete& _internal_document_delete() const; + ::google::firestore::v1::DocumentDelete* _internal_mutable_document_delete(); public: - void clear_documents() ; - const ::google::firestore::v1::Target_DocumentsTarget& documents() const; - PROTOBUF_NODISCARD ::google::firestore::v1::Target_DocumentsTarget* release_documents(); - ::google::firestore::v1::Target_DocumentsTarget* mutable_documents(); - void set_allocated_documents(::google::firestore::v1::Target_DocumentsTarget* value); - void unsafe_arena_set_allocated_documents(::google::firestore::v1::Target_DocumentsTarget* value); - ::google::firestore::v1::Target_DocumentsTarget* unsafe_arena_release_documents(); - + // .google.firestore.v1.DocumentRemove document_remove = 6; + bool has_document_remove() const; private: - const ::google::firestore::v1::Target_DocumentsTarget& _internal_documents() const; - ::google::firestore::v1::Target_DocumentsTarget* _internal_mutable_documents(); + bool _internal_has_document_remove() const; public: - // bytes resume_token = 4; - bool has_resume_token() const; - void clear_resume_token() ; - const std::string& resume_token() const; - template - void set_resume_token(Arg_&& arg, Args_... args); - std::string* mutable_resume_token(); - PROTOBUF_NODISCARD std::string* release_resume_token(); - void set_allocated_resume_token(std::string* value); + void clear_document_remove() ; + const ::google::firestore::v1::DocumentRemove& document_remove() const; + PROTOBUF_NODISCARD ::google::firestore::v1::DocumentRemove* release_document_remove(); + ::google::firestore::v1::DocumentRemove* mutable_document_remove(); + void set_allocated_document_remove(::google::firestore::v1::DocumentRemove* value); + void unsafe_arena_set_allocated_document_remove(::google::firestore::v1::DocumentRemove* value); + ::google::firestore::v1::DocumentRemove* unsafe_arena_release_document_remove(); private: - const std::string& _internal_resume_token() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_resume_token( - const std::string& value); - std::string* _internal_mutable_resume_token(); + const ::google::firestore::v1::DocumentRemove& _internal_document_remove() const; + ::google::firestore::v1::DocumentRemove* _internal_mutable_document_remove(); public: - // .google.protobuf.Timestamp read_time = 11; - bool has_read_time() const; + // .google.firestore.v1.ExistenceFilter filter = 5; + bool has_filter() const; private: - bool _internal_has_read_time() const; + bool _internal_has_filter() const; public: - void clear_read_time() ; - const ::google::protobuf::Timestamp& read_time() const; - PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); - ::google::protobuf::Timestamp* mutable_read_time(); - void set_allocated_read_time(::google::protobuf::Timestamp* value); - void unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value); - ::google::protobuf::Timestamp* unsafe_arena_release_read_time(); + void clear_filter() ; + const ::google::firestore::v1::ExistenceFilter& filter() const; + PROTOBUF_NODISCARD ::google::firestore::v1::ExistenceFilter* release_filter(); + ::google::firestore::v1::ExistenceFilter* mutable_filter(); + void set_allocated_filter(::google::firestore::v1::ExistenceFilter* value); + void unsafe_arena_set_allocated_filter(::google::firestore::v1::ExistenceFilter* value); + ::google::firestore::v1::ExistenceFilter* unsafe_arena_release_filter(); private: - const ::google::protobuf::Timestamp& _internal_read_time() const; - ::google::protobuf::Timestamp* _internal_mutable_read_time(); + const ::google::firestore::v1::ExistenceFilter& _internal_filter() const; + ::google::firestore::v1::ExistenceFilter* _internal_mutable_filter(); public: - void clear_target_type(); - TargetTypeCase target_type_case() const; - void clear_resume_type(); - ResumeTypeCase resume_type_case() const; - // @@protoc_insertion_point(class_scope:google.firestore.v1.Target) + void clear_response_type(); + ResponseTypeCase response_type_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.ListenResponse) private: class _Internal; - void set_has_query(); - void set_has_documents(); - void set_has_resume_token(); - void set_has_read_time(); - - inline bool has_target_type() const; - inline void clear_has_target_type(); + void set_has_target_change(); + void set_has_document_change(); + void set_has_document_delete(); + void set_has_document_remove(); + void set_has_filter(); - inline bool has_resume_type() const; - inline void clear_has_resume_type(); + inline bool has_response_type() const; + inline void clear_has_response_type(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 7, 4, + 0, 5, 5, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -6270,24 +6276,17 @@ class Target final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::Int32Value* expected_count_; - ::int32_t target_id_; - bool once_; - union TargetTypeUnion { - constexpr TargetTypeUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::firestore::v1::Target_QueryTarget* query_; - ::google::firestore::v1::Target_DocumentsTarget* documents_; - } target_type_; - union ResumeTypeUnion { - constexpr ResumeTypeUnion() : _constinit_{} {} + union ResponseTypeUnion { + constexpr ResponseTypeUnion() : _constinit_{} {} ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::protobuf::internal::ArenaStringPtr resume_token_; - ::google::protobuf::Timestamp* read_time_; - } resume_type_; - ::uint32_t _oneof_case_[2]; + ::google::firestore::v1::TargetChange* target_change_; + ::google::firestore::v1::DocumentChange* document_change_; + ::google::firestore::v1::DocumentDelete* document_delete_; + ::google::firestore::v1::DocumentRemove* document_remove_; + ::google::firestore::v1::ExistenceFilter* filter_; + } response_type_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -6295,26 +6294,26 @@ class Target final : friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class RunAggregationQueryRequest final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.RunAggregationQueryRequest) */ { +class CommitRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.CommitRequest) */ { public: - inline RunAggregationQueryRequest() : RunAggregationQueryRequest(nullptr) {} - ~RunAggregationQueryRequest() override; + inline CommitRequest() : CommitRequest(nullptr) {} + ~CommitRequest() override; template - explicit PROTOBUF_CONSTEXPR RunAggregationQueryRequest(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR CommitRequest(::google::protobuf::internal::ConstantInitialized); - inline RunAggregationQueryRequest(const RunAggregationQueryRequest& from) - : RunAggregationQueryRequest(nullptr, from) {} - RunAggregationQueryRequest(RunAggregationQueryRequest&& from) noexcept - : RunAggregationQueryRequest() { + inline CommitRequest(const CommitRequest& from) + : CommitRequest(nullptr, from) {} + CommitRequest(CommitRequest&& from) noexcept + : CommitRequest() { *this = ::std::move(from); } - inline RunAggregationQueryRequest& operator=(const RunAggregationQueryRequest& from) { + inline CommitRequest& operator=(const CommitRequest& from) { CopyFrom(from); return *this; } - inline RunAggregationQueryRequest& operator=(RunAggregationQueryRequest&& from) noexcept { + inline CommitRequest& operator=(CommitRequest&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -6346,32 +6345,20 @@ class RunAggregationQueryRequest final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RunAggregationQueryRequest& default_instance() { + static const CommitRequest& default_instance() { return *internal_default_instance(); } - enum QueryTypeCase { - kStructuredAggregationQuery = 2, - QUERY_TYPE_NOT_SET = 0, - }; - - enum ConsistencySelectorCase { - kTransaction = 4, - kNewTransaction = 5, - kReadTime = 6, - CONSISTENCY_SELECTOR_NOT_SET = 0, - }; - - static inline const RunAggregationQueryRequest* internal_default_instance() { - return reinterpret_cast( - &_RunAggregationQueryRequest_default_instance_); + static inline const CommitRequest* internal_default_instance() { + return reinterpret_cast( + &_CommitRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 15; + 10; - friend void swap(RunAggregationQueryRequest& a, RunAggregationQueryRequest& b) { + friend void swap(CommitRequest& a, CommitRequest& b) { a.Swap(&b); } - inline void Swap(RunAggregationQueryRequest* other) { + inline void Swap(CommitRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -6384,7 +6371,7 @@ class RunAggregationQueryRequest final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RunAggregationQueryRequest* other) { + void UnsafeArenaSwap(CommitRequest* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -6392,14 +6379,14 @@ class RunAggregationQueryRequest final : // implements Message ---------------------------------------------- - RunAggregationQueryRequest* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CommitRequest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RunAggregationQueryRequest& from); + void CopyFrom(const CommitRequest& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RunAggregationQueryRequest& from) { - RunAggregationQueryRequest::MergeImpl(*this, from); + void MergeFrom( const CommitRequest& from) { + CommitRequest::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -6417,16 +6404,16 @@ class RunAggregationQueryRequest final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RunAggregationQueryRequest* other); + void InternalSwap(CommitRequest* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.RunAggregationQueryRequest"; + return "google.firestore.v1.CommitRequest"; } protected: - explicit RunAggregationQueryRequest(::google::protobuf::Arena* arena); - RunAggregationQueryRequest(::google::protobuf::Arena* arena, const RunAggregationQueryRequest& from); + explicit CommitRequest(::google::protobuf::Arena* arena); + CommitRequest(::google::protobuf::Arena* arena, const CommitRequest& from); public: static const ClassData _class_data_; @@ -6439,49 +6426,45 @@ class RunAggregationQueryRequest final : // accessors ------------------------------------------------------- enum : int { - kParentFieldNumber = 1, - kStructuredAggregationQueryFieldNumber = 2, - kTransactionFieldNumber = 4, - kNewTransactionFieldNumber = 5, - kReadTimeFieldNumber = 6, + kWritesFieldNumber = 2, + kDatabaseFieldNumber = 1, + kTransactionFieldNumber = 3, }; - // string parent = 1; - void clear_parent() ; - const std::string& parent() const; - template - void set_parent(Arg_&& arg, Args_... args); - std::string* mutable_parent(); - PROTOBUF_NODISCARD std::string* release_parent(); - void set_allocated_parent(std::string* value); - + // repeated .google.firestore.v1.Write writes = 2; + int writes_size() const; private: - const std::string& _internal_parent() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( - const std::string& value); - std::string* _internal_mutable_parent(); + int _internal_writes_size() const; public: - // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; - bool has_structured_aggregation_query() const; + void clear_writes() ; + ::google::firestore::v1::Write* mutable_writes(int index); + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >* + mutable_writes(); private: - bool _internal_has_structured_aggregation_query() const; - + const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& _internal_writes() const; + ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* _internal_mutable_writes(); public: - void clear_structured_aggregation_query() ; - const ::google::firestore::v1::StructuredAggregationQuery& structured_aggregation_query() const; - PROTOBUF_NODISCARD ::google::firestore::v1::StructuredAggregationQuery* release_structured_aggregation_query(); - ::google::firestore::v1::StructuredAggregationQuery* mutable_structured_aggregation_query(); - void set_allocated_structured_aggregation_query(::google::firestore::v1::StructuredAggregationQuery* value); - void unsafe_arena_set_allocated_structured_aggregation_query(::google::firestore::v1::StructuredAggregationQuery* value); - ::google::firestore::v1::StructuredAggregationQuery* unsafe_arena_release_structured_aggregation_query(); + const ::google::firestore::v1::Write& writes(int index) const; + ::google::firestore::v1::Write* add_writes(); + const ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write >& + writes() const; + // string database = 1; + void clear_database() ; + const std::string& database() const; + template + void set_database(Arg_&& arg, Args_... args); + std::string* mutable_database(); + PROTOBUF_NODISCARD std::string* release_database(); + void set_allocated_database(std::string* value); private: - const ::google::firestore::v1::StructuredAggregationQuery& _internal_structured_aggregation_query() const; - ::google::firestore::v1::StructuredAggregationQuery* _internal_mutable_structured_aggregation_query(); + const std::string& _internal_database() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( + const std::string& value); + std::string* _internal_mutable_database(); public: - // bytes transaction = 4; - bool has_transaction() const; + // bytes transaction = 3; void clear_transaction() ; const std::string& transaction() const; template @@ -6497,74 +6480,22 @@ class RunAggregationQueryRequest final : std::string* _internal_mutable_transaction(); public: - // .google.firestore.v1.TransactionOptions new_transaction = 5; - bool has_new_transaction() const; - private: - bool _internal_has_new_transaction() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.CommitRequest) + private: + class _Internal; - public: - void clear_new_transaction() ; - const ::google::firestore::v1::TransactionOptions& new_transaction() const; - PROTOBUF_NODISCARD ::google::firestore::v1::TransactionOptions* release_new_transaction(); - ::google::firestore::v1::TransactionOptions* mutable_new_transaction(); - void set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); - void unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); - ::google::firestore::v1::TransactionOptions* unsafe_arena_release_new_transaction(); - - private: - const ::google::firestore::v1::TransactionOptions& _internal_new_transaction() const; - ::google::firestore::v1::TransactionOptions* _internal_mutable_new_transaction(); - - public: - // .google.protobuf.Timestamp read_time = 6; - bool has_read_time() const; - private: - bool _internal_has_read_time() const; - - public: - void clear_read_time() ; - const ::google::protobuf::Timestamp& read_time() const; - PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); - ::google::protobuf::Timestamp* mutable_read_time(); - void set_allocated_read_time(::google::protobuf::Timestamp* value); - void unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value); - ::google::protobuf::Timestamp* unsafe_arena_release_read_time(); - - private: - const ::google::protobuf::Timestamp& _internal_read_time() const; - ::google::protobuf::Timestamp* _internal_mutable_read_time(); - - public: - void clear_query_type(); - QueryTypeCase query_type_case() const; - void clear_consistency_selector(); - ConsistencySelectorCase consistency_selector_case() const; - // @@protoc_insertion_point(class_scope:google.firestore.v1.RunAggregationQueryRequest) - private: - class _Internal; - void set_has_structured_aggregation_query(); - void set_has_transaction(); - void set_has_new_transaction(); - void set_has_read_time(); - - inline bool has_query_type() const; - inline void clear_has_query_type(); - - inline bool has_consistency_selector() const; - inline void clear_has_consistency_selector(); - - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 0, 5, 3, - 61, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { inline explicit constexpr Impl_( ::google::protobuf::internal::ConstantInitialized) noexcept; @@ -6572,48 +6503,36 @@ class RunAggregationQueryRequest final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::ArenaStringPtr parent_; - union QueryTypeUnion { - constexpr QueryTypeUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::firestore::v1::StructuredAggregationQuery* structured_aggregation_query_; - } query_type_; - union ConsistencySelectorUnion { - constexpr ConsistencySelectorUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::google::protobuf::internal::ArenaStringPtr transaction_; - ::google::firestore::v1::TransactionOptions* new_transaction_; - ::google::protobuf::Timestamp* read_time_; - } consistency_selector_; + ::google::protobuf::RepeatedPtrField< ::google::firestore::v1::Write > writes_; + ::google::protobuf::internal::ArenaStringPtr database_; + ::google::protobuf::internal::ArenaStringPtr transaction_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::uint32_t _oneof_case_[2]; - PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; };// ------------------------------------------------------------------- -class ListenRequest final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.ListenRequest) */ { +class Target final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.Target) */ { public: - inline ListenRequest() : ListenRequest(nullptr) {} - ~ListenRequest() override; + inline Target() : Target(nullptr) {} + ~Target() override; template - explicit PROTOBUF_CONSTEXPR ListenRequest(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR Target(::google::protobuf::internal::ConstantInitialized); - inline ListenRequest(const ListenRequest& from) - : ListenRequest(nullptr, from) {} - ListenRequest(ListenRequest&& from) noexcept - : ListenRequest() { + inline Target(const Target& from) + : Target(nullptr, from) {} + Target(Target&& from) noexcept + : Target() { *this = ::std::move(from); } - inline ListenRequest& operator=(const ListenRequest& from) { + inline Target& operator=(const Target& from) { CopyFrom(from); return *this; } - inline ListenRequest& operator=(ListenRequest&& from) noexcept { + inline Target& operator=(Target&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -6645,26 +6564,32 @@ class ListenRequest final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ListenRequest& default_instance() { + static const Target& default_instance() { return *internal_default_instance(); } - enum TargetChangeCase { - kAddTarget = 2, - kRemoveTarget = 3, - TARGET_CHANGE_NOT_SET = 0, + enum TargetTypeCase { + kQuery = 2, + kDocuments = 3, + TARGET_TYPE_NOT_SET = 0, }; - static inline const ListenRequest* internal_default_instance() { - return reinterpret_cast( - &_ListenRequest_default_instance_); + enum ResumeTypeCase { + kResumeToken = 4, + kReadTime = 11, + RESUME_TYPE_NOT_SET = 0, + }; + + static inline const Target* internal_default_instance() { + return reinterpret_cast( + &_Target_default_instance_); } static constexpr int kIndexInFileMessages = - 21; + 27; - friend void swap(ListenRequest& a, ListenRequest& b) { + friend void swap(Target& a, Target& b) { a.Swap(&b); } - inline void Swap(ListenRequest* other) { + inline void Swap(Target* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -6677,7 +6602,7 @@ class ListenRequest final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ListenRequest* other) { + void UnsafeArenaSwap(Target* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -6685,14 +6610,14 @@ class ListenRequest final : // implements Message ---------------------------------------------- - ListenRequest* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Target* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ListenRequest& from); + void CopyFrom(const Target& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ListenRequest& from) { - ListenRequest::MergeImpl(*this, from); + void MergeFrom( const Target& from) { + Target::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -6710,16 +6635,16 @@ class ListenRequest final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ListenRequest* other); + void InternalSwap(Target* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "google.firestore.v1.ListenRequest"; + return "google.firestore.v1.Target"; } protected: - explicit ListenRequest(::google::protobuf::Arena* arena); - ListenRequest(::google::protobuf::Arena* arena, const ListenRequest& from); + explicit Target(::google::protobuf::Arena* arena); + Target(::google::protobuf::Arena* arena, const Target& from); public: static const ClassData _class_data_; @@ -6729,90 +6654,709 @@ class ListenRequest final : // nested types ---------------------------------------------------- + using DocumentsTarget = Target_DocumentsTarget; + using QueryTarget = Target_QueryTarget; // accessors ------------------------------------------------------- enum : int { - kLabelsFieldNumber = 4, - kDatabaseFieldNumber = 1, - kAddTargetFieldNumber = 2, - kRemoveTargetFieldNumber = 3, + kExpectedCountFieldNumber = 12, + kTargetIdFieldNumber = 5, + kOnceFieldNumber = 6, + kQueryFieldNumber = 2, + kDocumentsFieldNumber = 3, + kResumeTokenFieldNumber = 4, + kReadTimeFieldNumber = 11, }; - // map labels = 4; - int labels_size() const; + // .google.protobuf.Int32Value expected_count = 12; + bool has_expected_count() const; + void clear_expected_count() ; + const ::google::protobuf::Int32Value& expected_count() const; + PROTOBUF_NODISCARD ::google::protobuf::Int32Value* release_expected_count(); + ::google::protobuf::Int32Value* mutable_expected_count(); + void set_allocated_expected_count(::google::protobuf::Int32Value* value); + void unsafe_arena_set_allocated_expected_count(::google::protobuf::Int32Value* value); + ::google::protobuf::Int32Value* unsafe_arena_release_expected_count(); + private: - int _internal_labels_size() const; + const ::google::protobuf::Int32Value& _internal_expected_count() const; + ::google::protobuf::Int32Value* _internal_mutable_expected_count(); public: - void clear_labels() ; - const ::google::protobuf::Map& labels() const; - ::google::protobuf::Map* mutable_labels(); + // int32 target_id = 5; + void clear_target_id() ; + ::int32_t target_id() const; + void set_target_id(::int32_t value); private: - const ::google::protobuf::Map& _internal_labels() const; - ::google::protobuf::Map* _internal_mutable_labels(); + ::int32_t _internal_target_id() const; + void _internal_set_target_id(::int32_t value); public: - // string database = 1; - void clear_database() ; - const std::string& database() const; - template - void set_database(Arg_&& arg, Args_... args); - std::string* mutable_database(); - PROTOBUF_NODISCARD std::string* release_database(); - void set_allocated_database(std::string* value); + // bool once = 6; + void clear_once() ; + bool once() const; + void set_once(bool value); private: - const std::string& _internal_database() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( - const std::string& value); - std::string* _internal_mutable_database(); + bool _internal_once() const; + void _internal_set_once(bool value); public: - // .google.firestore.v1.Target add_target = 2; - bool has_add_target() const; + // .google.firestore.v1.Target.QueryTarget query = 2; + bool has_query() const; private: - bool _internal_has_add_target() const; + bool _internal_has_query() const; public: - void clear_add_target() ; - const ::google::firestore::v1::Target& add_target() const; - PROTOBUF_NODISCARD ::google::firestore::v1::Target* release_add_target(); - ::google::firestore::v1::Target* mutable_add_target(); - void set_allocated_add_target(::google::firestore::v1::Target* value); - void unsafe_arena_set_allocated_add_target(::google::firestore::v1::Target* value); - ::google::firestore::v1::Target* unsafe_arena_release_add_target(); + void clear_query() ; + const ::google::firestore::v1::Target_QueryTarget& query() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Target_QueryTarget* release_query(); + ::google::firestore::v1::Target_QueryTarget* mutable_query(); + void set_allocated_query(::google::firestore::v1::Target_QueryTarget* value); + void unsafe_arena_set_allocated_query(::google::firestore::v1::Target_QueryTarget* value); + ::google::firestore::v1::Target_QueryTarget* unsafe_arena_release_query(); private: - const ::google::firestore::v1::Target& _internal_add_target() const; - ::google::firestore::v1::Target* _internal_mutable_add_target(); + const ::google::firestore::v1::Target_QueryTarget& _internal_query() const; + ::google::firestore::v1::Target_QueryTarget* _internal_mutable_query(); public: - // int32 remove_target = 3; - bool has_remove_target() const; - void clear_remove_target() ; - ::int32_t remove_target() const; - void set_remove_target(::int32_t value); - + // .google.firestore.v1.Target.DocumentsTarget documents = 3; + bool has_documents() const; private: - ::int32_t _internal_remove_target() const; - void _internal_set_remove_target(::int32_t value); + bool _internal_has_documents() const; public: - void clear_target_change(); - TargetChangeCase target_change_case() const; - // @@protoc_insertion_point(class_scope:google.firestore.v1.ListenRequest) - private: - class _Internal; - void set_has_add_target(); - void set_has_remove_target(); + void clear_documents() ; + const ::google::firestore::v1::Target_DocumentsTarget& documents() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Target_DocumentsTarget* release_documents(); + ::google::firestore::v1::Target_DocumentsTarget* mutable_documents(); + void set_allocated_documents(::google::firestore::v1::Target_DocumentsTarget* value); + void unsafe_arena_set_allocated_documents(::google::firestore::v1::Target_DocumentsTarget* value); + ::google::firestore::v1::Target_DocumentsTarget* unsafe_arena_release_documents(); - inline bool has_target_change() const; - inline void clear_has_target_change(); + private: + const ::google::firestore::v1::Target_DocumentsTarget& _internal_documents() const; + ::google::firestore::v1::Target_DocumentsTarget* _internal_mutable_documents(); - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 0, 4, 2, + public: + // bytes resume_token = 4; + bool has_resume_token() const; + void clear_resume_token() ; + const std::string& resume_token() const; + template + void set_resume_token(Arg_&& arg, Args_... args); + std::string* mutable_resume_token(); + PROTOBUF_NODISCARD std::string* release_resume_token(); + void set_allocated_resume_token(std::string* value); + + private: + const std::string& _internal_resume_token() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_resume_token( + const std::string& value); + std::string* _internal_mutable_resume_token(); + + public: + // .google.protobuf.Timestamp read_time = 11; + bool has_read_time() const; + private: + bool _internal_has_read_time() const; + + public: + void clear_read_time() ; + const ::google::protobuf::Timestamp& read_time() const; + PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); + ::google::protobuf::Timestamp* mutable_read_time(); + void set_allocated_read_time(::google::protobuf::Timestamp* value); + void unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value); + ::google::protobuf::Timestamp* unsafe_arena_release_read_time(); + + private: + const ::google::protobuf::Timestamp& _internal_read_time() const; + ::google::protobuf::Timestamp* _internal_mutable_read_time(); + + public: + void clear_target_type(); + TargetTypeCase target_type_case() const; + void clear_resume_type(); + ResumeTypeCase resume_type_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.Target) + private: + class _Internal; + void set_has_query(); + void set_has_documents(); + void set_has_resume_token(); + void set_has_read_time(); + + inline bool has_target_type() const; + inline void clear_has_target_type(); + + inline bool has_resume_type() const; + inline void clear_has_resume_type(); + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 7, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::Int32Value* expected_count_; + ::int32_t target_id_; + bool once_; + union TargetTypeUnion { + constexpr TargetTypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::firestore::v1::Target_QueryTarget* query_; + ::google::firestore::v1::Target_DocumentsTarget* documents_; + } target_type_; + union ResumeTypeUnion { + constexpr ResumeTypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ArenaStringPtr resume_token_; + ::google::protobuf::Timestamp* read_time_; + } resume_type_; + ::uint32_t _oneof_case_[2]; + + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; +};// ------------------------------------------------------------------- + +class RunAggregationQueryRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.RunAggregationQueryRequest) */ { + public: + inline RunAggregationQueryRequest() : RunAggregationQueryRequest(nullptr) {} + ~RunAggregationQueryRequest() override; + template + explicit PROTOBUF_CONSTEXPR RunAggregationQueryRequest(::google::protobuf::internal::ConstantInitialized); + + inline RunAggregationQueryRequest(const RunAggregationQueryRequest& from) + : RunAggregationQueryRequest(nullptr, from) {} + RunAggregationQueryRequest(RunAggregationQueryRequest&& from) noexcept + : RunAggregationQueryRequest() { + *this = ::std::move(from); + } + + inline RunAggregationQueryRequest& operator=(const RunAggregationQueryRequest& from) { + CopyFrom(from); + return *this; + } + inline RunAggregationQueryRequest& operator=(RunAggregationQueryRequest&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RunAggregationQueryRequest& default_instance() { + return *internal_default_instance(); + } + enum QueryTypeCase { + kStructuredAggregationQuery = 2, + QUERY_TYPE_NOT_SET = 0, + }; + + enum ConsistencySelectorCase { + kTransaction = 4, + kNewTransaction = 5, + kReadTime = 6, + CONSISTENCY_SELECTOR_NOT_SET = 0, + }; + + static inline const RunAggregationQueryRequest* internal_default_instance() { + return reinterpret_cast( + &_RunAggregationQueryRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 17; + + friend void swap(RunAggregationQueryRequest& a, RunAggregationQueryRequest& b) { + a.Swap(&b); + } + inline void Swap(RunAggregationQueryRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RunAggregationQueryRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RunAggregationQueryRequest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RunAggregationQueryRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RunAggregationQueryRequest& from) { + RunAggregationQueryRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(RunAggregationQueryRequest* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "google.firestore.v1.RunAggregationQueryRequest"; + } + protected: + explicit RunAggregationQueryRequest(::google::protobuf::Arena* arena); + RunAggregationQueryRequest(::google::protobuf::Arena* arena, const RunAggregationQueryRequest& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kParentFieldNumber = 1, + kStructuredAggregationQueryFieldNumber = 2, + kTransactionFieldNumber = 4, + kNewTransactionFieldNumber = 5, + kReadTimeFieldNumber = 6, + }; + // string parent = 1; + void clear_parent() ; + const std::string& parent() const; + template + void set_parent(Arg_&& arg, Args_... args); + std::string* mutable_parent(); + PROTOBUF_NODISCARD std::string* release_parent(); + void set_allocated_parent(std::string* value); + + private: + const std::string& _internal_parent() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent( + const std::string& value); + std::string* _internal_mutable_parent(); + + public: + // .google.firestore.v1.StructuredAggregationQuery structured_aggregation_query = 2; + bool has_structured_aggregation_query() const; + private: + bool _internal_has_structured_aggregation_query() const; + + public: + void clear_structured_aggregation_query() ; + const ::google::firestore::v1::StructuredAggregationQuery& structured_aggregation_query() const; + PROTOBUF_NODISCARD ::google::firestore::v1::StructuredAggregationQuery* release_structured_aggregation_query(); + ::google::firestore::v1::StructuredAggregationQuery* mutable_structured_aggregation_query(); + void set_allocated_structured_aggregation_query(::google::firestore::v1::StructuredAggregationQuery* value); + void unsafe_arena_set_allocated_structured_aggregation_query(::google::firestore::v1::StructuredAggregationQuery* value); + ::google::firestore::v1::StructuredAggregationQuery* unsafe_arena_release_structured_aggregation_query(); + + private: + const ::google::firestore::v1::StructuredAggregationQuery& _internal_structured_aggregation_query() const; + ::google::firestore::v1::StructuredAggregationQuery* _internal_mutable_structured_aggregation_query(); + + public: + // bytes transaction = 4; + bool has_transaction() const; + void clear_transaction() ; + const std::string& transaction() const; + template + void set_transaction(Arg_&& arg, Args_... args); + std::string* mutable_transaction(); + PROTOBUF_NODISCARD std::string* release_transaction(); + void set_allocated_transaction(std::string* value); + + private: + const std::string& _internal_transaction() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_transaction( + const std::string& value); + std::string* _internal_mutable_transaction(); + + public: + // .google.firestore.v1.TransactionOptions new_transaction = 5; + bool has_new_transaction() const; + private: + bool _internal_has_new_transaction() const; + + public: + void clear_new_transaction() ; + const ::google::firestore::v1::TransactionOptions& new_transaction() const; + PROTOBUF_NODISCARD ::google::firestore::v1::TransactionOptions* release_new_transaction(); + ::google::firestore::v1::TransactionOptions* mutable_new_transaction(); + void set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); + void unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value); + ::google::firestore::v1::TransactionOptions* unsafe_arena_release_new_transaction(); + + private: + const ::google::firestore::v1::TransactionOptions& _internal_new_transaction() const; + ::google::firestore::v1::TransactionOptions* _internal_mutable_new_transaction(); + + public: + // .google.protobuf.Timestamp read_time = 6; + bool has_read_time() const; + private: + bool _internal_has_read_time() const; + + public: + void clear_read_time() ; + const ::google::protobuf::Timestamp& read_time() const; + PROTOBUF_NODISCARD ::google::protobuf::Timestamp* release_read_time(); + ::google::protobuf::Timestamp* mutable_read_time(); + void set_allocated_read_time(::google::protobuf::Timestamp* value); + void unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value); + ::google::protobuf::Timestamp* unsafe_arena_release_read_time(); + + private: + const ::google::protobuf::Timestamp& _internal_read_time() const; + ::google::protobuf::Timestamp* _internal_mutable_read_time(); + + public: + void clear_query_type(); + QueryTypeCase query_type_case() const; + void clear_consistency_selector(); + ConsistencySelectorCase consistency_selector_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.RunAggregationQueryRequest) + private: + class _Internal; + void set_has_structured_aggregation_query(); + void set_has_transaction(); + void set_has_new_transaction(); + void set_has_read_time(); + + inline bool has_query_type() const; + inline void clear_has_query_type(); + + inline bool has_consistency_selector() const; + inline void clear_has_consistency_selector(); + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 5, 3, + 61, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr parent_; + union QueryTypeUnion { + constexpr QueryTypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::firestore::v1::StructuredAggregationQuery* structured_aggregation_query_; + } query_type_; + union ConsistencySelectorUnion { + constexpr ConsistencySelectorUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ArenaStringPtr transaction_; + ::google::firestore::v1::TransactionOptions* new_transaction_; + ::google::protobuf::Timestamp* read_time_; + } consistency_selector_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[2]; + + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2ffirestore_2fv1_2ffirestore_2eproto; +};// ------------------------------------------------------------------- + +class ListenRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.ListenRequest) */ { + public: + inline ListenRequest() : ListenRequest(nullptr) {} + ~ListenRequest() override; + template + explicit PROTOBUF_CONSTEXPR ListenRequest(::google::protobuf::internal::ConstantInitialized); + + inline ListenRequest(const ListenRequest& from) + : ListenRequest(nullptr, from) {} + ListenRequest(ListenRequest&& from) noexcept + : ListenRequest() { + *this = ::std::move(from); + } + + inline ListenRequest& operator=(const ListenRequest& from) { + CopyFrom(from); + return *this; + } + inline ListenRequest& operator=(ListenRequest&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ListenRequest& default_instance() { + return *internal_default_instance(); + } + enum TargetChangeCase { + kAddTarget = 2, + kRemoveTarget = 3, + TARGET_CHANGE_NOT_SET = 0, + }; + + static inline const ListenRequest* internal_default_instance() { + return reinterpret_cast( + &_ListenRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 23; + + friend void swap(ListenRequest& a, ListenRequest& b) { + a.Swap(&b); + } + inline void Swap(ListenRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ListenRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ListenRequest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ListenRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ListenRequest& from) { + ListenRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ListenRequest* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "google.firestore.v1.ListenRequest"; + } + protected: + explicit ListenRequest(::google::protobuf::Arena* arena); + ListenRequest(::google::protobuf::Arena* arena, const ListenRequest& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kLabelsFieldNumber = 4, + kDatabaseFieldNumber = 1, + kAddTargetFieldNumber = 2, + kRemoveTargetFieldNumber = 3, + }; + // map labels = 4; + int labels_size() const; + private: + int _internal_labels_size() const; + + public: + void clear_labels() ; + const ::google::protobuf::Map& labels() const; + ::google::protobuf::Map* mutable_labels(); + + private: + const ::google::protobuf::Map& _internal_labels() const; + ::google::protobuf::Map* _internal_mutable_labels(); + + public: + // string database = 1; + void clear_database() ; + const std::string& database() const; + template + void set_database(Arg_&& arg, Args_... args); + std::string* mutable_database(); + PROTOBUF_NODISCARD std::string* release_database(); + void set_allocated_database(std::string* value); + + private: + const std::string& _internal_database() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( + const std::string& value); + std::string* _internal_mutable_database(); + + public: + // .google.firestore.v1.Target add_target = 2; + bool has_add_target() const; + private: + bool _internal_has_add_target() const; + + public: + void clear_add_target() ; + const ::google::firestore::v1::Target& add_target() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Target* release_add_target(); + ::google::firestore::v1::Target* mutable_add_target(); + void set_allocated_add_target(::google::firestore::v1::Target* value); + void unsafe_arena_set_allocated_add_target(::google::firestore::v1::Target* value); + ::google::firestore::v1::Target* unsafe_arena_release_add_target(); + + private: + const ::google::firestore::v1::Target& _internal_add_target() const; + ::google::firestore::v1::Target* _internal_mutable_add_target(); + + public: + // int32 remove_target = 3; + bool has_remove_target() const; + void clear_remove_target() ; + ::int32_t remove_target() const; + void set_remove_target(::int32_t value); + + private: + ::int32_t _internal_remove_target() const; + void _internal_set_remove_target(::int32_t value); + + public: + void clear_target_change(); + TargetChangeCase target_change_case() const; + // @@protoc_insertion_point(class_scope:google.firestore.v1.ListenRequest) + private: + class _Internal; + void set_has_add_target(); + void set_has_remove_target(); + + inline bool has_target_change() const; + inline void clear_has_target_change(); + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 4, 2, 56, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -7669,320 +8213,779 @@ inline bool ListDocumentsRequest::_internal_show_missing() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.show_missing_; } -inline void ListDocumentsRequest::_internal_set_show_missing(bool value) { +inline void ListDocumentsRequest::_internal_set_show_missing(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.show_missing_ = value; +} + +inline bool ListDocumentsRequest::has_consistency_selector() const { + return consistency_selector_case() != CONSISTENCY_SELECTOR_NOT_SET; +} +inline void ListDocumentsRequest::clear_has_consistency_selector() { + _impl_._oneof_case_[0] = CONSISTENCY_SELECTOR_NOT_SET; +} +inline ListDocumentsRequest::ConsistencySelectorCase ListDocumentsRequest::consistency_selector_case() const { + return ListDocumentsRequest::ConsistencySelectorCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// ListDocumentsResponse + +// repeated .google.firestore.v1.Document documents = 1; +inline int ListDocumentsResponse::_internal_documents_size() const { + return _internal_documents().size(); +} +inline int ListDocumentsResponse::documents_size() const { + return _internal_documents_size(); +} +inline ::google::firestore::v1::Document* ListDocumentsResponse::mutable_documents(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ListDocumentsResponse.documents) + return _internal_mutable_documents()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>* ListDocumentsResponse::mutable_documents() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.ListDocumentsResponse.documents) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_documents(); +} +inline const ::google::firestore::v1::Document& ListDocumentsResponse::documents(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ListDocumentsResponse.documents) + return _internal_documents().Get(index); +} +inline ::google::firestore::v1::Document* ListDocumentsResponse::add_documents() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::google::firestore::v1::Document* _add = _internal_mutable_documents()->Add(); + // @@protoc_insertion_point(field_add:google.firestore.v1.ListDocumentsResponse.documents) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>& ListDocumentsResponse::documents() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.ListDocumentsResponse.documents) + return _internal_documents(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>& +ListDocumentsResponse::_internal_documents() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.documents_; +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>* +ListDocumentsResponse::_internal_mutable_documents() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.documents_; +} + +// string next_page_token = 2; +inline void ListDocumentsResponse::clear_next_page_token() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.next_page_token_.ClearToEmpty(); +} +inline const std::string& ListDocumentsResponse::next_page_token() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ListDocumentsResponse.next_page_token) + return _internal_next_page_token(); +} +template +inline PROTOBUF_ALWAYS_INLINE void ListDocumentsResponse::set_next_page_token(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.next_page_token_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.ListDocumentsResponse.next_page_token) +} +inline std::string* ListDocumentsResponse::mutable_next_page_token() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_next_page_token(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ListDocumentsResponse.next_page_token) + return _s; +} +inline const std::string& ListDocumentsResponse::_internal_next_page_token() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.next_page_token_.Get(); +} +inline void ListDocumentsResponse::_internal_set_next_page_token(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.next_page_token_.Set(value, GetArena()); +} +inline std::string* ListDocumentsResponse::_internal_mutable_next_page_token() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.next_page_token_.Mutable( GetArena()); +} +inline std::string* ListDocumentsResponse::release_next_page_token() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.ListDocumentsResponse.next_page_token) + return _impl_.next_page_token_.Release(); +} +inline void ListDocumentsResponse::set_allocated_next_page_token(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.next_page_token_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.next_page_token_.IsDefault()) { + _impl_.next_page_token_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ListDocumentsResponse.next_page_token) +} + +// ------------------------------------------------------------------- + +// CreateDocumentRequest + +// string parent = 1; +inline void CreateDocumentRequest::clear_parent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.parent_.ClearToEmpty(); +} +inline const std::string& CreateDocumentRequest::parent() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.parent) + return _internal_parent(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CreateDocumentRequest::set_parent(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.parent_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.CreateDocumentRequest.parent) +} +inline std::string* CreateDocumentRequest::mutable_parent() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_parent(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.parent) + return _s; +} +inline const std::string& CreateDocumentRequest::_internal_parent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.parent_.Get(); +} +inline void CreateDocumentRequest::_internal_set_parent(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.parent_.Set(value, GetArena()); +} +inline std::string* CreateDocumentRequest::_internal_mutable_parent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.parent_.Mutable( GetArena()); +} +inline std::string* CreateDocumentRequest::release_parent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.parent) + return _impl_.parent_.Release(); +} +inline void CreateDocumentRequest::set_allocated_parent(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.parent_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.parent_.IsDefault()) { + _impl_.parent_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.parent) +} + +// string collection_id = 2; +inline void CreateDocumentRequest::clear_collection_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collection_id_.ClearToEmpty(); +} +inline const std::string& CreateDocumentRequest::collection_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.collection_id) + return _internal_collection_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CreateDocumentRequest::set_collection_id(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collection_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.CreateDocumentRequest.collection_id) +} +inline std::string* CreateDocumentRequest::mutable_collection_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_collection_id(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.collection_id) + return _s; +} +inline const std::string& CreateDocumentRequest::_internal_collection_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collection_id_.Get(); +} +inline void CreateDocumentRequest::_internal_set_collection_id(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collection_id_.Set(value, GetArena()); +} +inline std::string* CreateDocumentRequest::_internal_mutable_collection_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.collection_id_.Mutable( GetArena()); +} +inline std::string* CreateDocumentRequest::release_collection_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.collection_id) + return _impl_.collection_id_.Release(); +} +inline void CreateDocumentRequest::set_allocated_collection_id(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collection_id_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.collection_id_.IsDefault()) { + _impl_.collection_id_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.collection_id) +} + +// string document_id = 3; +inline void CreateDocumentRequest::clear_document_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.document_id_.ClearToEmpty(); +} +inline const std::string& CreateDocumentRequest::document_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.document_id) + return _internal_document_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CreateDocumentRequest::set_document_id(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.document_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.CreateDocumentRequest.document_id) +} +inline std::string* CreateDocumentRequest::mutable_document_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_document_id(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.document_id) + return _s; +} +inline const std::string& CreateDocumentRequest::_internal_document_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.document_id_.Get(); +} +inline void CreateDocumentRequest::_internal_set_document_id(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.show_missing_ = value; + _impl_.document_id_.Set(value, GetArena()); } - -inline bool ListDocumentsRequest::has_consistency_selector() const { - return consistency_selector_case() != CONSISTENCY_SELECTOR_NOT_SET; +inline std::string* CreateDocumentRequest::_internal_mutable_document_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.document_id_.Mutable( GetArena()); } -inline void ListDocumentsRequest::clear_has_consistency_selector() { - _impl_._oneof_case_[0] = CONSISTENCY_SELECTOR_NOT_SET; +inline std::string* CreateDocumentRequest::release_document_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.document_id) + return _impl_.document_id_.Release(); } -inline ListDocumentsRequest::ConsistencySelectorCase ListDocumentsRequest::consistency_selector_case() const { - return ListDocumentsRequest::ConsistencySelectorCase(_impl_._oneof_case_[0]); +inline void CreateDocumentRequest::set_allocated_document_id(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.document_id_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.document_id_.IsDefault()) { + _impl_.document_id_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.document_id) } -// ------------------------------------------------------------------- - -// ListDocumentsResponse -// repeated .google.firestore.v1.Document documents = 1; -inline int ListDocumentsResponse::_internal_documents_size() const { - return _internal_documents().size(); +// .google.firestore.v1.Document document = 4; +inline bool CreateDocumentRequest::has_document() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.document_ != nullptr); + return value; } -inline int ListDocumentsResponse::documents_size() const { - return _internal_documents_size(); +inline const ::google::firestore::v1::Document& CreateDocumentRequest::_internal_document() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::google::firestore::v1::Document* p = _impl_.document_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Document_default_instance_); } -inline ::google::firestore::v1::Document* ListDocumentsResponse::mutable_documents(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:google.firestore.v1.ListDocumentsResponse.documents) - return _internal_mutable_documents()->Mutable(index); +inline const ::google::firestore::v1::Document& CreateDocumentRequest::document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.document) + return _internal_document(); } -inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>* ListDocumentsResponse::mutable_documents() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.ListDocumentsResponse.documents) +inline void CreateDocumentRequest::unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_documents(); -} -inline const ::google::firestore::v1::Document& ListDocumentsResponse::documents(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.ListDocumentsResponse.documents) - return _internal_documents().Get(index); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + } + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.CreateDocumentRequest.document) } -inline ::google::firestore::v1::Document* ListDocumentsResponse::add_documents() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::google::firestore::v1::Document* CreateDocumentRequest::release_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::google::firestore::v1::Document* _add = _internal_mutable_documents()->Add(); - // @@protoc_insertion_point(field_add:google.firestore.v1.ListDocumentsResponse.documents) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>& ListDocumentsResponse::documents() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:google.firestore.v1.ListDocumentsResponse.documents) - return _internal_documents(); -} -inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>& -ListDocumentsResponse::_internal_documents() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.documents_; -} -inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>* -ListDocumentsResponse::_internal_mutable_documents() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.documents_; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Document* released = _impl_.document_; + _impl_.document_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::google::firestore::v1::Document* CreateDocumentRequest::unsafe_arena_release_document() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.document) -// string next_page_token = 2; -inline void ListDocumentsResponse::clear_next_page_token() { + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Document* temp = _impl_.document_; + _impl_.document_ = nullptr; + return temp; +} +inline ::google::firestore::v1::Document* CreateDocumentRequest::_internal_mutable_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.next_page_token_.ClearToEmpty(); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.document_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(p); + } + return _impl_.document_; } -inline const std::string& ListDocumentsResponse::next_page_token() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.ListDocumentsResponse.next_page_token) - return _internal_next_page_token(); +inline ::google::firestore::v1::Document* CreateDocumentRequest::mutable_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Document* _msg = _internal_mutable_document(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.document) + return _msg; } -template -inline PROTOBUF_ALWAYS_INLINE void ListDocumentsResponse::set_next_page_token(Arg_&& arg, - Args_... args) { +inline void CreateDocumentRequest::set_allocated_document(::google::firestore::v1::Document* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.next_page_token_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.ListDocumentsResponse.next_page_token) + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.document) } -inline std::string* ListDocumentsResponse::mutable_next_page_token() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_next_page_token(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.ListDocumentsResponse.next_page_token) - return _s; + +// .google.firestore.v1.DocumentMask mask = 5; +inline bool CreateDocumentRequest::has_mask() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.mask_ != nullptr); + return value; } -inline const std::string& ListDocumentsResponse::_internal_next_page_token() const { +inline const ::google::firestore::v1::DocumentMask& CreateDocumentRequest::_internal_mask() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.next_page_token_.Get(); + const ::google::firestore::v1::DocumentMask* p = _impl_.mask_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); } -inline void ListDocumentsResponse::_internal_set_next_page_token(const std::string& value) { +inline const ::google::firestore::v1::DocumentMask& CreateDocumentRequest::mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.mask) + return _internal_mask(); +} +inline void CreateDocumentRequest::unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.next_page_token_.Set(value, GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + } + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.CreateDocumentRequest.mask) } -inline std::string* ListDocumentsResponse::_internal_mutable_next_page_token() { +inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::release_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.next_page_token_.Mutable( GetArena()); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::firestore::v1::DocumentMask* released = _impl_.mask_; + _impl_.mask_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* ListDocumentsResponse::release_next_page_token() { +inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::unsafe_arena_release_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.ListDocumentsResponse.next_page_token) - return _impl_.next_page_token_.Release(); + // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.mask) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::firestore::v1::DocumentMask* temp = _impl_.mask_; + _impl_.mask_ = nullptr; + return temp; } -inline void ListDocumentsResponse::set_allocated_next_page_token(std::string* value) { +inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::_internal_mutable_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.next_page_token_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.next_page_token_.IsDefault()) { - _impl_.next_page_token_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ListDocumentsResponse.next_page_token) + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.mask_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); + } + return _impl_.mask_; +} +inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::mutable_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_mask(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.mask) + return _msg; +} +inline void CreateDocumentRequest::set_allocated_mask(::google::firestore::v1::DocumentMask* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.mask) } // ------------------------------------------------------------------- -// CreateDocumentRequest +// UpdateDocumentRequest -// string parent = 1; -inline void CreateDocumentRequest::clear_parent() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.parent_.ClearToEmpty(); -} -inline const std::string& CreateDocumentRequest::parent() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.parent) - return _internal_parent(); -} -template -inline PROTOBUF_ALWAYS_INLINE void CreateDocumentRequest::set_parent(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.parent_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.CreateDocumentRequest.parent) -} -inline std::string* CreateDocumentRequest::mutable_parent() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_parent(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.parent) - return _s; +// .google.firestore.v1.Document document = 1; +inline bool UpdateDocumentRequest::has_document() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.document_ != nullptr); + return value; } -inline const std::string& CreateDocumentRequest::_internal_parent() const { +inline const ::google::firestore::v1::Document& UpdateDocumentRequest::_internal_document() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.parent_.Get(); + const ::google::firestore::v1::Document* p = _impl_.document_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Document_default_instance_); } -inline void CreateDocumentRequest::_internal_set_parent(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.parent_.Set(value, GetArena()); +inline const ::google::firestore::v1::Document& UpdateDocumentRequest::document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.document) + return _internal_document(); } -inline std::string* CreateDocumentRequest::_internal_mutable_parent() { +inline void UpdateDocumentRequest::unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.parent_.Mutable( GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + } + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.document) } -inline std::string* CreateDocumentRequest::release_parent() { +inline ::google::firestore::v1::Document* UpdateDocumentRequest::release_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.parent) - return _impl_.parent_.Release(); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Document* released = _impl_.document_; + _impl_.document_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void CreateDocumentRequest::set_allocated_parent(std::string* value) { +inline ::google::firestore::v1::Document* UpdateDocumentRequest::unsafe_arena_release_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.parent_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.parent_.IsDefault()) { - _impl_.parent_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.parent) -} + // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.document) -// string collection_id = 2; -inline void CreateDocumentRequest::clear_collection_id() { + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Document* temp = _impl_.document_; + _impl_.document_ = nullptr; + return temp; +} +inline ::google::firestore::v1::Document* UpdateDocumentRequest::_internal_mutable_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collection_id_.ClearToEmpty(); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.document_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(p); + } + return _impl_.document_; } -inline const std::string& CreateDocumentRequest::collection_id() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.collection_id) - return _internal_collection_id(); +inline ::google::firestore::v1::Document* UpdateDocumentRequest::mutable_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Document* _msg = _internal_mutable_document(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.document) + return _msg; } -template -inline PROTOBUF_ALWAYS_INLINE void CreateDocumentRequest::set_collection_id(Arg_&& arg, - Args_... args) { +inline void UpdateDocumentRequest::set_allocated_document(::google::firestore::v1::Document* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.collection_id_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.CreateDocumentRequest.collection_id) + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.document) } -inline std::string* CreateDocumentRequest::mutable_collection_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_collection_id(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.collection_id) - return _s; + +// .google.firestore.v1.DocumentMask update_mask = 2; +inline bool UpdateDocumentRequest::has_update_mask() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.update_mask_ != nullptr); + return value; } -inline const std::string& CreateDocumentRequest::_internal_collection_id() const { +inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::_internal_update_mask() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.collection_id_.Get(); + const ::google::firestore::v1::DocumentMask* p = _impl_.update_mask_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); } -inline void CreateDocumentRequest::_internal_set_collection_id(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.collection_id_.Set(value, GetArena()); +inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::update_mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.update_mask) + return _internal_update_mask(); } -inline std::string* CreateDocumentRequest::_internal_mutable_collection_id() { +inline void UpdateDocumentRequest::unsafe_arena_set_allocated_update_mask(::google::firestore::v1::DocumentMask* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.collection_id_.Mutable( GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_mask_); + } + _impl_.update_mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.update_mask) } -inline std::string* CreateDocumentRequest::release_collection_id() { +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::release_update_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.collection_id) - return _impl_.collection_id_.Release(); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::firestore::v1::DocumentMask* released = _impl_.update_mask_; + _impl_.update_mask_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void CreateDocumentRequest::set_allocated_collection_id(std::string* value) { +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::unsafe_arena_release_update_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collection_id_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.collection_id_.IsDefault()) { - _impl_.collection_id_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.collection_id) -} + // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.update_mask) -// string document_id = 3; -inline void CreateDocumentRequest::clear_document_id() { + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::firestore::v1::DocumentMask* temp = _impl_.update_mask_; + _impl_.update_mask_ = nullptr; + return temp; +} +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::_internal_mutable_update_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.document_id_.ClearToEmpty(); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.update_mask_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); + _impl_.update_mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); + } + return _impl_.update_mask_; } -inline const std::string& CreateDocumentRequest::document_id() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.document_id) - return _internal_document_id(); +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::mutable_update_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_update_mask(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.update_mask) + return _msg; } -template -inline PROTOBUF_ALWAYS_INLINE void CreateDocumentRequest::set_document_id(Arg_&& arg, - Args_... args) { +inline void UpdateDocumentRequest::set_allocated_update_mask(::google::firestore::v1::DocumentMask* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.document_id_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.CreateDocumentRequest.document_id) -} -inline std::string* CreateDocumentRequest::mutable_document_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_document_id(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.document_id) - return _s; + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_mask_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.update_mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.update_mask) } -inline const std::string& CreateDocumentRequest::_internal_document_id() const { + +// .google.firestore.v1.DocumentMask mask = 3; +inline bool UpdateDocumentRequest::has_mask() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.mask_ != nullptr); + return value; +} +inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::_internal_mask() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.document_id_.Get(); + const ::google::firestore::v1::DocumentMask* p = _impl_.mask_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); } -inline void CreateDocumentRequest::_internal_set_document_id(const std::string& value) { +inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.mask) + return _internal_mask(); +} +inline void UpdateDocumentRequest::unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.document_id_.Set(value, GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + } + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.mask) } -inline std::string* CreateDocumentRequest::_internal_mutable_document_id() { +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::release_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.document_id_.Mutable( GetArena()); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::google::firestore::v1::DocumentMask* released = _impl_.mask_; + _impl_.mask_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* CreateDocumentRequest::release_document_id() { +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::unsafe_arena_release_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.document_id) - return _impl_.document_id_.Release(); + // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.mask) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::google::firestore::v1::DocumentMask* temp = _impl_.mask_; + _impl_.mask_ = nullptr; + return temp; } -inline void CreateDocumentRequest::set_allocated_document_id(std::string* value) { +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::_internal_mutable_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.document_id_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.document_id_.IsDefault()) { - _impl_.document_id_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.document_id) + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.mask_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); + } + return _impl_.mask_; +} +inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::mutable_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_mask(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.mask) + return _msg; } +inline void UpdateDocumentRequest::set_allocated_mask(::google::firestore::v1::DocumentMask* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + } -// .google.firestore.v1.Document document = 4; -inline bool CreateDocumentRequest::has_document() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.document_ != nullptr); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.mask) +} + +// .google.firestore.v1.Precondition current_document = 4; +inline bool UpdateDocumentRequest::has_current_document() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.current_document_ != nullptr); return value; } -inline const ::google::firestore::v1::Document& CreateDocumentRequest::_internal_document() const { +inline const ::google::firestore::v1::Precondition& UpdateDocumentRequest::_internal_current_document() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::Document* p = _impl_.document_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Document_default_instance_); + const ::google::firestore::v1::Precondition* p = _impl_.current_document_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Precondition_default_instance_); } -inline const ::google::firestore::v1::Document& CreateDocumentRequest::document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.document) - return _internal_document(); +inline const ::google::firestore::v1::Precondition& UpdateDocumentRequest::current_document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.current_document) + return _internal_current_document(); } -inline void CreateDocumentRequest::unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value) { +inline void UpdateDocumentRequest::unsafe_arena_set_allocated_current_document(::google::firestore::v1::Precondition* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); } - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.CreateDocumentRequest.document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.current_document) } -inline ::google::firestore::v1::Document* CreateDocumentRequest::release_document() { +inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::release_current_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Document* released = _impl_.document_; - _impl_.document_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::google::firestore::v1::Precondition* released = _impl_.current_document_; + _impl_.current_document_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -7996,34 +8999,34 @@ inline ::google::firestore::v1::Document* CreateDocumentRequest::release_documen #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::firestore::v1::Document* CreateDocumentRequest::unsafe_arena_release_document() { +inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::unsafe_arena_release_current_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.document) + // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.current_document) - _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Document* temp = _impl_.document_; - _impl_.document_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::google::firestore::v1::Precondition* temp = _impl_.current_document_; + _impl_.current_document_ = nullptr; return temp; } -inline ::google::firestore::v1::Document* CreateDocumentRequest::_internal_mutable_document() { +inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::_internal_mutable_current_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.document_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(p); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.current_document_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::Precondition>(GetArena()); + _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(p); } - return _impl_.document_; + return _impl_.current_document_; } -inline ::google::firestore::v1::Document* CreateDocumentRequest::mutable_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::Document* _msg = _internal_mutable_document(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.document) +inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::mutable_current_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Precondition* _msg = _internal_mutable_current_document(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.current_document) return _msg; } -inline void CreateDocumentRequest::set_allocated_document(::google::firestore::v1::Document* value) { +inline void UpdateDocumentRequest::set_allocated_current_document(::google::firestore::v1::Precondition* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); } if (value != nullptr) { @@ -8031,49 +9034,106 @@ inline void CreateDocumentRequest::set_allocated_document(::google::firestore::v if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.document) + _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.current_document) } -// .google.firestore.v1.DocumentMask mask = 5; -inline bool CreateDocumentRequest::has_mask() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.mask_ != nullptr); - return value; +// ------------------------------------------------------------------- + +// DeleteDocumentRequest + +// string name = 1; +inline void DeleteDocumentRequest::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline const ::google::firestore::v1::DocumentMask& CreateDocumentRequest::_internal_mask() const { +inline const std::string& DeleteDocumentRequest::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.DeleteDocumentRequest.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void DeleteDocumentRequest::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.DeleteDocumentRequest.name) +} +inline std::string* DeleteDocumentRequest::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.DeleteDocumentRequest.name) + return _s; +} +inline const std::string& DeleteDocumentRequest::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::DocumentMask* p = _impl_.mask_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); + return _impl_.name_.Get(); } -inline const ::google::firestore::v1::DocumentMask& CreateDocumentRequest::mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CreateDocumentRequest.mask) - return _internal_mask(); +inline void DeleteDocumentRequest::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* DeleteDocumentRequest::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* DeleteDocumentRequest::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.DeleteDocumentRequest.name) + return _impl_.name_.Release(); +} +inline void DeleteDocumentRequest::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.DeleteDocumentRequest.name) +} + +// .google.firestore.v1.Precondition current_document = 2; +inline bool DeleteDocumentRequest::has_current_document() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.current_document_ != nullptr); + return value; +} +inline const ::google::firestore::v1::Precondition& DeleteDocumentRequest::_internal_current_document() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::google::firestore::v1::Precondition* p = _impl_.current_document_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Precondition_default_instance_); } -inline void CreateDocumentRequest::unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value) { +inline const ::google::firestore::v1::Precondition& DeleteDocumentRequest::current_document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.DeleteDocumentRequest.current_document) + return _internal_current_document(); +} +inline void DeleteDocumentRequest::unsafe_arena_set_allocated_current_document(::google::firestore::v1::Precondition* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); } - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.CreateDocumentRequest.mask) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.DeleteDocumentRequest.current_document) } -inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::release_mask() { +inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::release_current_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::google::firestore::v1::DocumentMask* released = _impl_.mask_; - _impl_.mask_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Precondition* released = _impl_.current_document_; + _impl_.current_document_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -8087,34 +9147,34 @@ inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::release_mas #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::unsafe_arena_release_mask() { +inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::unsafe_arena_release_current_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CreateDocumentRequest.mask) + // @@protoc_insertion_point(field_release:google.firestore.v1.DeleteDocumentRequest.current_document) - _impl_._has_bits_[0] &= ~0x00000002u; - ::google::firestore::v1::DocumentMask* temp = _impl_.mask_; - _impl_.mask_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Precondition* temp = _impl_.current_document_; + _impl_.current_document_ = nullptr; return temp; } -inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::_internal_mutable_mask() { +inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::_internal_mutable_current_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.mask_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.current_document_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::Precondition>(GetArena()); + _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(p); } - return _impl_.mask_; + return _impl_.current_document_; } -inline ::google::firestore::v1::DocumentMask* CreateDocumentRequest::mutable_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_mask(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CreateDocumentRequest.mask) +inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::mutable_current_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Precondition* _msg = _internal_mutable_current_document(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.DeleteDocumentRequest.current_document) return _msg; } -inline void CreateDocumentRequest::set_allocated_mask(::google::firestore::v1::DocumentMask* value) { +inline void DeleteDocumentRequest::set_allocated_current_document(::google::firestore::v1::Precondition* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); } if (value != nullptr) { @@ -8122,53 +9182,207 @@ inline void CreateDocumentRequest::set_allocated_mask(::google::firestore::v1::D if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CreateDocumentRequest.mask) + _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.DeleteDocumentRequest.current_document) } // ------------------------------------------------------------------- -// UpdateDocumentRequest +// BatchGetDocumentsRequest -// .google.firestore.v1.Document document = 1; -inline bool UpdateDocumentRequest::has_document() const { +// string database = 1; +inline void BatchGetDocumentsRequest::clear_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.ClearToEmpty(); +} +inline const std::string& BatchGetDocumentsRequest::database() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.database) + return _internal_database(); +} +template +inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsRequest::set_database(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.database_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.database) +} +inline std::string* BatchGetDocumentsRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_database(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.database) + return _s; +} +inline const std::string& BatchGetDocumentsRequest::_internal_database() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.database_.Get(); +} +inline void BatchGetDocumentsRequest::_internal_set_database(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.database_.Set(value, GetArena()); +} +inline std::string* BatchGetDocumentsRequest::_internal_mutable_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.database_.Mutable( GetArena()); +} +inline std::string* BatchGetDocumentsRequest::release_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.database) + return _impl_.database_.Release(); +} +inline void BatchGetDocumentsRequest::set_allocated_database(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.database_.IsDefault()) { + _impl_.database_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.database) +} + +// repeated string documents = 2; +inline int BatchGetDocumentsRequest::_internal_documents_size() const { + return _internal_documents().size(); +} +inline int BatchGetDocumentsRequest::documents_size() const { + return _internal_documents_size(); +} +inline void BatchGetDocumentsRequest::clear_documents() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.documents_.Clear(); +} +inline std::string* BatchGetDocumentsRequest::add_documents() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + std::string* _s = _internal_mutable_documents()->Add(); + // @@protoc_insertion_point(field_add_mutable:google.firestore.v1.BatchGetDocumentsRequest.documents) + return _s; +} +inline const std::string& BatchGetDocumentsRequest::documents(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.documents) + return _internal_documents().Get(index); +} +inline std::string* BatchGetDocumentsRequest::mutable_documents(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.documents) + return _internal_mutable_documents()->Mutable(index); +} +inline void BatchGetDocumentsRequest::set_documents(int index, const std::string& value) { + _internal_mutable_documents()->Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::set_documents(int index, std::string&& value) { + _internal_mutable_documents()->Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::set_documents(int index, const char* value) { + ABSL_DCHECK(value != nullptr); + _internal_mutable_documents()->Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::set_documents(int index, const char* value, + std::size_t size) { + _internal_mutable_documents()->Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::set_documents(int index, absl::string_view value) { + _internal_mutable_documents()->Mutable(index)->assign(value.data(), + value.size()); + // @@protoc_insertion_point(field_set_string_piece:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::add_documents(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_documents()->Add()->assign(value); + // @@protoc_insertion_point(field_add:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::add_documents(std::string&& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_documents()->Add(std::move(value)); + // @@protoc_insertion_point(field_add:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::add_documents(const char* value) { + ABSL_DCHECK(value != nullptr); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_documents()->Add()->assign(value); + // @@protoc_insertion_point(field_add_char:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::add_documents(const char* value, std::size_t size) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_documents()->Add()->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline void BatchGetDocumentsRequest::add_documents(absl::string_view value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_documents()->Add()->assign(value.data(), value.size()); + // @@protoc_insertion_point(field_add_string_piece:google.firestore.v1.BatchGetDocumentsRequest.documents) +} +inline const ::google::protobuf::RepeatedPtrField& +BatchGetDocumentsRequest::documents() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.BatchGetDocumentsRequest.documents) + return _internal_documents(); +} +inline ::google::protobuf::RepeatedPtrField* +BatchGetDocumentsRequest::mutable_documents() ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.BatchGetDocumentsRequest.documents) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_documents(); +} +inline const ::google::protobuf::RepeatedPtrField& +BatchGetDocumentsRequest::_internal_documents() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.documents_; +} +inline ::google::protobuf::RepeatedPtrField* +BatchGetDocumentsRequest::_internal_mutable_documents() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.documents_; +} + +// .google.firestore.v1.DocumentMask mask = 3; +inline bool BatchGetDocumentsRequest::has_mask() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.document_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.mask_ != nullptr); return value; } -inline const ::google::firestore::v1::Document& UpdateDocumentRequest::_internal_document() const { +inline const ::google::firestore::v1::DocumentMask& BatchGetDocumentsRequest::_internal_mask() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::Document* p = _impl_.document_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Document_default_instance_); + const ::google::firestore::v1::DocumentMask* p = _impl_.mask_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); } -inline const ::google::firestore::v1::Document& UpdateDocumentRequest::document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.document) - return _internal_document(); +inline const ::google::firestore::v1::DocumentMask& BatchGetDocumentsRequest::mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.mask) + return _internal_mask(); } -inline void UpdateDocumentRequest::unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value) { +inline void BatchGetDocumentsRequest::unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); } - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.mask) } -inline ::google::firestore::v1::Document* UpdateDocumentRequest::release_document() { +inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::release_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Document* released = _impl_.document_; - _impl_.document_ = nullptr; + ::google::firestore::v1::DocumentMask* released = _impl_.mask_; + _impl_.mask_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -8182,34 +9396,34 @@ inline ::google::firestore::v1::Document* UpdateDocumentRequest::release_documen #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::firestore::v1::Document* UpdateDocumentRequest::unsafe_arena_release_document() { +inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::unsafe_arena_release_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.document) + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.mask) _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Document* temp = _impl_.document_; - _impl_.document_ = nullptr; + ::google::firestore::v1::DocumentMask* temp = _impl_.mask_; + _impl_.mask_ = nullptr; return temp; } -inline ::google::firestore::v1::Document* UpdateDocumentRequest::_internal_mutable_document() { +inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::_internal_mutable_mask() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.document_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(p); + if (_impl_.mask_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); } - return _impl_.document_; + return _impl_.mask_; } -inline ::google::firestore::v1::Document* UpdateDocumentRequest::mutable_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::Document* _msg = _internal_mutable_document(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.document) +inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::mutable_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_mask(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.mask) return _msg; } -inline void UpdateDocumentRequest::set_allocated_document(::google::firestore::v1::Document* value) { +inline void BatchGetDocumentsRequest::set_allocated_mask(::google::firestore::v1::DocumentMask* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); } if (value != nullptr) { @@ -8222,374 +9436,481 @@ inline void UpdateDocumentRequest::set_allocated_document(::google::firestore::v _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.document) + _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.mask) } -// .google.firestore.v1.DocumentMask update_mask = 2; -inline bool UpdateDocumentRequest::has_update_mask() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.update_mask_ != nullptr); - return value; +// bytes transaction = 4; +inline bool BatchGetDocumentsRequest::has_transaction() const { + return consistency_selector_case() == kTransaction; } -inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::_internal_update_mask() const { +inline void BatchGetDocumentsRequest::set_has_transaction() { + _impl_._oneof_case_[0] = kTransaction; +} +inline void BatchGetDocumentsRequest::clear_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (consistency_selector_case() == kTransaction) { + _impl_.consistency_selector_.transaction_.Destroy(); + clear_has_consistency_selector(); + } +} +inline const std::string& BatchGetDocumentsRequest::transaction() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.transaction) + return _internal_transaction(); +} +template +inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsRequest::set_transaction(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (consistency_selector_case() != kTransaction) { + clear_consistency_selector(); + + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitDefault(); + } + _impl_.consistency_selector_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.transaction) +} +inline std::string* BatchGetDocumentsRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_transaction(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.transaction) + return _s; +} +inline const std::string& BatchGetDocumentsRequest::_internal_transaction() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::DocumentMask* p = _impl_.update_mask_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); + if (consistency_selector_case() != kTransaction) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); + } + return _impl_.consistency_selector_.transaction_.Get(); } -inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::update_mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.update_mask) - return _internal_update_mask(); +inline void BatchGetDocumentsRequest::_internal_set_transaction(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (consistency_selector_case() != kTransaction) { + clear_consistency_selector(); + + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitDefault(); + } + _impl_.consistency_selector_.transaction_.Set(value, GetArena()); } -inline void UpdateDocumentRequest::unsafe_arena_set_allocated_update_mask(::google::firestore::v1::DocumentMask* value) { +inline std::string* BatchGetDocumentsRequest::_internal_mutable_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_mask_); + if (consistency_selector_case() != kTransaction) { + clear_consistency_selector(); + + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitDefault(); + } + return _impl_.consistency_selector_.transaction_.Mutable( GetArena()); +} +inline std::string* BatchGetDocumentsRequest::release_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.transaction) + if (consistency_selector_case() != kTransaction) { + return nullptr; + } + clear_has_consistency_selector(); + return _impl_.consistency_selector_.transaction_.Release(); +} +inline void BatchGetDocumentsRequest::set_allocated_transaction(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (has_consistency_selector()) { + clear_consistency_selector(); } - _impl_.update_mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitAllocated(value, GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.transaction) +} + +// .google.firestore.v1.TransactionOptions new_transaction = 5; +inline bool BatchGetDocumentsRequest::has_new_transaction() const { + return consistency_selector_case() == kNewTransaction; +} +inline bool BatchGetDocumentsRequest::_internal_has_new_transaction() const { + return consistency_selector_case() == kNewTransaction; +} +inline void BatchGetDocumentsRequest::set_has_new_transaction() { + _impl_._oneof_case_[0] = kNewTransaction; +} +inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::release_new_transaction() { + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) + if (consistency_selector_case() == kNewTransaction) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.new_transaction_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.consistency_selector_.new_transaction_ = nullptr; + return temp; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + return nullptr; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.update_mask) } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::release_update_mask() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); +inline const ::google::firestore::v1::TransactionOptions& BatchGetDocumentsRequest::_internal_new_transaction() const { + return consistency_selector_case() == kNewTransaction ? *_impl_.consistency_selector_.new_transaction_ : reinterpret_cast<::google::firestore::v1::TransactionOptions&>(::google::firestore::v1::_TransactionOptions_default_instance_); +} +inline const ::google::firestore::v1::TransactionOptions& BatchGetDocumentsRequest::new_transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) + return _internal_new_transaction(); +} +inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::unsafe_arena_release_new_transaction() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) + if (consistency_selector_case() == kNewTransaction) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.new_transaction_; + _impl_.consistency_selector_.new_transaction_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void BatchGetDocumentsRequest::unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_consistency_selector(); + if (value) { + set_has_new_transaction(); + _impl_.consistency_selector_.new_transaction_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) +} +inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::_internal_mutable_new_transaction() { + if (consistency_selector_case() != kNewTransaction) { + clear_consistency_selector(); + set_has_new_transaction(); + _impl_.consistency_selector_.new_transaction_ = CreateMaybeMessage<::google::firestore::v1::TransactionOptions>(GetArena()); + } + return _impl_.consistency_selector_.new_transaction_; +} +inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::mutable_new_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::TransactionOptions* _msg = _internal_mutable_new_transaction(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) + return _msg; +} - _impl_._has_bits_[0] &= ~0x00000002u; - ::google::firestore::v1::DocumentMask* released = _impl_.update_mask_; - _impl_.update_mask_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; +// .google.protobuf.Timestamp read_time = 7; +inline bool BatchGetDocumentsRequest::has_read_time() const { + return consistency_selector_case() == kReadTime; +} +inline bool BatchGetDocumentsRequest::_internal_has_read_time() const { + return consistency_selector_case() == kReadTime; +} +inline void BatchGetDocumentsRequest::set_has_read_time() { + _impl_._oneof_case_[0] = kReadTime; +} +inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::release_read_time() { + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.read_time) + if (consistency_selector_case() == kReadTime) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.read_time_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.consistency_selector_.read_time_ = nullptr; + return temp; + } else { + return nullptr; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); +} +inline const ::google::protobuf::Timestamp& BatchGetDocumentsRequest::_internal_read_time() const { + return consistency_selector_case() == kReadTime ? *_impl_.consistency_selector_.read_time_ : reinterpret_cast<::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_); +} +inline const ::google::protobuf::Timestamp& BatchGetDocumentsRequest::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.read_time) + return _internal_read_time(); +} +inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::unsafe_arena_release_read_time() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.BatchGetDocumentsRequest.read_time) + if (consistency_selector_case() == kReadTime) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.read_time_; + _impl_.consistency_selector_.read_time_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void BatchGetDocumentsRequest::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_consistency_selector(); + if (value) { + set_has_read_time(); + _impl_.consistency_selector_.read_time_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.read_time) +} +inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::_internal_mutable_read_time() { + if (consistency_selector_case() != kReadTime) { + clear_consistency_selector(); + set_has_read_time(); + _impl_.consistency_selector_.read_time_ = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + return _impl_.consistency_selector_.read_time_; +} +inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.read_time) + return _msg; } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::unsafe_arena_release_update_mask() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.update_mask) - _impl_._has_bits_[0] &= ~0x00000002u; - ::google::firestore::v1::DocumentMask* temp = _impl_.update_mask_; - _impl_.update_mask_ = nullptr; - return temp; +inline bool BatchGetDocumentsRequest::has_consistency_selector() const { + return consistency_selector_case() != CONSISTENCY_SELECTOR_NOT_SET; } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::_internal_mutable_update_mask() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.update_mask_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); - _impl_.update_mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); - } - return _impl_.update_mask_; +inline void BatchGetDocumentsRequest::clear_has_consistency_selector() { + _impl_._oneof_case_[0] = CONSISTENCY_SELECTOR_NOT_SET; } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::mutable_update_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_update_mask(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.update_mask) - return _msg; +inline BatchGetDocumentsRequest::ConsistencySelectorCase BatchGetDocumentsRequest::consistency_selector_case() const { + return BatchGetDocumentsRequest::ConsistencySelectorCase(_impl_._oneof_case_[0]); } -inline void UpdateDocumentRequest::set_allocated_update_mask(::google::firestore::v1::DocumentMask* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_mask_); - } +// ------------------------------------------------------------------- - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); +// BatchGetDocumentsResponse + +// .google.firestore.v1.Document found = 1; +inline bool BatchGetDocumentsResponse::has_found() const { + return result_case() == kFound; +} +inline bool BatchGetDocumentsResponse::_internal_has_found() const { + return result_case() == kFound; +} +inline void BatchGetDocumentsResponse::set_has_found() { + _impl_._oneof_case_[0] = kFound; +} +inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::release_found() { + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.found) + if (result_case() == kFound) { + clear_has_result(); + auto* temp = _impl_.result_.found_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_.result_.found_ = nullptr; + return temp; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + return nullptr; } - - _impl_.update_mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.update_mask) } - -// .google.firestore.v1.DocumentMask mask = 3; -inline bool UpdateDocumentRequest::has_mask() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.mask_ != nullptr); - return value; -} -inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::_internal_mask() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::DocumentMask* p = _impl_.mask_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); +inline const ::google::firestore::v1::Document& BatchGetDocumentsResponse::_internal_found() const { + return result_case() == kFound ? *_impl_.result_.found_ : reinterpret_cast<::google::firestore::v1::Document&>(::google::firestore::v1::_Document_default_instance_); } -inline const ::google::firestore::v1::DocumentMask& UpdateDocumentRequest::mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.mask) - return _internal_mask(); +inline const ::google::firestore::v1::Document& BatchGetDocumentsResponse::found() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.found) + return _internal_found(); } -inline void UpdateDocumentRequest::unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); - } - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; +inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::unsafe_arena_release_found() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.BatchGetDocumentsResponse.found) + if (result_case() == kFound) { + clear_has_result(); + auto* temp = _impl_.result_.found_; + _impl_.result_.found_ = nullptr; + return temp; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + return nullptr; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.mask) } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::release_mask() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000004u; - ::google::firestore::v1::DocumentMask* released = _impl_.mask_; - _impl_.mask_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; +inline void BatchGetDocumentsResponse::unsafe_arena_set_allocated_found(::google::firestore::v1::Document* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_result(); + if (value) { + set_has_found(); + _impl_.result_.found_ = value; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.found) +} +inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::_internal_mutable_found() { + if (result_case() != kFound) { + clear_result(); + set_has_found(); + _impl_.result_.found_ = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + return _impl_.result_.found_; +} +inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::mutable_found() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Document* _msg = _internal_mutable_found(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.found) + return _msg; } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::unsafe_arena_release_mask() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.mask) - _impl_._has_bits_[0] &= ~0x00000004u; - ::google::firestore::v1::DocumentMask* temp = _impl_.mask_; - _impl_.mask_ = nullptr; - return temp; +// string missing = 2; +inline bool BatchGetDocumentsResponse::has_missing() const { + return result_case() == kMissing; } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::_internal_mutable_mask() { +inline void BatchGetDocumentsResponse::set_has_missing() { + _impl_._oneof_case_[0] = kMissing; +} +inline void BatchGetDocumentsResponse::clear_missing() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.mask_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); + if (result_case() == kMissing) { + _impl_.result_.missing_.Destroy(); + clear_has_result(); } - return _impl_.mask_; } -inline ::google::firestore::v1::DocumentMask* UpdateDocumentRequest::mutable_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_mask(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.mask) - return _msg; +inline const std::string& BatchGetDocumentsResponse::missing() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.missing) + return _internal_missing(); } -inline void UpdateDocumentRequest::set_allocated_mask(::google::firestore::v1::DocumentMask* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +template +inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsResponse::set_missing(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); - } + if (result_case() != kMissing) { + clear_result(); - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; + set_has_missing(); + _impl_.result_.missing_.InitDefault(); } - - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.mask) + _impl_.result_.missing_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsResponse.missing) } - -// .google.firestore.v1.Precondition current_document = 4; -inline bool UpdateDocumentRequest::has_current_document() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || _impl_.current_document_ != nullptr); - return value; +inline std::string* BatchGetDocumentsResponse::mutable_missing() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_missing(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.missing) + return _s; } -inline const ::google::firestore::v1::Precondition& UpdateDocumentRequest::_internal_current_document() const { +inline const std::string& BatchGetDocumentsResponse::_internal_missing() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::Precondition* p = _impl_.current_document_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Precondition_default_instance_); -} -inline const ::google::firestore::v1::Precondition& UpdateDocumentRequest::current_document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.UpdateDocumentRequest.current_document) - return _internal_current_document(); -} -inline void UpdateDocumentRequest::unsafe_arena_set_allocated_current_document(::google::firestore::v1::Precondition* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); - } - _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; + if (result_case() != kMissing) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.UpdateDocumentRequest.current_document) + return _impl_.result_.missing_.Get(); } -inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::release_current_document() { +inline void BatchGetDocumentsResponse::_internal_set_missing(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (result_case() != kMissing) { + clear_result(); - _impl_._has_bits_[0] &= ~0x00000008u; - ::google::firestore::v1::Precondition* released = _impl_.current_document_; - _impl_.current_document_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); + set_has_missing(); + _impl_.result_.missing_.InitDefault(); } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + _impl_.result_.missing_.Set(value, GetArena()); } -inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::unsafe_arena_release_current_document() { +inline std::string* BatchGetDocumentsResponse::_internal_mutable_missing() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.UpdateDocumentRequest.current_document) + if (result_case() != kMissing) { + clear_result(); - _impl_._has_bits_[0] &= ~0x00000008u; - ::google::firestore::v1::Precondition* temp = _impl_.current_document_; - _impl_.current_document_ = nullptr; - return temp; + set_has_missing(); + _impl_.result_.missing_.InitDefault(); + } + return _impl_.result_.missing_.Mutable( GetArena()); } -inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::_internal_mutable_current_document() { +inline std::string* BatchGetDocumentsResponse::release_missing() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000008u; - if (_impl_.current_document_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::Precondition>(GetArena()); - _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(p); + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.missing) + if (result_case() != kMissing) { + return nullptr; } - return _impl_.current_document_; -} -inline ::google::firestore::v1::Precondition* UpdateDocumentRequest::mutable_current_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::Precondition* _msg = _internal_mutable_current_document(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.UpdateDocumentRequest.current_document) - return _msg; + clear_has_result(); + return _impl_.result_.missing_.Release(); } -inline void UpdateDocumentRequest::set_allocated_current_document(::google::firestore::v1::Precondition* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void BatchGetDocumentsResponse::set_allocated_missing(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); + if (has_result()) { + clear_result(); } - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; + set_has_missing(); + _impl_.result_.missing_.InitAllocated(value, GetArena()); } - - _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.UpdateDocumentRequest.current_document) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.missing) } -// ------------------------------------------------------------------- - -// DeleteDocumentRequest - -// string name = 1; -inline void DeleteDocumentRequest::clear_name() { +// bytes transaction = 3; +inline void BatchGetDocumentsResponse::clear_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); + _impl_.transaction_.ClearToEmpty(); } -inline const std::string& DeleteDocumentRequest::name() const +inline const std::string& BatchGetDocumentsResponse::transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.DeleteDocumentRequest.name) - return _internal_name(); + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.transaction) + return _internal_transaction(); } template -inline PROTOBUF_ALWAYS_INLINE void DeleteDocumentRequest::set_name(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsResponse::set_transaction(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.DeleteDocumentRequest.name) + _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsResponse.transaction) } -inline std::string* DeleteDocumentRequest::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.DeleteDocumentRequest.name) +inline std::string* BatchGetDocumentsResponse::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_transaction(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.transaction) return _s; } -inline const std::string& DeleteDocumentRequest::_internal_name() const { +inline const std::string& BatchGetDocumentsResponse::_internal_transaction() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); + return _impl_.transaction_.Get(); } -inline void DeleteDocumentRequest::_internal_set_name(const std::string& value) { +inline void BatchGetDocumentsResponse::_internal_set_transaction(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.name_.Set(value, GetArena()); + _impl_.transaction_.Set(value, GetArena()); } -inline std::string* DeleteDocumentRequest::_internal_mutable_name() { +inline std::string* BatchGetDocumentsResponse::_internal_mutable_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.name_.Mutable( GetArena()); + return _impl_.transaction_.Mutable( GetArena()); } -inline std::string* DeleteDocumentRequest::release_name() { +inline std::string* BatchGetDocumentsResponse::release_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.DeleteDocumentRequest.name) - return _impl_.name_.Release(); + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.transaction) + return _impl_.transaction_.Release(); } -inline void DeleteDocumentRequest::set_allocated_name(std::string* value) { +inline void BatchGetDocumentsResponse::set_allocated_transaction(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); + _impl_.transaction_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); + if (_impl_.transaction_.IsDefault()) { + _impl_.transaction_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.DeleteDocumentRequest.name) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.transaction) } -// .google.firestore.v1.Precondition current_document = 2; -inline bool DeleteDocumentRequest::has_current_document() const { +// .google.protobuf.Timestamp read_time = 4; +inline bool BatchGetDocumentsResponse::has_read_time() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.current_document_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.read_time_ != nullptr); return value; } -inline const ::google::firestore::v1::Precondition& DeleteDocumentRequest::_internal_current_document() const { +inline const ::google::protobuf::Timestamp& BatchGetDocumentsResponse::_internal_read_time() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::Precondition* p = _impl_.current_document_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Precondition_default_instance_); + const ::google::protobuf::Timestamp* p = _impl_.read_time_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); } -inline const ::google::firestore::v1::Precondition& DeleteDocumentRequest::current_document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.DeleteDocumentRequest.current_document) - return _internal_current_document(); +inline const ::google::protobuf::Timestamp& BatchGetDocumentsResponse::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.read_time) + return _internal_read_time(); } -inline void DeleteDocumentRequest::unsafe_arena_set_allocated_current_document(::google::firestore::v1::Precondition* value) { +inline void BatchGetDocumentsResponse::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); } - _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); + _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.DeleteDocumentRequest.current_document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.read_time) } -inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::release_current_document() { +inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::release_read_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Precondition* released = _impl_.current_document_; - _impl_.current_document_ = nullptr; + ::google::protobuf::Timestamp* released = _impl_.read_time_; + _impl_.read_time_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -8603,34 +9924,34 @@ inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::release_cur #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::unsafe_arena_release_current_document() { +inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::unsafe_arena_release_read_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.DeleteDocumentRequest.current_document) + // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.read_time) _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Precondition* temp = _impl_.current_document_; - _impl_.current_document_ = nullptr; + ::google::protobuf::Timestamp* temp = _impl_.read_time_; + _impl_.read_time_ = nullptr; return temp; } -inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::_internal_mutable_current_document() { +inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::_internal_mutable_read_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.current_document_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::Precondition>(GetArena()); - _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(p); + if (_impl_.read_time_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); + _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p); } - return _impl_.current_document_; + return _impl_.read_time_; } -inline ::google::firestore::v1::Precondition* DeleteDocumentRequest::mutable_current_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::Precondition* _msg = _internal_mutable_current_document(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.DeleteDocumentRequest.current_document) +inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.read_time) return _msg; } -inline void DeleteDocumentRequest::set_allocated_current_document(::google::firestore::v1::Precondition* value) { +inline void BatchGetDocumentsResponse::set_allocated_read_time(::google::protobuf::Timestamp* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.current_document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); } if (value != nullptr) { @@ -8642,203 +9963,111 @@ inline void DeleteDocumentRequest::set_allocated_current_document(::google::fire } else { _impl_._has_bits_[0] &= ~0x00000001u; } - - _impl_.current_document_ = reinterpret_cast<::google::firestore::v1::Precondition*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.DeleteDocumentRequest.current_document) -} - -// ------------------------------------------------------------------- - -// BatchGetDocumentsRequest - -// string database = 1; -inline void BatchGetDocumentsRequest::clear_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.ClearToEmpty(); -} -inline const std::string& BatchGetDocumentsRequest::database() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.database) - return _internal_database(); -} -template -inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsRequest::set_database(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.database) -} -inline std::string* BatchGetDocumentsRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_database(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.database) - return _s; -} -inline const std::string& BatchGetDocumentsRequest::_internal_database() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.database_.Get(); -} -inline void BatchGetDocumentsRequest::_internal_set_database(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(value, GetArena()); -} -inline std::string* BatchGetDocumentsRequest::_internal_mutable_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.database_.Mutable( GetArena()); -} -inline std::string* BatchGetDocumentsRequest::release_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.database) - return _impl_.database_.Release(); -} -inline void BatchGetDocumentsRequest::set_allocated_database(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.database_.IsDefault()) { - _impl_.database_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.database) -} - -// repeated string documents = 2; -inline int BatchGetDocumentsRequest::_internal_documents_size() const { - return _internal_documents().size(); -} -inline int BatchGetDocumentsRequest::documents_size() const { - return _internal_documents_size(); -} -inline void BatchGetDocumentsRequest::clear_documents() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.documents_.Clear(); -} -inline std::string* BatchGetDocumentsRequest::add_documents() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - std::string* _s = _internal_mutable_documents()->Add(); - // @@protoc_insertion_point(field_add_mutable:google.firestore.v1.BatchGetDocumentsRequest.documents) - return _s; -} -inline const std::string& BatchGetDocumentsRequest::documents(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.documents) - return _internal_documents().Get(index); -} -inline std::string* BatchGetDocumentsRequest::mutable_documents(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.documents) - return _internal_mutable_documents()->Mutable(index); + + _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.read_time) } -inline void BatchGetDocumentsRequest::set_documents(int index, const std::string& value) { - _internal_mutable_documents()->Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.documents) + +inline bool BatchGetDocumentsResponse::has_result() const { + return result_case() != RESULT_NOT_SET; } -inline void BatchGetDocumentsRequest::set_documents(int index, std::string&& value) { - _internal_mutable_documents()->Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.documents) +inline void BatchGetDocumentsResponse::clear_has_result() { + _impl_._oneof_case_[0] = RESULT_NOT_SET; } -inline void BatchGetDocumentsRequest::set_documents(int index, const char* value) { - ABSL_DCHECK(value != nullptr); - _internal_mutable_documents()->Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:google.firestore.v1.BatchGetDocumentsRequest.documents) +inline BatchGetDocumentsResponse::ResultCase BatchGetDocumentsResponse::result_case() const { + return BatchGetDocumentsResponse::ResultCase(_impl_._oneof_case_[0]); } -inline void BatchGetDocumentsRequest::set_documents(int index, const char* value, - std::size_t size) { - _internal_mutable_documents()->Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:google.firestore.v1.BatchGetDocumentsRequest.documents) +// ------------------------------------------------------------------- + +// BeginTransactionRequest + +// string database = 1; +inline void BeginTransactionRequest::clear_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.ClearToEmpty(); } -inline void BatchGetDocumentsRequest::set_documents(int index, absl::string_view value) { - _internal_mutable_documents()->Mutable(index)->assign(value.data(), - value.size()); - // @@protoc_insertion_point(field_set_string_piece:google.firestore.v1.BatchGetDocumentsRequest.documents) +inline const std::string& BeginTransactionRequest::database() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BeginTransactionRequest.database) + return _internal_database(); } -inline void BatchGetDocumentsRequest::add_documents(const std::string& value) { +template +inline PROTOBUF_ALWAYS_INLINE void BeginTransactionRequest::set_database(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_documents()->Add()->assign(value); - // @@protoc_insertion_point(field_add:google.firestore.v1.BatchGetDocumentsRequest.documents) + ; + _impl_.database_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.BeginTransactionRequest.database) } -inline void BatchGetDocumentsRequest::add_documents(std::string&& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_documents()->Add(std::move(value)); - // @@protoc_insertion_point(field_add:google.firestore.v1.BatchGetDocumentsRequest.documents) +inline std::string* BeginTransactionRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_database(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BeginTransactionRequest.database) + return _s; } -inline void BatchGetDocumentsRequest::add_documents(const char* value) { - ABSL_DCHECK(value != nullptr); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_documents()->Add()->assign(value); - // @@protoc_insertion_point(field_add_char:google.firestore.v1.BatchGetDocumentsRequest.documents) +inline const std::string& BeginTransactionRequest::_internal_database() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.database_.Get(); } -inline void BatchGetDocumentsRequest::add_documents(const char* value, std::size_t size) { +inline void BeginTransactionRequest::_internal_set_database(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_documents()->Add()->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:google.firestore.v1.BatchGetDocumentsRequest.documents) + ; + _impl_.database_.Set(value, GetArena()); } -inline void BatchGetDocumentsRequest::add_documents(absl::string_view value) { +inline std::string* BeginTransactionRequest::_internal_mutable_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_documents()->Add()->assign(value.data(), value.size()); - // @@protoc_insertion_point(field_add_string_piece:google.firestore.v1.BatchGetDocumentsRequest.documents) -} -inline const ::google::protobuf::RepeatedPtrField& -BatchGetDocumentsRequest::documents() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:google.firestore.v1.BatchGetDocumentsRequest.documents) - return _internal_documents(); + ; + return _impl_.database_.Mutable( GetArena()); } -inline ::google::protobuf::RepeatedPtrField* -BatchGetDocumentsRequest::mutable_documents() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.BatchGetDocumentsRequest.documents) +inline std::string* BeginTransactionRequest::release_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_documents(); -} -inline const ::google::protobuf::RepeatedPtrField& -BatchGetDocumentsRequest::_internal_documents() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.documents_; + // @@protoc_insertion_point(field_release:google.firestore.v1.BeginTransactionRequest.database) + return _impl_.database_.Release(); } -inline ::google::protobuf::RepeatedPtrField* -BatchGetDocumentsRequest::_internal_mutable_documents() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.documents_; +inline void BeginTransactionRequest::set_allocated_database(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.database_.IsDefault()) { + _impl_.database_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BeginTransactionRequest.database) } -// .google.firestore.v1.DocumentMask mask = 3; -inline bool BatchGetDocumentsRequest::has_mask() const { +// .google.firestore.v1.TransactionOptions options = 2; +inline bool BeginTransactionRequest::has_options() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.mask_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr); return value; } -inline const ::google::firestore::v1::DocumentMask& BatchGetDocumentsRequest::_internal_mask() const { +inline const ::google::firestore::v1::TransactionOptions& BeginTransactionRequest::_internal_options() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::DocumentMask* p = _impl_.mask_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_DocumentMask_default_instance_); + const ::google::firestore::v1::TransactionOptions* p = _impl_.options_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_TransactionOptions_default_instance_); } -inline const ::google::firestore::v1::DocumentMask& BatchGetDocumentsRequest::mask() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.mask) - return _internal_mask(); +inline const ::google::firestore::v1::TransactionOptions& BeginTransactionRequest::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.BeginTransactionRequest.options) + return _internal_options(); } -inline void BatchGetDocumentsRequest::unsafe_arena_set_allocated_mask(::google::firestore::v1::DocumentMask* value) { +inline void BeginTransactionRequest::unsafe_arena_set_allocated_options(::google::firestore::v1::TransactionOptions* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); + _impl_.options_ = reinterpret_cast<::google::firestore::v1::TransactionOptions*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.mask) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BeginTransactionRequest.options) } -inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::release_mask() { +inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::release_options() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::DocumentMask* released = _impl_.mask_; - _impl_.mask_ = nullptr; + ::google::firestore::v1::TransactionOptions* released = _impl_.options_; + _impl_.options_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -8852,34 +10081,34 @@ inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::release_ #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::unsafe_arena_release_mask() { +inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::unsafe_arena_release_options() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.mask) + // @@protoc_insertion_point(field_release:google.firestore.v1.BeginTransactionRequest.options) _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::DocumentMask* temp = _impl_.mask_; - _impl_.mask_ = nullptr; + ::google::firestore::v1::TransactionOptions* temp = _impl_.options_; + _impl_.options_ = nullptr; return temp; } -inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::_internal_mutable_mask() { +inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::_internal_mutable_options() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.mask_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::DocumentMask>(GetArena()); - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(p); + if (_impl_.options_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::TransactionOptions>(GetArena()); + _impl_.options_ = reinterpret_cast<::google::firestore::v1::TransactionOptions*>(p); } - return _impl_.mask_; + return _impl_.options_; } -inline ::google::firestore::v1::DocumentMask* BatchGetDocumentsRequest::mutable_mask() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::DocumentMask* _msg = _internal_mutable_mask(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.mask) +inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::TransactionOptions* _msg = _internal_mutable_options(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BeginTransactionRequest.options) return _msg; } -inline void BatchGetDocumentsRequest::set_allocated_mask(::google::firestore::v1::DocumentMask* value) { +inline void BeginTransactionRequest::set_allocated_options(::google::firestore::v1::TransactionOptions* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.mask_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); } if (value != nullptr) { @@ -8892,437 +10121,462 @@ inline void BatchGetDocumentsRequest::set_allocated_mask(::google::firestore::v1 _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.mask_ = reinterpret_cast<::google::firestore::v1::DocumentMask*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.mask) + _impl_.options_ = reinterpret_cast<::google::firestore::v1::TransactionOptions*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BeginTransactionRequest.options) } -// bytes transaction = 4; -inline bool BatchGetDocumentsRequest::has_transaction() const { - return consistency_selector_case() == kTransaction; -} -inline void BatchGetDocumentsRequest::set_has_transaction() { - _impl_._oneof_case_[0] = kTransaction; -} -inline void BatchGetDocumentsRequest::clear_transaction() { +// ------------------------------------------------------------------- + +// BeginTransactionResponse + +// bytes transaction = 1; +inline void BeginTransactionResponse::clear_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (consistency_selector_case() == kTransaction) { - _impl_.consistency_selector_.transaction_.Destroy(); - clear_has_consistency_selector(); - } + _impl_.transaction_.ClearToEmpty(); } -inline const std::string& BatchGetDocumentsRequest::transaction() const +inline const std::string& BeginTransactionResponse::transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.transaction) + // @@protoc_insertion_point(field_get:google.firestore.v1.BeginTransactionResponse.transaction) return _internal_transaction(); } template -inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsRequest::set_transaction(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void BeginTransactionResponse::set_transaction(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (consistency_selector_case() != kTransaction) { - clear_consistency_selector(); + ; + _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.BeginTransactionResponse.transaction) +} +inline std::string* BeginTransactionResponse::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_transaction(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.BeginTransactionResponse.transaction) + return _s; +} +inline const std::string& BeginTransactionResponse::_internal_transaction() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.transaction_.Get(); +} +inline void BeginTransactionResponse::_internal_set_transaction(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.transaction_.Set(value, GetArena()); +} +inline std::string* BeginTransactionResponse::_internal_mutable_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.transaction_.Mutable( GetArena()); +} +inline std::string* BeginTransactionResponse::release_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.BeginTransactionResponse.transaction) + return _impl_.transaction_.Release(); +} +inline void BeginTransactionResponse::set_allocated_transaction(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.transaction_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.transaction_.IsDefault()) { + _impl_.transaction_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BeginTransactionResponse.transaction) +} - set_has_transaction(); - _impl_.consistency_selector_.transaction_.InitDefault(); - } - _impl_.consistency_selector_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsRequest.transaction) +// ------------------------------------------------------------------- + +// CommitRequest + +// string database = 1; +inline void CommitRequest::clear_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.ClearToEmpty(); +} +inline const std::string& CommitRequest::database() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CommitRequest.database) + return _internal_database(); } -inline std::string* BatchGetDocumentsRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.transaction) +template +inline PROTOBUF_ALWAYS_INLINE void CommitRequest::set_database(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.database_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.CommitRequest.database) +} +inline std::string* CommitRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_database(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitRequest.database) return _s; } -inline const std::string& BatchGetDocumentsRequest::_internal_transaction() const { +inline const std::string& CommitRequest::_internal_database() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - if (consistency_selector_case() != kTransaction) { - return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); - } - return _impl_.consistency_selector_.transaction_.Get(); + return _impl_.database_.Get(); } -inline void BatchGetDocumentsRequest::_internal_set_transaction(const std::string& value) { +inline void CommitRequest::_internal_set_database(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (consistency_selector_case() != kTransaction) { - clear_consistency_selector(); - - set_has_transaction(); - _impl_.consistency_selector_.transaction_.InitDefault(); - } - _impl_.consistency_selector_.transaction_.Set(value, GetArena()); + ; + _impl_.database_.Set(value, GetArena()); } -inline std::string* BatchGetDocumentsRequest::_internal_mutable_transaction() { +inline std::string* CommitRequest::_internal_mutable_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (consistency_selector_case() != kTransaction) { - clear_consistency_selector(); - - set_has_transaction(); - _impl_.consistency_selector_.transaction_.InitDefault(); - } - return _impl_.consistency_selector_.transaction_.Mutable( GetArena()); + ; + return _impl_.database_.Mutable( GetArena()); } -inline std::string* BatchGetDocumentsRequest::release_transaction() { +inline std::string* CommitRequest::release_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.transaction) - if (consistency_selector_case() != kTransaction) { - return nullptr; - } - clear_has_consistency_selector(); - return _impl_.consistency_selector_.transaction_.Release(); + // @@protoc_insertion_point(field_release:google.firestore.v1.CommitRequest.database) + return _impl_.database_.Release(); } -inline void BatchGetDocumentsRequest::set_allocated_transaction(std::string* value) { +inline void CommitRequest::set_allocated_database(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (has_consistency_selector()) { - clear_consistency_selector(); - } - if (value != nullptr) { - set_has_transaction(); - _impl_.consistency_selector_.transaction_.InitAllocated(value, GetArena()); - } - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.transaction) + _impl_.database_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.database_.IsDefault()) { + _impl_.database_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CommitRequest.database) } -// .google.firestore.v1.TransactionOptions new_transaction = 5; -inline bool BatchGetDocumentsRequest::has_new_transaction() const { - return consistency_selector_case() == kNewTransaction; -} -inline bool BatchGetDocumentsRequest::_internal_has_new_transaction() const { - return consistency_selector_case() == kNewTransaction; +// repeated .google.firestore.v1.Write writes = 2; +inline int CommitRequest::_internal_writes_size() const { + return _internal_writes().size(); } -inline void BatchGetDocumentsRequest::set_has_new_transaction() { - _impl_._oneof_case_[0] = kNewTransaction; +inline int CommitRequest::writes_size() const { + return _internal_writes_size(); } -inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::release_new_transaction() { - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) - if (consistency_selector_case() == kNewTransaction) { - clear_has_consistency_selector(); - auto* temp = _impl_.consistency_selector_.new_transaction_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.consistency_selector_.new_transaction_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::google::firestore::v1::Write* CommitRequest::mutable_writes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitRequest.writes) + return _internal_mutable_writes()->Mutable(index); } -inline const ::google::firestore::v1::TransactionOptions& BatchGetDocumentsRequest::_internal_new_transaction() const { - return consistency_selector_case() == kNewTransaction ? *_impl_.consistency_selector_.new_transaction_ : reinterpret_cast<::google::firestore::v1::TransactionOptions&>(::google::firestore::v1::_TransactionOptions_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* CommitRequest::mutable_writes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.CommitRequest.writes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_writes(); } -inline const ::google::firestore::v1::TransactionOptions& BatchGetDocumentsRequest::new_transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) - return _internal_new_transaction(); +inline const ::google::firestore::v1::Write& CommitRequest::writes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CommitRequest.writes) + return _internal_writes().Get(index); } -inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::unsafe_arena_release_new_transaction() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) - if (consistency_selector_case() == kNewTransaction) { - clear_has_consistency_selector(); - auto* temp = _impl_.consistency_selector_.new_transaction_; - _impl_.consistency_selector_.new_transaction_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::google::firestore::v1::Write* CommitRequest::add_writes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::google::firestore::v1::Write* _add = _internal_mutable_writes()->Add(); + // @@protoc_insertion_point(field_add:google.firestore.v1.CommitRequest.writes) + return _add; } -inline void BatchGetDocumentsRequest::unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_consistency_selector(); - if (value) { - set_has_new_transaction(); - _impl_.consistency_selector_.new_transaction_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& CommitRequest::writes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.CommitRequest.writes) + return _internal_writes(); } -inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::_internal_mutable_new_transaction() { - if (consistency_selector_case() != kNewTransaction) { - clear_consistency_selector(); - set_has_new_transaction(); - _impl_.consistency_selector_.new_transaction_ = CreateMaybeMessage<::google::firestore::v1::TransactionOptions>(GetArena()); - } - return _impl_.consistency_selector_.new_transaction_; +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& +CommitRequest::_internal_writes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.writes_; } -inline ::google::firestore::v1::TransactionOptions* BatchGetDocumentsRequest::mutable_new_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::TransactionOptions* _msg = _internal_mutable_new_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.new_transaction) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* +CommitRequest::_internal_mutable_writes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.writes_; } -// .google.protobuf.Timestamp read_time = 7; -inline bool BatchGetDocumentsRequest::has_read_time() const { - return consistency_selector_case() == kReadTime; +// bytes transaction = 3; +inline void CommitRequest::clear_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.transaction_.ClearToEmpty(); } -inline bool BatchGetDocumentsRequest::_internal_has_read_time() const { - return consistency_selector_case() == kReadTime; +inline const std::string& CommitRequest::transaction() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CommitRequest.transaction) + return _internal_transaction(); } -inline void BatchGetDocumentsRequest::set_has_read_time() { - _impl_._oneof_case_[0] = kReadTime; +template +inline PROTOBUF_ALWAYS_INLINE void CommitRequest::set_transaction(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.CommitRequest.transaction) } -inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::release_read_time() { - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsRequest.read_time) - if (consistency_selector_case() == kReadTime) { - clear_has_consistency_selector(); - auto* temp = _impl_.consistency_selector_.read_time_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.consistency_selector_.read_time_ = nullptr; - return temp; - } else { - return nullptr; - } +inline std::string* CommitRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_transaction(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitRequest.transaction) + return _s; } -inline const ::google::protobuf::Timestamp& BatchGetDocumentsRequest::_internal_read_time() const { - return consistency_selector_case() == kReadTime ? *_impl_.consistency_selector_.read_time_ : reinterpret_cast<::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_); +inline const std::string& CommitRequest::_internal_transaction() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.transaction_.Get(); } -inline const ::google::protobuf::Timestamp& BatchGetDocumentsRequest::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsRequest.read_time) - return _internal_read_time(); +inline void CommitRequest::_internal_set_transaction(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.transaction_.Set(value, GetArena()); } -inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::unsafe_arena_release_read_time() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.BatchGetDocumentsRequest.read_time) - if (consistency_selector_case() == kReadTime) { - clear_has_consistency_selector(); - auto* temp = _impl_.consistency_selector_.read_time_; - _impl_.consistency_selector_.read_time_ = nullptr; - return temp; - } else { - return nullptr; - } +inline std::string* CommitRequest::_internal_mutable_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.transaction_.Mutable( GetArena()); } -inline void BatchGetDocumentsRequest::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_consistency_selector(); - if (value) { - set_has_read_time(); - _impl_.consistency_selector_.read_time_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsRequest.read_time) +inline std::string* CommitRequest::release_transaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.CommitRequest.transaction) + return _impl_.transaction_.Release(); +} +inline void CommitRequest::set_allocated_transaction(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.transaction_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.transaction_.IsDefault()) { + _impl_.transaction_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CommitRequest.transaction) +} + +// ------------------------------------------------------------------- + +// CommitResponse + +// repeated .google.firestore.v1.WriteResult write_results = 1; +inline int CommitResponse::_internal_write_results_size() const { + return _internal_write_results().size(); } -inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::_internal_mutable_read_time() { - if (consistency_selector_case() != kReadTime) { - clear_consistency_selector(); - set_has_read_time(); - _impl_.consistency_selector_.read_time_ = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); - } - return _impl_.consistency_selector_.read_time_; +inline int CommitResponse::write_results_size() const { + return _internal_write_results_size(); } -inline ::google::protobuf::Timestamp* BatchGetDocumentsRequest::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsRequest.read_time) - return _msg; +inline ::google::firestore::v1::WriteResult* CommitResponse::mutable_write_results(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitResponse.write_results) + return _internal_mutable_write_results()->Mutable(index); } - -inline bool BatchGetDocumentsRequest::has_consistency_selector() const { - return consistency_selector_case() != CONSISTENCY_SELECTOR_NOT_SET; +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>* CommitResponse::mutable_write_results() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.CommitResponse.write_results) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_write_results(); } -inline void BatchGetDocumentsRequest::clear_has_consistency_selector() { - _impl_._oneof_case_[0] = CONSISTENCY_SELECTOR_NOT_SET; +inline const ::google::firestore::v1::WriteResult& CommitResponse::write_results(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CommitResponse.write_results) + return _internal_write_results().Get(index); } -inline BatchGetDocumentsRequest::ConsistencySelectorCase BatchGetDocumentsRequest::consistency_selector_case() const { - return BatchGetDocumentsRequest::ConsistencySelectorCase(_impl_._oneof_case_[0]); +inline ::google::firestore::v1::WriteResult* CommitResponse::add_write_results() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::google::firestore::v1::WriteResult* _add = _internal_mutable_write_results()->Add(); + // @@protoc_insertion_point(field_add:google.firestore.v1.CommitResponse.write_results) + return _add; } -// ------------------------------------------------------------------- - -// BatchGetDocumentsResponse - -// .google.firestore.v1.Document found = 1; -inline bool BatchGetDocumentsResponse::has_found() const { - return result_case() == kFound; +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>& CommitResponse::write_results() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.CommitResponse.write_results) + return _internal_write_results(); } -inline bool BatchGetDocumentsResponse::_internal_has_found() const { - return result_case() == kFound; +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>& +CommitResponse::_internal_write_results() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.write_results_; } -inline void BatchGetDocumentsResponse::set_has_found() { - _impl_._oneof_case_[0] = kFound; +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>* +CommitResponse::_internal_mutable_write_results() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.write_results_; } -inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::release_found() { - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.found) - if (result_case() == kFound) { - clear_has_result(); - auto* temp = _impl_.result_.found_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.result_.found_ = nullptr; - return temp; - } else { - return nullptr; - } + +// .google.protobuf.Timestamp commit_time = 2; +inline bool CommitResponse::has_commit_time() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.commit_time_ != nullptr); + return value; } -inline const ::google::firestore::v1::Document& BatchGetDocumentsResponse::_internal_found() const { - return result_case() == kFound ? *_impl_.result_.found_ : reinterpret_cast<::google::firestore::v1::Document&>(::google::firestore::v1::_Document_default_instance_); +inline const ::google::protobuf::Timestamp& CommitResponse::_internal_commit_time() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::google::protobuf::Timestamp* p = _impl_.commit_time_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); } -inline const ::google::firestore::v1::Document& BatchGetDocumentsResponse::found() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.found) - return _internal_found(); +inline const ::google::protobuf::Timestamp& CommitResponse::commit_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.CommitResponse.commit_time) + return _internal_commit_time(); } -inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::unsafe_arena_release_found() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.BatchGetDocumentsResponse.found) - if (result_case() == kFound) { - clear_has_result(); - auto* temp = _impl_.result_.found_; - _impl_.result_.found_ = nullptr; - return temp; +inline void CommitResponse::unsafe_arena_set_allocated_commit_time(::google::protobuf::Timestamp* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.commit_time_); + } + _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.CommitResponse.commit_time) } -inline void BatchGetDocumentsResponse::unsafe_arena_set_allocated_found(::google::firestore::v1::Document* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_result(); - if (value) { - set_has_found(); - _impl_.result_.found_ = value; +inline ::google::protobuf::Timestamp* CommitResponse::release_commit_time() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::protobuf::Timestamp* released = _impl_.commit_time_; + _impl_.commit_time_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.found) +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::_internal_mutable_found() { - if (result_case() != kFound) { - clear_result(); - set_has_found(); - _impl_.result_.found_ = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); +inline ::google::protobuf::Timestamp* CommitResponse::unsafe_arena_release_commit_time() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.CommitResponse.commit_time) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::protobuf::Timestamp* temp = _impl_.commit_time_; + _impl_.commit_time_ = nullptr; + return temp; +} +inline ::google::protobuf::Timestamp* CommitResponse::_internal_mutable_commit_time() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.commit_time_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); + _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p); } - return _impl_.result_.found_; + return _impl_.commit_time_; } -inline ::google::firestore::v1::Document* BatchGetDocumentsResponse::mutable_found() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::Document* _msg = _internal_mutable_found(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.found) +inline ::google::protobuf::Timestamp* CommitResponse::mutable_commit_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_commit_time(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitResponse.commit_time) return _msg; } +inline void CommitResponse::set_allocated_commit_time(::google::protobuf::Timestamp* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.commit_time_); + } -// string missing = 2; -inline bool BatchGetDocumentsResponse::has_missing() const { - return result_case() == kMissing; -} -inline void BatchGetDocumentsResponse::set_has_missing() { - _impl_._oneof_case_[0] = kMissing; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CommitResponse.commit_time) } -inline void BatchGetDocumentsResponse::clear_missing() { + +// ------------------------------------------------------------------- + +// RollbackRequest + +// string database = 1; +inline void RollbackRequest::clear_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (result_case() == kMissing) { - _impl_.result_.missing_.Destroy(); - clear_has_result(); - } + _impl_.database_.ClearToEmpty(); } -inline const std::string& BatchGetDocumentsResponse::missing() const +inline const std::string& RollbackRequest::database() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.missing) - return _internal_missing(); + // @@protoc_insertion_point(field_get:google.firestore.v1.RollbackRequest.database) + return _internal_database(); } template -inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsResponse::set_missing(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void RollbackRequest::set_database(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (result_case() != kMissing) { - clear_result(); - - set_has_missing(); - _impl_.result_.missing_.InitDefault(); - } - _impl_.result_.missing_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsResponse.missing) + ; + _impl_.database_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.RollbackRequest.database) } -inline std::string* BatchGetDocumentsResponse::mutable_missing() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_missing(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.missing) +inline std::string* RollbackRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_database(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RollbackRequest.database) return _s; } -inline const std::string& BatchGetDocumentsResponse::_internal_missing() const { +inline const std::string& RollbackRequest::_internal_database() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - if (result_case() != kMissing) { - return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); - } - return _impl_.result_.missing_.Get(); -} -inline void BatchGetDocumentsResponse::_internal_set_missing(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (result_case() != kMissing) { - clear_result(); - - set_has_missing(); - _impl_.result_.missing_.InitDefault(); - } - _impl_.result_.missing_.Set(value, GetArena()); + return _impl_.database_.Get(); } -inline std::string* BatchGetDocumentsResponse::_internal_mutable_missing() { +inline void RollbackRequest::_internal_set_database(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (result_case() != kMissing) { - clear_result(); - - set_has_missing(); - _impl_.result_.missing_.InitDefault(); - } - return _impl_.result_.missing_.Mutable( GetArena()); + ; + _impl_.database_.Set(value, GetArena()); } -inline std::string* BatchGetDocumentsResponse::release_missing() { +inline std::string* RollbackRequest::_internal_mutable_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.missing) - if (result_case() != kMissing) { - return nullptr; - } - clear_has_result(); - return _impl_.result_.missing_.Release(); + ; + return _impl_.database_.Mutable( GetArena()); } -inline void BatchGetDocumentsResponse::set_allocated_missing(std::string* value) { +inline std::string* RollbackRequest::release_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (has_result()) { - clear_result(); - } - if (value != nullptr) { - set_has_missing(); - _impl_.result_.missing_.InitAllocated(value, GetArena()); - } - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.missing) + // @@protoc_insertion_point(field_release:google.firestore.v1.RollbackRequest.database) + return _impl_.database_.Release(); +} +inline void RollbackRequest::set_allocated_database(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.database_.IsDefault()) { + _impl_.database_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RollbackRequest.database) } -// bytes transaction = 3; -inline void BatchGetDocumentsResponse::clear_transaction() { +// bytes transaction = 2; +inline void RollbackRequest::clear_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.transaction_.ClearToEmpty(); } -inline const std::string& BatchGetDocumentsResponse::transaction() const +inline const std::string& RollbackRequest::transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.transaction) + // @@protoc_insertion_point(field_get:google.firestore.v1.RollbackRequest.transaction) return _internal_transaction(); } template -inline PROTOBUF_ALWAYS_INLINE void BatchGetDocumentsResponse::set_transaction(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void RollbackRequest::set_transaction(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.BatchGetDocumentsResponse.transaction) + // @@protoc_insertion_point(field_set:google.firestore.v1.RollbackRequest.transaction) } -inline std::string* BatchGetDocumentsResponse::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline std::string* RollbackRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.transaction) + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RollbackRequest.transaction) return _s; } -inline const std::string& BatchGetDocumentsResponse::_internal_transaction() const { +inline const std::string& RollbackRequest::_internal_transaction() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.transaction_.Get(); } -inline void BatchGetDocumentsResponse::_internal_set_transaction(const std::string& value) { +inline void RollbackRequest::_internal_set_transaction(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.transaction_.Set(value, GetArena()); } -inline std::string* BatchGetDocumentsResponse::_internal_mutable_transaction() { +inline std::string* RollbackRequest::_internal_mutable_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; return _impl_.transaction_.Mutable( GetArena()); } -inline std::string* BatchGetDocumentsResponse::release_transaction() { +inline std::string* RollbackRequest::release_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.transaction) + // @@protoc_insertion_point(field_release:google.firestore.v1.RollbackRequest.transaction) return _impl_.transaction_.Release(); } -inline void BatchGetDocumentsResponse::set_allocated_transaction(std::string* value) { +inline void RollbackRequest::set_allocated_transaction(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.transaction_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING @@ -9330,552 +10584,461 @@ inline void BatchGetDocumentsResponse::set_allocated_transaction(std::string* va _impl_.transaction_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.transaction) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RollbackRequest.transaction) } -// .google.protobuf.Timestamp read_time = 4; -inline bool BatchGetDocumentsResponse::has_read_time() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.read_time_ != nullptr); - return value; +// ------------------------------------------------------------------- + +// RunQueryRequest + +// string parent = 1; +inline void RunQueryRequest::clear_parent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.parent_.ClearToEmpty(); } -inline const ::google::protobuf::Timestamp& BatchGetDocumentsResponse::_internal_read_time() const { +inline const std::string& RunQueryRequest::parent() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.parent) + return _internal_parent(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RunQueryRequest::set_parent(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.parent_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryRequest.parent) +} +inline std::string* RunQueryRequest::mutable_parent() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_parent(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.parent) + return _s; +} +inline const std::string& RunQueryRequest::_internal_parent() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::protobuf::Timestamp* p = _impl_.read_time_; - return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); + return _impl_.parent_.Get(); } -inline const ::google::protobuf::Timestamp& BatchGetDocumentsResponse::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BatchGetDocumentsResponse.read_time) - return _internal_read_time(); +inline void RunQueryRequest::_internal_set_parent(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.parent_.Set(value, GetArena()); } -inline void BatchGetDocumentsResponse::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { +inline std::string* RunQueryRequest::_internal_mutable_parent() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); - } - _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.read_time) + ; + return _impl_.parent_.Mutable( GetArena()); } -inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::release_read_time() { +inline std::string* RunQueryRequest::release_parent() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000001u; - ::google::protobuf::Timestamp* released = _impl_.read_time_; - _impl_.read_time_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.parent) + return _impl_.parent_.Release(); } -inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::unsafe_arena_release_read_time() { +inline void RunQueryRequest::set_allocated_parent(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BatchGetDocumentsResponse.read_time) + _impl_.parent_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.parent_.IsDefault()) { + _impl_.parent_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryRequest.parent) +} - _impl_._has_bits_[0] &= ~0x00000001u; - ::google::protobuf::Timestamp* temp = _impl_.read_time_; - _impl_.read_time_ = nullptr; - return temp; +// .google.firestore.v1.StructuredQuery structured_query = 2; +inline bool RunQueryRequest::has_structured_query() const { + return query_type_case() == kStructuredQuery; } -inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::_internal_mutable_read_time() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.read_time_ == nullptr) { - auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); - _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p); - } - return _impl_.read_time_; +inline bool RunQueryRequest::_internal_has_structured_query() const { + return query_type_case() == kStructuredQuery; } -inline ::google::protobuf::Timestamp* BatchGetDocumentsResponse::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BatchGetDocumentsResponse.read_time) - return _msg; +inline void RunQueryRequest::set_has_structured_query() { + _impl_._oneof_case_[0] = kStructuredQuery; } -inline void BatchGetDocumentsResponse::set_allocated_read_time(::google::protobuf::Timestamp* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); +inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::release_structured_query() { + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.structured_query) + if (query_type_case() == kStructuredQuery) { + clear_has_query_type(); + auto* temp = _impl_.query_type_.structured_query_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_.query_type_.structured_query_ = nullptr; + return temp; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + return nullptr; } - - _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BatchGetDocumentsResponse.read_time) -} - -inline bool BatchGetDocumentsResponse::has_result() const { - return result_case() != RESULT_NOT_SET; } -inline void BatchGetDocumentsResponse::clear_has_result() { - _impl_._oneof_case_[0] = RESULT_NOT_SET; +inline const ::google::firestore::v1::StructuredQuery& RunQueryRequest::_internal_structured_query() const { + return query_type_case() == kStructuredQuery ? *_impl_.query_type_.structured_query_ : reinterpret_cast<::google::firestore::v1::StructuredQuery&>(::google::firestore::v1::_StructuredQuery_default_instance_); } -inline BatchGetDocumentsResponse::ResultCase BatchGetDocumentsResponse::result_case() const { - return BatchGetDocumentsResponse::ResultCase(_impl_._oneof_case_[0]); +inline const ::google::firestore::v1::StructuredQuery& RunQueryRequest::structured_query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.structured_query) + return _internal_structured_query(); } -// ------------------------------------------------------------------- - -// BeginTransactionRequest - -// string database = 1; -inline void BeginTransactionRequest::clear_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.ClearToEmpty(); +inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::unsafe_arena_release_structured_query() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.RunQueryRequest.structured_query) + if (query_type_case() == kStructuredQuery) { + clear_has_query_type(); + auto* temp = _impl_.query_type_.structured_query_; + _impl_.query_type_.structured_query_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline const std::string& BeginTransactionRequest::database() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BeginTransactionRequest.database) - return _internal_database(); +inline void RunQueryRequest::unsafe_arena_set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_query_type(); + if (value) { + set_has_structured_query(); + _impl_.query_type_.structured_query_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryRequest.structured_query) } -template -inline PROTOBUF_ALWAYS_INLINE void BeginTransactionRequest::set_database(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.BeginTransactionRequest.database) +inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::_internal_mutable_structured_query() { + if (query_type_case() != kStructuredQuery) { + clear_query_type(); + set_has_structured_query(); + _impl_.query_type_.structured_query_ = CreateMaybeMessage<::google::firestore::v1::StructuredQuery>(GetArena()); + } + return _impl_.query_type_.structured_query_; } -inline std::string* BeginTransactionRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_database(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BeginTransactionRequest.database) - return _s; +inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::mutable_structured_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::StructuredQuery* _msg = _internal_mutable_structured_query(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.structured_query) + return _msg; } -inline const std::string& BeginTransactionRequest::_internal_database() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.database_.Get(); + +// bytes transaction = 5; +inline bool RunQueryRequest::has_transaction() const { + return consistency_selector_case() == kTransaction; } -inline void BeginTransactionRequest::_internal_set_database(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(value, GetArena()); +inline void RunQueryRequest::set_has_transaction() { + _impl_._oneof_case_[1] = kTransaction; } -inline std::string* BeginTransactionRequest::_internal_mutable_database() { +inline void RunQueryRequest::clear_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.database_.Mutable( GetArena()); + if (consistency_selector_case() == kTransaction) { + _impl_.consistency_selector_.transaction_.Destroy(); + clear_has_consistency_selector(); + } } -inline std::string* BeginTransactionRequest::release_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BeginTransactionRequest.database) - return _impl_.database_.Release(); +inline const std::string& RunQueryRequest::transaction() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.transaction) + return _internal_transaction(); } -inline void BeginTransactionRequest::set_allocated_database(std::string* value) { +template +inline PROTOBUF_ALWAYS_INLINE void RunQueryRequest::set_transaction(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.database_.IsDefault()) { - _impl_.database_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BeginTransactionRequest.database) -} + if (consistency_selector_case() != kTransaction) { + clear_consistency_selector(); -// .google.firestore.v1.TransactionOptions options = 2; -inline bool BeginTransactionRequest::has_options() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr); - return value; -} -inline const ::google::firestore::v1::TransactionOptions& BeginTransactionRequest::_internal_options() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::TransactionOptions* p = _impl_.options_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_TransactionOptions_default_instance_); + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitDefault(); + } + _impl_.consistency_selector_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryRequest.transaction) } -inline const ::google::firestore::v1::TransactionOptions& BeginTransactionRequest::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BeginTransactionRequest.options) - return _internal_options(); +inline std::string* RunQueryRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_transaction(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.transaction) + return _s; } -inline void BeginTransactionRequest::unsafe_arena_set_allocated_options(::google::firestore::v1::TransactionOptions* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); - } - _impl_.options_ = reinterpret_cast<::google::firestore::v1::TransactionOptions*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; +inline const std::string& RunQueryRequest::_internal_transaction() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + if (consistency_selector_case() != kTransaction) { + return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.BeginTransactionRequest.options) + return _impl_.consistency_selector_.transaction_.Get(); } -inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::release_options() { +inline void RunQueryRequest::_internal_set_transaction(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (consistency_selector_case() != kTransaction) { + clear_consistency_selector(); - _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::TransactionOptions* released = _impl_.options_; - _impl_.options_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitDefault(); } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + _impl_.consistency_selector_.transaction_.Set(value, GetArena()); } -inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::unsafe_arena_release_options() { +inline std::string* RunQueryRequest::_internal_mutable_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BeginTransactionRequest.options) + if (consistency_selector_case() != kTransaction) { + clear_consistency_selector(); - _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::TransactionOptions* temp = _impl_.options_; - _impl_.options_ = nullptr; - return temp; + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitDefault(); + } + return _impl_.consistency_selector_.transaction_.Mutable( GetArena()); } -inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::_internal_mutable_options() { +inline std::string* RunQueryRequest::release_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.options_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::TransactionOptions>(GetArena()); - _impl_.options_ = reinterpret_cast<::google::firestore::v1::TransactionOptions*>(p); + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.transaction) + if (consistency_selector_case() != kTransaction) { + return nullptr; } - return _impl_.options_; -} -inline ::google::firestore::v1::TransactionOptions* BeginTransactionRequest::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::TransactionOptions* _msg = _internal_mutable_options(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BeginTransactionRequest.options) - return _msg; + clear_has_consistency_selector(); + return _impl_.consistency_selector_.transaction_.Release(); } -inline void BeginTransactionRequest::set_allocated_options(::google::firestore::v1::TransactionOptions* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void RunQueryRequest::set_allocated_transaction(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_); + if (has_consistency_selector()) { + clear_consistency_selector(); } - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; + set_has_transaction(); + _impl_.consistency_selector_.transaction_.InitAllocated(value, GetArena()); } - - _impl_.options_ = reinterpret_cast<::google::firestore::v1::TransactionOptions*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BeginTransactionRequest.options) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryRequest.transaction) } -// ------------------------------------------------------------------- - -// BeginTransactionResponse - -// bytes transaction = 1; -inline void BeginTransactionResponse::clear_transaction() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.transaction_.ClearToEmpty(); -} -inline const std::string& BeginTransactionResponse::transaction() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.BeginTransactionResponse.transaction) - return _internal_transaction(); +// .google.firestore.v1.TransactionOptions new_transaction = 6; +inline bool RunQueryRequest::has_new_transaction() const { + return consistency_selector_case() == kNewTransaction; } -template -inline PROTOBUF_ALWAYS_INLINE void BeginTransactionResponse::set_transaction(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.BeginTransactionResponse.transaction) +inline bool RunQueryRequest::_internal_has_new_transaction() const { + return consistency_selector_case() == kNewTransaction; } -inline std::string* BeginTransactionResponse::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.BeginTransactionResponse.transaction) - return _s; +inline void RunQueryRequest::set_has_new_transaction() { + _impl_._oneof_case_[1] = kNewTransaction; } -inline const std::string& BeginTransactionResponse::_internal_transaction() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.transaction_.Get(); +inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::release_new_transaction() { + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.new_transaction) + if (consistency_selector_case() == kNewTransaction) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.new_transaction_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.consistency_selector_.new_transaction_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline void BeginTransactionResponse::_internal_set_transaction(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.transaction_.Set(value, GetArena()); +inline const ::google::firestore::v1::TransactionOptions& RunQueryRequest::_internal_new_transaction() const { + return consistency_selector_case() == kNewTransaction ? *_impl_.consistency_selector_.new_transaction_ : reinterpret_cast<::google::firestore::v1::TransactionOptions&>(::google::firestore::v1::_TransactionOptions_default_instance_); } -inline std::string* BeginTransactionResponse::_internal_mutable_transaction() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.transaction_.Mutable( GetArena()); +inline const ::google::firestore::v1::TransactionOptions& RunQueryRequest::new_transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.new_transaction) + return _internal_new_transaction(); } -inline std::string* BeginTransactionResponse::release_transaction() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.BeginTransactionResponse.transaction) - return _impl_.transaction_.Release(); +inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::unsafe_arena_release_new_transaction() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.RunQueryRequest.new_transaction) + if (consistency_selector_case() == kNewTransaction) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.new_transaction_; + _impl_.consistency_selector_.new_transaction_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline void BeginTransactionResponse::set_allocated_transaction(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.transaction_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.transaction_.IsDefault()) { - _impl_.transaction_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.BeginTransactionResponse.transaction) +inline void RunQueryRequest::unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_consistency_selector(); + if (value) { + set_has_new_transaction(); + _impl_.consistency_selector_.new_transaction_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryRequest.new_transaction) } - -// ------------------------------------------------------------------- - -// CommitRequest - -// string database = 1; -inline void CommitRequest::clear_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.ClearToEmpty(); +inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::_internal_mutable_new_transaction() { + if (consistency_selector_case() != kNewTransaction) { + clear_consistency_selector(); + set_has_new_transaction(); + _impl_.consistency_selector_.new_transaction_ = CreateMaybeMessage<::google::firestore::v1::TransactionOptions>(GetArena()); + } + return _impl_.consistency_selector_.new_transaction_; } -inline const std::string& CommitRequest::database() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CommitRequest.database) - return _internal_database(); +inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::mutable_new_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::TransactionOptions* _msg = _internal_mutable_new_transaction(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.new_transaction) + return _msg; } -template -inline PROTOBUF_ALWAYS_INLINE void CommitRequest::set_database(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.CommitRequest.database) + +// .google.protobuf.Timestamp read_time = 7; +inline bool RunQueryRequest::has_read_time() const { + return consistency_selector_case() == kReadTime; } -inline std::string* CommitRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_database(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitRequest.database) - return _s; +inline bool RunQueryRequest::_internal_has_read_time() const { + return consistency_selector_case() == kReadTime; } -inline const std::string& CommitRequest::_internal_database() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.database_.Get(); +inline void RunQueryRequest::set_has_read_time() { + _impl_._oneof_case_[1] = kReadTime; } -inline void CommitRequest::_internal_set_database(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(value, GetArena()); +inline ::google::protobuf::Timestamp* RunQueryRequest::release_read_time() { + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.read_time) + if (consistency_selector_case() == kReadTime) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.read_time_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.consistency_selector_.read_time_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline std::string* CommitRequest::_internal_mutable_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.database_.Mutable( GetArena()); +inline const ::google::protobuf::Timestamp& RunQueryRequest::_internal_read_time() const { + return consistency_selector_case() == kReadTime ? *_impl_.consistency_selector_.read_time_ : reinterpret_cast<::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_); } -inline std::string* CommitRequest::release_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CommitRequest.database) - return _impl_.database_.Release(); +inline const ::google::protobuf::Timestamp& RunQueryRequest::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.read_time) + return _internal_read_time(); } -inline void CommitRequest::set_allocated_database(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.database_.IsDefault()) { - _impl_.database_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CommitRequest.database) +inline ::google::protobuf::Timestamp* RunQueryRequest::unsafe_arena_release_read_time() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.RunQueryRequest.read_time) + if (consistency_selector_case() == kReadTime) { + clear_has_consistency_selector(); + auto* temp = _impl_.consistency_selector_.read_time_; + _impl_.consistency_selector_.read_time_ = nullptr; + return temp; + } else { + return nullptr; + } } - -// repeated .google.firestore.v1.Write writes = 2; -inline int CommitRequest::_internal_writes_size() const { - return _internal_writes().size(); +inline void RunQueryRequest::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_consistency_selector(); + if (value) { + set_has_read_time(); + _impl_.consistency_selector_.read_time_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryRequest.read_time) } -inline int CommitRequest::writes_size() const { - return _internal_writes_size(); +inline ::google::protobuf::Timestamp* RunQueryRequest::_internal_mutable_read_time() { + if (consistency_selector_case() != kReadTime) { + clear_consistency_selector(); + set_has_read_time(); + _impl_.consistency_selector_.read_time_ = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); + } + return _impl_.consistency_selector_.read_time_; } -inline ::google::firestore::v1::Write* CommitRequest::mutable_writes(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitRequest.writes) - return _internal_mutable_writes()->Mutable(index); +inline ::google::protobuf::Timestamp* RunQueryRequest::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.read_time) + return _msg; } -inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* CommitRequest::mutable_writes() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.CommitRequest.writes) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_writes(); + +inline bool RunQueryRequest::has_query_type() const { + return query_type_case() != QUERY_TYPE_NOT_SET; } -inline const ::google::firestore::v1::Write& CommitRequest::writes(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CommitRequest.writes) - return _internal_writes().Get(index); +inline void RunQueryRequest::clear_has_query_type() { + _impl_._oneof_case_[0] = QUERY_TYPE_NOT_SET; } -inline ::google::firestore::v1::Write* CommitRequest::add_writes() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::google::firestore::v1::Write* _add = _internal_mutable_writes()->Add(); - // @@protoc_insertion_point(field_add:google.firestore.v1.CommitRequest.writes) - return _add; +inline bool RunQueryRequest::has_consistency_selector() const { + return consistency_selector_case() != CONSISTENCY_SELECTOR_NOT_SET; } -inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& CommitRequest::writes() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:google.firestore.v1.CommitRequest.writes) - return _internal_writes(); +inline void RunQueryRequest::clear_has_consistency_selector() { + _impl_._oneof_case_[1] = CONSISTENCY_SELECTOR_NOT_SET; } -inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>& -CommitRequest::_internal_writes() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.writes_; +inline RunQueryRequest::QueryTypeCase RunQueryRequest::query_type_case() const { + return RunQueryRequest::QueryTypeCase(_impl_._oneof_case_[0]); } -inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Write>* -CommitRequest::_internal_mutable_writes() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.writes_; +inline RunQueryRequest::ConsistencySelectorCase RunQueryRequest::consistency_selector_case() const { + return RunQueryRequest::ConsistencySelectorCase(_impl_._oneof_case_[1]); } +// ------------------------------------------------------------------- -// bytes transaction = 3; -inline void CommitRequest::clear_transaction() { +// RunQueryResponse + +// bytes transaction = 2; +inline void RunQueryResponse::clear_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.transaction_.ClearToEmpty(); } -inline const std::string& CommitRequest::transaction() const +inline const std::string& RunQueryResponse::transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CommitRequest.transaction) + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.transaction) return _internal_transaction(); } template -inline PROTOBUF_ALWAYS_INLINE void CommitRequest::set_transaction(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void RunQueryResponse::set_transaction(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.CommitRequest.transaction) + // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryResponse.transaction) } -inline std::string* CommitRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline std::string* RunQueryResponse::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitRequest.transaction) + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryResponse.transaction) return _s; } -inline const std::string& CommitRequest::_internal_transaction() const { +inline const std::string& RunQueryResponse::_internal_transaction() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.transaction_.Get(); } -inline void CommitRequest::_internal_set_transaction(const std::string& value) { +inline void RunQueryResponse::_internal_set_transaction(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.transaction_.Set(value, GetArena()); } -inline std::string* CommitRequest::_internal_mutable_transaction() { +inline std::string* RunQueryResponse::_internal_mutable_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; return _impl_.transaction_.Mutable( GetArena()); } -inline std::string* CommitRequest::release_transaction() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CommitRequest.transaction) - return _impl_.transaction_.Release(); -} -inline void CommitRequest::set_allocated_transaction(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.transaction_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.transaction_.IsDefault()) { - _impl_.transaction_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CommitRequest.transaction) -} - -// ------------------------------------------------------------------- - -// CommitResponse - -// repeated .google.firestore.v1.WriteResult write_results = 1; -inline int CommitResponse::_internal_write_results_size() const { - return _internal_write_results().size(); -} -inline int CommitResponse::write_results_size() const { - return _internal_write_results_size(); -} -inline ::google::firestore::v1::WriteResult* CommitResponse::mutable_write_results(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitResponse.write_results) - return _internal_mutable_write_results()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>* CommitResponse::mutable_write_results() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.CommitResponse.write_results) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_write_results(); -} -inline const ::google::firestore::v1::WriteResult& CommitResponse::write_results(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CommitResponse.write_results) - return _internal_write_results().Get(index); -} -inline ::google::firestore::v1::WriteResult* CommitResponse::add_write_results() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline std::string* RunQueryResponse::release_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::google::firestore::v1::WriteResult* _add = _internal_mutable_write_results()->Add(); - // @@protoc_insertion_point(field_add:google.firestore.v1.CommitResponse.write_results) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>& CommitResponse::write_results() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:google.firestore.v1.CommitResponse.write_results) - return _internal_write_results(); -} -inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>& -CommitResponse::_internal_write_results() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.write_results_; -} -inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::WriteResult>* -CommitResponse::_internal_mutable_write_results() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.write_results_; + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryResponse.transaction) + return _impl_.transaction_.Release(); +} +inline void RunQueryResponse::set_allocated_transaction(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.transaction_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.transaction_.IsDefault()) { + _impl_.transaction_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryResponse.transaction) } -// .google.protobuf.Timestamp commit_time = 2; -inline bool CommitResponse::has_commit_time() const { +// .google.firestore.v1.Document document = 1; +inline bool RunQueryResponse::has_document() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.commit_time_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.document_ != nullptr); return value; } -inline const ::google::protobuf::Timestamp& CommitResponse::_internal_commit_time() const { +inline const ::google::firestore::v1::Document& RunQueryResponse::_internal_document() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::protobuf::Timestamp* p = _impl_.commit_time_; - return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); + const ::google::firestore::v1::Document* p = _impl_.document_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Document_default_instance_); } -inline const ::google::protobuf::Timestamp& CommitResponse::commit_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.CommitResponse.commit_time) - return _internal_commit_time(); +inline const ::google::firestore::v1::Document& RunQueryResponse::document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.document) + return _internal_document(); } -inline void CommitResponse::unsafe_arena_set_allocated_commit_time(::google::protobuf::Timestamp* value) { +inline void RunQueryResponse::unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.commit_time_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); } - _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.CommitResponse.commit_time) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryResponse.document) } -inline ::google::protobuf::Timestamp* CommitResponse::release_commit_time() { +inline ::google::firestore::v1::Document* RunQueryResponse::release_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::google::protobuf::Timestamp* released = _impl_.commit_time_; - _impl_.commit_time_ = nullptr; + ::google::firestore::v1::Document* released = _impl_.document_; + _impl_.document_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -9889,34 +11052,34 @@ inline ::google::protobuf::Timestamp* CommitResponse::release_commit_time() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::protobuf::Timestamp* CommitResponse::unsafe_arena_release_commit_time() { +inline ::google::firestore::v1::Document* RunQueryResponse::unsafe_arena_release_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.CommitResponse.commit_time) + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryResponse.document) _impl_._has_bits_[0] &= ~0x00000001u; - ::google::protobuf::Timestamp* temp = _impl_.commit_time_; - _impl_.commit_time_ = nullptr; + ::google::firestore::v1::Document* temp = _impl_.document_; + _impl_.document_ = nullptr; return temp; } -inline ::google::protobuf::Timestamp* CommitResponse::_internal_mutable_commit_time() { +inline ::google::firestore::v1::Document* RunQueryResponse::_internal_mutable_document() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.commit_time_ == nullptr) { - auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); - _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p); + if (_impl_.document_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(p); } - return _impl_.commit_time_; + return _impl_.document_; } -inline ::google::protobuf::Timestamp* CommitResponse::mutable_commit_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::protobuf::Timestamp* _msg = _internal_mutable_commit_time(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.CommitResponse.commit_time) +inline ::google::firestore::v1::Document* RunQueryResponse::mutable_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Document* _msg = _internal_mutable_document(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryResponse.document) return _msg; } -inline void CommitResponse::set_allocated_commit_time(::google::protobuf::Timestamp* value) { +inline void RunQueryResponse::set_allocated_document(::google::firestore::v1::Document* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.commit_time_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); } if (value != nullptr) { @@ -9929,265 +11092,269 @@ inline void CommitResponse::set_allocated_commit_time(::google::protobuf::Timest _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.commit_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.CommitResponse.commit_time) + _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryResponse.document) } -// ------------------------------------------------------------------- - -// RollbackRequest - -// string database = 1; -inline void RollbackRequest::clear_database() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.ClearToEmpty(); -} -inline const std::string& RollbackRequest::database() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RollbackRequest.database) - return _internal_database(); +// .google.protobuf.Timestamp read_time = 3; +inline bool RunQueryResponse::has_read_time() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.read_time_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void RollbackRequest::set_database(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.RollbackRequest.database) +inline const ::google::protobuf::Timestamp& RunQueryResponse::_internal_read_time() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::google::protobuf::Timestamp* p = _impl_.read_time_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); } -inline std::string* RollbackRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_database(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RollbackRequest.database) - return _s; +inline const ::google::protobuf::Timestamp& RunQueryResponse::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.read_time) + return _internal_read_time(); } -inline const std::string& RollbackRequest::_internal_database() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.database_.Get(); +inline void RunQueryResponse::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); + } + _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryResponse.read_time) } -inline void RollbackRequest::_internal_set_database(const std::string& value) { +inline ::google::protobuf::Timestamp* RunQueryResponse::release_read_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.database_.Set(value, GetArena()); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::protobuf::Timestamp* released = _impl_.read_time_; + _impl_.read_time_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* RollbackRequest::_internal_mutable_database() { +inline ::google::protobuf::Timestamp* RunQueryResponse::unsafe_arena_release_read_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.database_.Mutable( GetArena()); + // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryResponse.read_time) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::protobuf::Timestamp* temp = _impl_.read_time_; + _impl_.read_time_ = nullptr; + return temp; } -inline std::string* RollbackRequest::release_database() { +inline ::google::protobuf::Timestamp* RunQueryResponse::_internal_mutable_read_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.RollbackRequest.database) - return _impl_.database_.Release(); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.read_time_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); + _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p); + } + return _impl_.read_time_; } -inline void RollbackRequest::set_allocated_database(std::string* value) { +inline ::google::protobuf::Timestamp* RunQueryResponse::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryResponse.read_time) + return _msg; +} +inline void RunQueryResponse::set_allocated_read_time(::google::protobuf::Timestamp* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.database_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.database_.IsDefault()) { - _impl_.database_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RollbackRequest.database) + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryResponse.read_time) } -// bytes transaction = 2; -inline void RollbackRequest::clear_transaction() { +// int32 skipped_results = 4; +inline void RunQueryResponse::clear_skipped_results() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.transaction_.ClearToEmpty(); -} -inline const std::string& RollbackRequest::transaction() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RollbackRequest.transaction) - return _internal_transaction(); + _impl_.skipped_results_ = 0; } -template -inline PROTOBUF_ALWAYS_INLINE void RollbackRequest::set_transaction(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.RollbackRequest.transaction) +inline ::int32_t RunQueryResponse::skipped_results() const { + // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.skipped_results) + return _internal_skipped_results(); } -inline std::string* RollbackRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RollbackRequest.transaction) - return _s; +inline void RunQueryResponse::set_skipped_results(::int32_t value) { + _internal_set_skipped_results(value); + // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryResponse.skipped_results) } -inline const std::string& RollbackRequest::_internal_transaction() const { +inline ::int32_t RunQueryResponse::_internal_skipped_results() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.transaction_.Get(); -} -inline void RollbackRequest::_internal_set_transaction(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.transaction_.Set(value, GetArena()); + return _impl_.skipped_results_; } -inline std::string* RollbackRequest::_internal_mutable_transaction() { +inline void RunQueryResponse::_internal_set_skipped_results(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.transaction_.Mutable( GetArena()); -} -inline std::string* RollbackRequest::release_transaction() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.RollbackRequest.transaction) - return _impl_.transaction_.Release(); -} -inline void RollbackRequest::set_allocated_transaction(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.transaction_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.transaction_.IsDefault()) { - _impl_.transaction_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RollbackRequest.transaction) + _impl_.skipped_results_ = value; } // ------------------------------------------------------------------- -// RunQueryRequest +// ExecutePipelineRequest -// string parent = 1; -inline void RunQueryRequest::clear_parent() { +// string database = 1 [(.google.api.field_behavior) = REQUIRED]; +inline void ExecutePipelineRequest::clear_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.parent_.ClearToEmpty(); + _impl_.database_.ClearToEmpty(); } -inline const std::string& RunQueryRequest::parent() const +inline const std::string& ExecutePipelineRequest::database() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.parent) - return _internal_parent(); + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineRequest.database) + return _internal_database(); } template -inline PROTOBUF_ALWAYS_INLINE void RunQueryRequest::set_parent(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void ExecutePipelineRequest::set_database(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.parent_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryRequest.parent) + _impl_.database_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.firestore.v1.ExecutePipelineRequest.database) } -inline std::string* RunQueryRequest::mutable_parent() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_parent(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.parent) +inline std::string* ExecutePipelineRequest::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_database(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineRequest.database) return _s; } -inline const std::string& RunQueryRequest::_internal_parent() const { +inline const std::string& ExecutePipelineRequest::_internal_database() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.parent_.Get(); + return _impl_.database_.Get(); } -inline void RunQueryRequest::_internal_set_parent(const std::string& value) { +inline void ExecutePipelineRequest::_internal_set_database(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.parent_.Set(value, GetArena()); + _impl_.database_.Set(value, GetArena()); } -inline std::string* RunQueryRequest::_internal_mutable_parent() { +inline std::string* ExecutePipelineRequest::_internal_mutable_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.parent_.Mutable( GetArena()); + return _impl_.database_.Mutable( GetArena()); } -inline std::string* RunQueryRequest::release_parent() { +inline std::string* ExecutePipelineRequest::release_database() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.parent) - return _impl_.parent_.Release(); + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineRequest.database) + return _impl_.database_.Release(); } -inline void RunQueryRequest::set_allocated_parent(std::string* value) { +inline void ExecutePipelineRequest::set_allocated_database(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.parent_.SetAllocated(value, GetArena()); + _impl_.database_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.parent_.IsDefault()) { - _impl_.parent_.Set("", GetArena()); + if (_impl_.database_.IsDefault()) { + _impl_.database_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryRequest.parent) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineRequest.database) } -// .google.firestore.v1.StructuredQuery structured_query = 2; -inline bool RunQueryRequest::has_structured_query() const { - return query_type_case() == kStructuredQuery; +// .google.firestore.v1.StructuredPipeline structured_pipeline = 2; +inline bool ExecutePipelineRequest::has_structured_pipeline() const { + return pipeline_type_case() == kStructuredPipeline; } -inline bool RunQueryRequest::_internal_has_structured_query() const { - return query_type_case() == kStructuredQuery; +inline bool ExecutePipelineRequest::_internal_has_structured_pipeline() const { + return pipeline_type_case() == kStructuredPipeline; } -inline void RunQueryRequest::set_has_structured_query() { - _impl_._oneof_case_[0] = kStructuredQuery; +inline void ExecutePipelineRequest::set_has_structured_pipeline() { + _impl_._oneof_case_[0] = kStructuredPipeline; } -inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::release_structured_query() { - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.structured_query) - if (query_type_case() == kStructuredQuery) { - clear_has_query_type(); - auto* temp = _impl_.query_type_.structured_query_; +inline ::google::firestore::v1::StructuredPipeline* ExecutePipelineRequest::release_structured_pipeline() { + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineRequest.structured_pipeline) + if (pipeline_type_case() == kStructuredPipeline) { + clear_has_pipeline_type(); + auto* temp = _impl_.pipeline_type_.structured_pipeline_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.query_type_.structured_query_ = nullptr; + _impl_.pipeline_type_.structured_pipeline_ = nullptr; return temp; } else { return nullptr; } } -inline const ::google::firestore::v1::StructuredQuery& RunQueryRequest::_internal_structured_query() const { - return query_type_case() == kStructuredQuery ? *_impl_.query_type_.structured_query_ : reinterpret_cast<::google::firestore::v1::StructuredQuery&>(::google::firestore::v1::_StructuredQuery_default_instance_); +inline const ::google::firestore::v1::StructuredPipeline& ExecutePipelineRequest::_internal_structured_pipeline() const { + return pipeline_type_case() == kStructuredPipeline ? *_impl_.pipeline_type_.structured_pipeline_ : reinterpret_cast<::google::firestore::v1::StructuredPipeline&>(::google::firestore::v1::_StructuredPipeline_default_instance_); } -inline const ::google::firestore::v1::StructuredQuery& RunQueryRequest::structured_query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.structured_query) - return _internal_structured_query(); +inline const ::google::firestore::v1::StructuredPipeline& ExecutePipelineRequest::structured_pipeline() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineRequest.structured_pipeline) + return _internal_structured_pipeline(); } -inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::unsafe_arena_release_structured_query() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.RunQueryRequest.structured_query) - if (query_type_case() == kStructuredQuery) { - clear_has_query_type(); - auto* temp = _impl_.query_type_.structured_query_; - _impl_.query_type_.structured_query_ = nullptr; +inline ::google::firestore::v1::StructuredPipeline* ExecutePipelineRequest::unsafe_arena_release_structured_pipeline() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.ExecutePipelineRequest.structured_pipeline) + if (pipeline_type_case() == kStructuredPipeline) { + clear_has_pipeline_type(); + auto* temp = _impl_.pipeline_type_.structured_pipeline_; + _impl_.pipeline_type_.structured_pipeline_ = nullptr; return temp; } else { return nullptr; } } -inline void RunQueryRequest::unsafe_arena_set_allocated_structured_query(::google::firestore::v1::StructuredQuery* value) { +inline void ExecutePipelineRequest::unsafe_arena_set_allocated_structured_pipeline(::google::firestore::v1::StructuredPipeline* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. - clear_query_type(); + clear_pipeline_type(); if (value) { - set_has_structured_query(); - _impl_.query_type_.structured_query_ = value; + set_has_structured_pipeline(); + _impl_.pipeline_type_.structured_pipeline_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryRequest.structured_query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.ExecutePipelineRequest.structured_pipeline) } -inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::_internal_mutable_structured_query() { - if (query_type_case() != kStructuredQuery) { - clear_query_type(); - set_has_structured_query(); - _impl_.query_type_.structured_query_ = CreateMaybeMessage<::google::firestore::v1::StructuredQuery>(GetArena()); +inline ::google::firestore::v1::StructuredPipeline* ExecutePipelineRequest::_internal_mutable_structured_pipeline() { + if (pipeline_type_case() != kStructuredPipeline) { + clear_pipeline_type(); + set_has_structured_pipeline(); + _impl_.pipeline_type_.structured_pipeline_ = CreateMaybeMessage<::google::firestore::v1::StructuredPipeline>(GetArena()); } - return _impl_.query_type_.structured_query_; + return _impl_.pipeline_type_.structured_pipeline_; } -inline ::google::firestore::v1::StructuredQuery* RunQueryRequest::mutable_structured_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::StructuredQuery* _msg = _internal_mutable_structured_query(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.structured_query) +inline ::google::firestore::v1::StructuredPipeline* ExecutePipelineRequest::mutable_structured_pipeline() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::StructuredPipeline* _msg = _internal_mutable_structured_pipeline(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineRequest.structured_pipeline) return _msg; } // bytes transaction = 5; -inline bool RunQueryRequest::has_transaction() const { +inline bool ExecutePipelineRequest::has_transaction() const { return consistency_selector_case() == kTransaction; } -inline void RunQueryRequest::set_has_transaction() { +inline void ExecutePipelineRequest::set_has_transaction() { _impl_._oneof_case_[1] = kTransaction; } -inline void RunQueryRequest::clear_transaction() { +inline void ExecutePipelineRequest::clear_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (consistency_selector_case() == kTransaction) { _impl_.consistency_selector_.transaction_.Destroy(); clear_has_consistency_selector(); } } -inline const std::string& RunQueryRequest::transaction() const +inline const std::string& ExecutePipelineRequest::transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.transaction) + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineRequest.transaction) return _internal_transaction(); } template -inline PROTOBUF_ALWAYS_INLINE void RunQueryRequest::set_transaction(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void ExecutePipelineRequest::set_transaction(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (consistency_selector_case() != kTransaction) { @@ -10197,21 +11364,21 @@ inline PROTOBUF_ALWAYS_INLINE void RunQueryRequest::set_transaction(Arg_&& arg, _impl_.consistency_selector_.transaction_.InitDefault(); } _impl_.consistency_selector_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryRequest.transaction) + // @@protoc_insertion_point(field_set:google.firestore.v1.ExecutePipelineRequest.transaction) } -inline std::string* RunQueryRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline std::string* ExecutePipelineRequest::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.transaction) + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineRequest.transaction) return _s; } -inline const std::string& RunQueryRequest::_internal_transaction() const { +inline const std::string& ExecutePipelineRequest::_internal_transaction() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); if (consistency_selector_case() != kTransaction) { return ::google::protobuf::internal::GetEmptyStringAlreadyInited(); } return _impl_.consistency_selector_.transaction_.Get(); } -inline void RunQueryRequest::_internal_set_transaction(const std::string& value) { +inline void ExecutePipelineRequest::_internal_set_transaction(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (consistency_selector_case() != kTransaction) { clear_consistency_selector(); @@ -10221,7 +11388,7 @@ inline void RunQueryRequest::_internal_set_transaction(const std::string& value) } _impl_.consistency_selector_.transaction_.Set(value, GetArena()); } -inline std::string* RunQueryRequest::_internal_mutable_transaction() { +inline std::string* ExecutePipelineRequest::_internal_mutable_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (consistency_selector_case() != kTransaction) { clear_consistency_selector(); @@ -10231,16 +11398,16 @@ inline std::string* RunQueryRequest::_internal_mutable_transaction() { } return _impl_.consistency_selector_.transaction_.Mutable( GetArena()); } -inline std::string* RunQueryRequest::release_transaction() { +inline std::string* ExecutePipelineRequest::release_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.transaction) + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineRequest.transaction) if (consistency_selector_case() != kTransaction) { return nullptr; } clear_has_consistency_selector(); return _impl_.consistency_selector_.transaction_.Release(); } -inline void RunQueryRequest::set_allocated_transaction(std::string* value) { +inline void ExecutePipelineRequest::set_allocated_transaction(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (has_consistency_selector()) { clear_consistency_selector(); @@ -10249,21 +11416,21 @@ inline void RunQueryRequest::set_allocated_transaction(std::string* value) { set_has_transaction(); _impl_.consistency_selector_.transaction_.InitAllocated(value, GetArena()); } - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryRequest.transaction) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineRequest.transaction) } // .google.firestore.v1.TransactionOptions new_transaction = 6; -inline bool RunQueryRequest::has_new_transaction() const { +inline bool ExecutePipelineRequest::has_new_transaction() const { return consistency_selector_case() == kNewTransaction; } -inline bool RunQueryRequest::_internal_has_new_transaction() const { +inline bool ExecutePipelineRequest::_internal_has_new_transaction() const { return consistency_selector_case() == kNewTransaction; } -inline void RunQueryRequest::set_has_new_transaction() { +inline void ExecutePipelineRequest::set_has_new_transaction() { _impl_._oneof_case_[1] = kNewTransaction; } -inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::release_new_transaction() { - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.new_transaction) +inline ::google::firestore::v1::TransactionOptions* ExecutePipelineRequest::release_new_transaction() { + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineRequest.new_transaction) if (consistency_selector_case() == kNewTransaction) { clear_has_consistency_selector(); auto* temp = _impl_.consistency_selector_.new_transaction_; @@ -10276,15 +11443,15 @@ inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::release_new return nullptr; } } -inline const ::google::firestore::v1::TransactionOptions& RunQueryRequest::_internal_new_transaction() const { +inline const ::google::firestore::v1::TransactionOptions& ExecutePipelineRequest::_internal_new_transaction() const { return consistency_selector_case() == kNewTransaction ? *_impl_.consistency_selector_.new_transaction_ : reinterpret_cast<::google::firestore::v1::TransactionOptions&>(::google::firestore::v1::_TransactionOptions_default_instance_); } -inline const ::google::firestore::v1::TransactionOptions& RunQueryRequest::new_transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.new_transaction) +inline const ::google::firestore::v1::TransactionOptions& ExecutePipelineRequest::new_transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineRequest.new_transaction) return _internal_new_transaction(); } -inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::unsafe_arena_release_new_transaction() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.RunQueryRequest.new_transaction) +inline ::google::firestore::v1::TransactionOptions* ExecutePipelineRequest::unsafe_arena_release_new_transaction() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.ExecutePipelineRequest.new_transaction) if (consistency_selector_case() == kNewTransaction) { clear_has_consistency_selector(); auto* temp = _impl_.consistency_selector_.new_transaction_; @@ -10294,7 +11461,7 @@ inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::unsafe_aren return nullptr; } } -inline void RunQueryRequest::unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value) { +inline void ExecutePipelineRequest::unsafe_arena_set_allocated_new_transaction(::google::firestore::v1::TransactionOptions* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. @@ -10303,9 +11470,9 @@ inline void RunQueryRequest::unsafe_arena_set_allocated_new_transaction(::google set_has_new_transaction(); _impl_.consistency_selector_.new_transaction_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryRequest.new_transaction) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.ExecutePipelineRequest.new_transaction) } -inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::_internal_mutable_new_transaction() { +inline ::google::firestore::v1::TransactionOptions* ExecutePipelineRequest::_internal_mutable_new_transaction() { if (consistency_selector_case() != kNewTransaction) { clear_consistency_selector(); set_has_new_transaction(); @@ -10313,24 +11480,24 @@ inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::_internal_m } return _impl_.consistency_selector_.new_transaction_; } -inline ::google::firestore::v1::TransactionOptions* RunQueryRequest::mutable_new_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::google::firestore::v1::TransactionOptions* ExecutePipelineRequest::mutable_new_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::google::firestore::v1::TransactionOptions* _msg = _internal_mutable_new_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.new_transaction) + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineRequest.new_transaction) return _msg; } // .google.protobuf.Timestamp read_time = 7; -inline bool RunQueryRequest::has_read_time() const { +inline bool ExecutePipelineRequest::has_read_time() const { return consistency_selector_case() == kReadTime; } -inline bool RunQueryRequest::_internal_has_read_time() const { +inline bool ExecutePipelineRequest::_internal_has_read_time() const { return consistency_selector_case() == kReadTime; } -inline void RunQueryRequest::set_has_read_time() { +inline void ExecutePipelineRequest::set_has_read_time() { _impl_._oneof_case_[1] = kReadTime; } -inline ::google::protobuf::Timestamp* RunQueryRequest::release_read_time() { - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryRequest.read_time) +inline ::google::protobuf::Timestamp* ExecutePipelineRequest::release_read_time() { + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineRequest.read_time) if (consistency_selector_case() == kReadTime) { clear_has_consistency_selector(); auto* temp = _impl_.consistency_selector_.read_time_; @@ -10343,15 +11510,15 @@ inline ::google::protobuf::Timestamp* RunQueryRequest::release_read_time() { return nullptr; } } -inline const ::google::protobuf::Timestamp& RunQueryRequest::_internal_read_time() const { +inline const ::google::protobuf::Timestamp& ExecutePipelineRequest::_internal_read_time() const { return consistency_selector_case() == kReadTime ? *_impl_.consistency_selector_.read_time_ : reinterpret_cast<::google::protobuf::Timestamp&>(::google::protobuf::_Timestamp_default_instance_); } -inline const ::google::protobuf::Timestamp& RunQueryRequest::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryRequest.read_time) +inline const ::google::protobuf::Timestamp& ExecutePipelineRequest::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineRequest.read_time) return _internal_read_time(); } -inline ::google::protobuf::Timestamp* RunQueryRequest::unsafe_arena_release_read_time() { - // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.RunQueryRequest.read_time) +inline ::google::protobuf::Timestamp* ExecutePipelineRequest::unsafe_arena_release_read_time() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.firestore.v1.ExecutePipelineRequest.read_time) if (consistency_selector_case() == kReadTime) { clear_has_consistency_selector(); auto* temp = _impl_.consistency_selector_.read_time_; @@ -10361,7 +11528,7 @@ inline ::google::protobuf::Timestamp* RunQueryRequest::unsafe_arena_release_read return nullptr; } } -inline void RunQueryRequest::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { +inline void ExecutePipelineRequest::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. @@ -10370,9 +11537,9 @@ inline void RunQueryRequest::unsafe_arena_set_allocated_read_time(::google::prot set_has_read_time(); _impl_.consistency_selector_.read_time_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryRequest.read_time) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.ExecutePipelineRequest.read_time) } -inline ::google::protobuf::Timestamp* RunQueryRequest::_internal_mutable_read_time() { +inline ::google::protobuf::Timestamp* ExecutePipelineRequest::_internal_mutable_read_time() { if (consistency_selector_case() != kReadTime) { clear_consistency_selector(); set_has_read_time(); @@ -10380,77 +11547,77 @@ inline ::google::protobuf::Timestamp* RunQueryRequest::_internal_mutable_read_ti } return _impl_.consistency_selector_.read_time_; } -inline ::google::protobuf::Timestamp* RunQueryRequest::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::google::protobuf::Timestamp* ExecutePipelineRequest::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryRequest.read_time) + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineRequest.read_time) return _msg; } -inline bool RunQueryRequest::has_query_type() const { - return query_type_case() != QUERY_TYPE_NOT_SET; +inline bool ExecutePipelineRequest::has_pipeline_type() const { + return pipeline_type_case() != PIPELINE_TYPE_NOT_SET; } -inline void RunQueryRequest::clear_has_query_type() { - _impl_._oneof_case_[0] = QUERY_TYPE_NOT_SET; +inline void ExecutePipelineRequest::clear_has_pipeline_type() { + _impl_._oneof_case_[0] = PIPELINE_TYPE_NOT_SET; } -inline bool RunQueryRequest::has_consistency_selector() const { +inline bool ExecutePipelineRequest::has_consistency_selector() const { return consistency_selector_case() != CONSISTENCY_SELECTOR_NOT_SET; } -inline void RunQueryRequest::clear_has_consistency_selector() { +inline void ExecutePipelineRequest::clear_has_consistency_selector() { _impl_._oneof_case_[1] = CONSISTENCY_SELECTOR_NOT_SET; } -inline RunQueryRequest::QueryTypeCase RunQueryRequest::query_type_case() const { - return RunQueryRequest::QueryTypeCase(_impl_._oneof_case_[0]); +inline ExecutePipelineRequest::PipelineTypeCase ExecutePipelineRequest::pipeline_type_case() const { + return ExecutePipelineRequest::PipelineTypeCase(_impl_._oneof_case_[0]); } -inline RunQueryRequest::ConsistencySelectorCase RunQueryRequest::consistency_selector_case() const { - return RunQueryRequest::ConsistencySelectorCase(_impl_._oneof_case_[1]); +inline ExecutePipelineRequest::ConsistencySelectorCase ExecutePipelineRequest::consistency_selector_case() const { + return ExecutePipelineRequest::ConsistencySelectorCase(_impl_._oneof_case_[1]); } // ------------------------------------------------------------------- -// RunQueryResponse +// ExecutePipelineResponse -// bytes transaction = 2; -inline void RunQueryResponse::clear_transaction() { +// bytes transaction = 1; +inline void ExecutePipelineResponse::clear_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.transaction_.ClearToEmpty(); } -inline const std::string& RunQueryResponse::transaction() const +inline const std::string& ExecutePipelineResponse::transaction() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.transaction) + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineResponse.transaction) return _internal_transaction(); } template -inline PROTOBUF_ALWAYS_INLINE void RunQueryResponse::set_transaction(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void ExecutePipelineResponse::set_transaction(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.transaction_.SetBytes(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryResponse.transaction) + // @@protoc_insertion_point(field_set:google.firestore.v1.ExecutePipelineResponse.transaction) } -inline std::string* RunQueryResponse::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline std::string* ExecutePipelineResponse::mutable_transaction() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_transaction(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryResponse.transaction) + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineResponse.transaction) return _s; } -inline const std::string& RunQueryResponse::_internal_transaction() const { +inline const std::string& ExecutePipelineResponse::_internal_transaction() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.transaction_.Get(); } -inline void RunQueryResponse::_internal_set_transaction(const std::string& value) { +inline void ExecutePipelineResponse::_internal_set_transaction(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.transaction_.Set(value, GetArena()); } -inline std::string* RunQueryResponse::_internal_mutable_transaction() { +inline std::string* ExecutePipelineResponse::_internal_mutable_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; return _impl_.transaction_.Mutable( GetArena()); } -inline std::string* RunQueryResponse::release_transaction() { +inline std::string* ExecutePipelineResponse::release_transaction() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryResponse.transaction) + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineResponse.transaction) return _impl_.transaction_.Release(); } -inline void RunQueryResponse::set_allocated_transaction(std::string* value) { +inline void ExecutePipelineResponse::set_allocated_transaction(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.transaction_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING @@ -10458,43 +11625,88 @@ inline void RunQueryResponse::set_allocated_transaction(std::string* value) { _impl_.transaction_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryResponse.transaction) + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineResponse.transaction) } -// .google.firestore.v1.Document document = 1; -inline bool RunQueryResponse::has_document() const { +// repeated .google.firestore.v1.Document results = 2; +inline int ExecutePipelineResponse::_internal_results_size() const { + return _internal_results().size(); +} +inline int ExecutePipelineResponse::results_size() const { + return _internal_results_size(); +} +inline ::google::firestore::v1::Document* ExecutePipelineResponse::mutable_results(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineResponse.results) + return _internal_mutable_results()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>* ExecutePipelineResponse::mutable_results() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:google.firestore.v1.ExecutePipelineResponse.results) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_results(); +} +inline const ::google::firestore::v1::Document& ExecutePipelineResponse::results(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineResponse.results) + return _internal_results().Get(index); +} +inline ::google::firestore::v1::Document* ExecutePipelineResponse::add_results() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::google::firestore::v1::Document* _add = _internal_mutable_results()->Add(); + // @@protoc_insertion_point(field_add:google.firestore.v1.ExecutePipelineResponse.results) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>& ExecutePipelineResponse::results() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:google.firestore.v1.ExecutePipelineResponse.results) + return _internal_results(); +} +inline const ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>& +ExecutePipelineResponse::_internal_results() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.results_; +} +inline ::google::protobuf::RepeatedPtrField<::google::firestore::v1::Document>* +ExecutePipelineResponse::_internal_mutable_results() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.results_; +} + +// .google.protobuf.Timestamp execution_time = 3; +inline bool ExecutePipelineResponse::has_execution_time() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.document_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.execution_time_ != nullptr); return value; } -inline const ::google::firestore::v1::Document& RunQueryResponse::_internal_document() const { +inline const ::google::protobuf::Timestamp& ExecutePipelineResponse::_internal_execution_time() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::firestore::v1::Document* p = _impl_.document_; - return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Document_default_instance_); + const ::google::protobuf::Timestamp* p = _impl_.execution_time_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); } -inline const ::google::firestore::v1::Document& RunQueryResponse::document() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.document) - return _internal_document(); +inline const ::google::protobuf::Timestamp& ExecutePipelineResponse::execution_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineResponse.execution_time) + return _internal_execution_time(); } -inline void RunQueryResponse::unsafe_arena_set_allocated_document(::google::firestore::v1::Document* value) { +inline void ExecutePipelineResponse::unsafe_arena_set_allocated_execution_time(::google::protobuf::Timestamp* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.execution_time_); } - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); + _impl_.execution_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryResponse.document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.ExecutePipelineResponse.execution_time) } -inline ::google::firestore::v1::Document* RunQueryResponse::release_document() { +inline ::google::protobuf::Timestamp* ExecutePipelineResponse::release_execution_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Document* released = _impl_.document_; - _impl_.document_ = nullptr; + ::google::protobuf::Timestamp* released = _impl_.execution_time_; + _impl_.execution_time_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -10508,34 +11720,34 @@ inline ::google::firestore::v1::Document* RunQueryResponse::release_document() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::firestore::v1::Document* RunQueryResponse::unsafe_arena_release_document() { +inline ::google::protobuf::Timestamp* ExecutePipelineResponse::unsafe_arena_release_execution_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryResponse.document) + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineResponse.execution_time) _impl_._has_bits_[0] &= ~0x00000001u; - ::google::firestore::v1::Document* temp = _impl_.document_; - _impl_.document_ = nullptr; + ::google::protobuf::Timestamp* temp = _impl_.execution_time_; + _impl_.execution_time_ = nullptr; return temp; } -inline ::google::firestore::v1::Document* RunQueryResponse::_internal_mutable_document() { +inline ::google::protobuf::Timestamp* ExecutePipelineResponse::_internal_mutable_execution_time() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.document_ == nullptr) { - auto* p = CreateMaybeMessage<::google::firestore::v1::Document>(GetArena()); - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(p); + if (_impl_.execution_time_ == nullptr) { + auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); + _impl_.execution_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p); } - return _impl_.document_; + return _impl_.execution_time_; } -inline ::google::firestore::v1::Document* RunQueryResponse::mutable_document() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::firestore::v1::Document* _msg = _internal_mutable_document(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryResponse.document) +inline ::google::protobuf::Timestamp* ExecutePipelineResponse::mutable_execution_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::Timestamp* _msg = _internal_mutable_execution_time(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineResponse.execution_time) return _msg; } -inline void RunQueryResponse::set_allocated_document(::google::firestore::v1::Document* value) { +inline void ExecutePipelineResponse::set_allocated_execution_time(::google::protobuf::Timestamp* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.document_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.execution_time_); } if (value != nullptr) { @@ -10548,44 +11760,44 @@ inline void RunQueryResponse::set_allocated_document(::google::firestore::v1::Do _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.document_ = reinterpret_cast<::google::firestore::v1::Document*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryResponse.document) + _impl_.execution_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineResponse.execution_time) } -// .google.protobuf.Timestamp read_time = 3; -inline bool RunQueryResponse::has_read_time() const { +// .google.firestore.v1.ExplainStats explain_stats = 4; +inline bool ExecutePipelineResponse::has_explain_stats() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.read_time_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.explain_stats_ != nullptr); return value; } -inline const ::google::protobuf::Timestamp& RunQueryResponse::_internal_read_time() const { +inline const ::google::firestore::v1::ExplainStats& ExecutePipelineResponse::_internal_explain_stats() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::google::protobuf::Timestamp* p = _impl_.read_time_; - return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_Timestamp_default_instance_); + const ::google::firestore::v1::ExplainStats* p = _impl_.explain_stats_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_ExplainStats_default_instance_); } -inline const ::google::protobuf::Timestamp& RunQueryResponse::read_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.read_time) - return _internal_read_time(); +inline const ::google::firestore::v1::ExplainStats& ExecutePipelineResponse::explain_stats() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.ExecutePipelineResponse.explain_stats) + return _internal_explain_stats(); } -inline void RunQueryResponse::unsafe_arena_set_allocated_read_time(::google::protobuf::Timestamp* value) { +inline void ExecutePipelineResponse::unsafe_arena_set_allocated_explain_stats(::google::firestore::v1::ExplainStats* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.explain_stats_); } - _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); + _impl_.explain_stats_ = reinterpret_cast<::google::firestore::v1::ExplainStats*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.RunQueryResponse.read_time) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.ExecutePipelineResponse.explain_stats) } -inline ::google::protobuf::Timestamp* RunQueryResponse::release_read_time() { +inline ::google::firestore::v1::ExplainStats* ExecutePipelineResponse::release_explain_stats() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::google::protobuf::Timestamp* released = _impl_.read_time_; - _impl_.read_time_ = nullptr; + ::google::firestore::v1::ExplainStats* released = _impl_.explain_stats_; + _impl_.explain_stats_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -10599,34 +11811,34 @@ inline ::google::protobuf::Timestamp* RunQueryResponse::release_read_time() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::google::protobuf::Timestamp* RunQueryResponse::unsafe_arena_release_read_time() { +inline ::google::firestore::v1::ExplainStats* ExecutePipelineResponse::unsafe_arena_release_explain_stats() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:google.firestore.v1.RunQueryResponse.read_time) + // @@protoc_insertion_point(field_release:google.firestore.v1.ExecutePipelineResponse.explain_stats) _impl_._has_bits_[0] &= ~0x00000002u; - ::google::protobuf::Timestamp* temp = _impl_.read_time_; - _impl_.read_time_ = nullptr; + ::google::firestore::v1::ExplainStats* temp = _impl_.explain_stats_; + _impl_.explain_stats_ = nullptr; return temp; } -inline ::google::protobuf::Timestamp* RunQueryResponse::_internal_mutable_read_time() { +inline ::google::firestore::v1::ExplainStats* ExecutePipelineResponse::_internal_mutable_explain_stats() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.read_time_ == nullptr) { - auto* p = CreateMaybeMessage<::google::protobuf::Timestamp>(GetArena()); - _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p); + if (_impl_.explain_stats_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::ExplainStats>(GetArena()); + _impl_.explain_stats_ = reinterpret_cast<::google::firestore::v1::ExplainStats*>(p); } - return _impl_.read_time_; + return _impl_.explain_stats_; } -inline ::google::protobuf::Timestamp* RunQueryResponse::mutable_read_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::google::protobuf::Timestamp* _msg = _internal_mutable_read_time(); - // @@protoc_insertion_point(field_mutable:google.firestore.v1.RunQueryResponse.read_time) +inline ::google::firestore::v1::ExplainStats* ExecutePipelineResponse::mutable_explain_stats() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::ExplainStats* _msg = _internal_mutable_explain_stats(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.ExecutePipelineResponse.explain_stats) return _msg; } -inline void RunQueryResponse::set_allocated_read_time(::google::protobuf::Timestamp* value) { +inline void ExecutePipelineResponse::set_allocated_explain_stats(::google::firestore::v1::ExplainStats* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.read_time_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.explain_stats_); } if (value != nullptr) { @@ -10639,31 +11851,8 @@ inline void RunQueryResponse::set_allocated_read_time(::google::protobuf::Timest _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.read_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value); - // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.RunQueryResponse.read_time) -} - -// int32 skipped_results = 4; -inline void RunQueryResponse::clear_skipped_results() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.skipped_results_ = 0; -} -inline ::int32_t RunQueryResponse::skipped_results() const { - // @@protoc_insertion_point(field_get:google.firestore.v1.RunQueryResponse.skipped_results) - return _internal_skipped_results(); -} -inline void RunQueryResponse::set_skipped_results(::int32_t value) { - _internal_set_skipped_results(value); - // @@protoc_insertion_point(field_set:google.firestore.v1.RunQueryResponse.skipped_results) -} -inline ::int32_t RunQueryResponse::_internal_skipped_results() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.skipped_results_; -} -inline void RunQueryResponse::_internal_set_skipped_results(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.skipped_results_ = value; + _impl_.explain_stats_ = reinterpret_cast<::google::firestore::v1::ExplainStats*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.ExecutePipelineResponse.explain_stats) } // ------------------------------------------------------------------- diff --git a/Firestore/Protos/cpp/google/firestore/v1/pipeline.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/pipeline.pb.cc new file mode 100644 index 00000000000..db718366205 --- /dev/null +++ b/Firestore/Protos/cpp/google/firestore/v1/pipeline.pb.cc @@ -0,0 +1,466 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/firestore/v1/pipeline.proto + +#include "google/firestore/v1/pipeline.pb.h" + +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +#include "google/protobuf/generated_message_tctable_impl.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace google { +namespace firestore { +namespace v1 { + template +PROTOBUF_CONSTEXPR StructuredPipeline_OptionsEntry_DoNotUse::StructuredPipeline_OptionsEntry_DoNotUse(::_pbi::ConstantInitialized) {} +struct StructuredPipeline_OptionsEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR StructuredPipeline_OptionsEntry_DoNotUseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~StructuredPipeline_OptionsEntry_DoNotUseDefaultTypeInternal() {} + union { + StructuredPipeline_OptionsEntry_DoNotUse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StructuredPipeline_OptionsEntry_DoNotUseDefaultTypeInternal _StructuredPipeline_OptionsEntry_DoNotUse_default_instance_; + +inline constexpr StructuredPipeline::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + options_{}, + pipeline_{nullptr} {} + +template +PROTOBUF_CONSTEXPR StructuredPipeline::StructuredPipeline(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct StructuredPipelineDefaultTypeInternal { + PROTOBUF_CONSTEXPR StructuredPipelineDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~StructuredPipelineDefaultTypeInternal() {} + union { + StructuredPipeline _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StructuredPipelineDefaultTypeInternal _StructuredPipeline_default_instance_; +} // namespace v1 +} // namespace firestore +} // namespace google +static ::_pb::Metadata file_level_metadata_google_2ffirestore_2fv1_2fpipeline_2eproto[2]; +static constexpr const ::_pb::EnumDescriptor** + file_level_enum_descriptors_google_2ffirestore_2fv1_2fpipeline_2eproto = nullptr; +static constexpr const ::_pb::ServiceDescriptor** + file_level_service_descriptors_google_2ffirestore_2fv1_2fpipeline_2eproto = nullptr; +const ::uint32_t TableStruct_google_2ffirestore_2fv1_2fpipeline_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE( + protodesc_cold) = { + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline_OptionsEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline_OptionsEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline_OptionsEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline_OptionsEntry_DoNotUse, value_), + 0, + 1, + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline, _impl_.pipeline_), + PROTOBUF_FIELD_OFFSET(::google::firestore::v1::StructuredPipeline, _impl_.options_), + 0, + ~0u, +}; + +static const ::_pbi::MigrationSchema + schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + {0, 10, -1, sizeof(::google::firestore::v1::StructuredPipeline_OptionsEntry_DoNotUse)}, + {12, 22, -1, sizeof(::google::firestore::v1::StructuredPipeline)}, +}; + +static const ::_pb::Message* const file_default_instances[] = { + &::google::firestore::v1::_StructuredPipeline_OptionsEntry_DoNotUse_default_instance_._instance, + &::google::firestore::v1::_StructuredPipeline_default_instance_._instance, +}; +const char descriptor_table_protodef_google_2ffirestore_2fv1_2fpipeline_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + "\n\"google/firestore/v1/pipeline.proto\022\023go" + "ogle.firestore.v1\032\037google/api/field_beha" + "vior.proto\032\"google/firestore/v1/document" + ".proto\"\342\001\n\022StructuredPipeline\0224\n\010pipelin" + "e\030\001 \001(\0132\035.google.firestore.v1.PipelineB\003" + "\340A\002\022J\n\007options\030\002 \003(\01324.google.firestore." + "v1.StructuredPipeline.OptionsEntryB\003\340A\001\032" + "J\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022)\n\005value\030\002 " + "\001(\0132\032.google.firestore.v1.Value:\0028\001B\305\001\n\027" + "com.google.firestore.v1B\rPipelineProtoP\001" + "Z;cloud.google.com/go/firestore/apiv1/fi" + "restorepb;firestorepb\242\002\004GCFS\252\002\031Google.Cl" + "oud.Firestore.V1\312\002\031Google\\Cloud\\Firestor" + "e\\V1\352\002\034Google::Cloud::Firestore::V1b\006pro" + "to3" +}; +static const ::_pbi::DescriptorTable* const descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_deps[2] = + { + &::descriptor_table_google_2fapi_2ffield_5fbehavior_2eproto, + &::descriptor_table_google_2ffirestore_2fv1_2fdocument_2eproto, +}; +static ::absl::once_flag descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto = { + false, + false, + 563, + descriptor_table_protodef_google_2ffirestore_2fv1_2fpipeline_2eproto, + "google/firestore/v1/pipeline.proto", + &descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_once, + descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_deps, + 2, + 2, + schemas, + file_default_instances, + TableStruct_google_2ffirestore_2fv1_2fpipeline_2eproto::offsets, + file_level_metadata_google_2ffirestore_2fv1_2fpipeline_2eproto, + file_level_enum_descriptors_google_2ffirestore_2fv1_2fpipeline_2eproto, + file_level_service_descriptors_google_2ffirestore_2fv1_2fpipeline_2eproto, +}; + +// This function exists to be marked as weak. +// It can significantly speed up compilation by breaking up LLVM's SCC +// in the .pb.cc translation units. Large translation units see a +// reduction of more than 35% of walltime for optimized builds. Without +// the weak attribute all the messages in the file, including all the +// vtables and everything they use become part of the same SCC through +// a cycle like: +// GetMetadata -> descriptor table -> default instances -> +// vtables -> GetMetadata +// By adding a weak function here we break the connection from the +// individual vtables back into the descriptor table. +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_getter() { + return &descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto; +} +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 +static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_google_2ffirestore_2fv1_2fpipeline_2eproto(&descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto); +namespace google { +namespace firestore { +namespace v1 { +// =================================================================== + +StructuredPipeline_OptionsEntry_DoNotUse::StructuredPipeline_OptionsEntry_DoNotUse() {} +StructuredPipeline_OptionsEntry_DoNotUse::StructuredPipeline_OptionsEntry_DoNotUse(::google::protobuf::Arena* arena) + : SuperType(arena) {} +::google::protobuf::Metadata StructuredPipeline_OptionsEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fpipeline_2eproto[0]); +} +// =================================================================== + +class StructuredPipeline::_Internal { + public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(StructuredPipeline, _impl_._has_bits_); + static const ::google::firestore::v1::Pipeline& pipeline(const StructuredPipeline* msg); + static void set_has_pipeline(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +const ::google::firestore::v1::Pipeline& StructuredPipeline::_Internal::pipeline(const StructuredPipeline* msg) { + return *msg->_impl_.pipeline_; +} +void StructuredPipeline::clear_pipeline() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.pipeline_ != nullptr) _impl_.pipeline_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +void StructuredPipeline::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +StructuredPipeline::StructuredPipeline(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.firestore.v1.StructuredPipeline) +} +inline PROTOBUF_NDEBUG_INLINE StructuredPipeline::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + options_{visibility, arena, from.options_} {} + +StructuredPipeline::StructuredPipeline( + ::google::protobuf::Arena* arena, + const StructuredPipeline& from) + : ::google::protobuf::Message(arena) { + StructuredPipeline* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.pipeline_ = (cached_has_bits & 0x00000001u) + ? CreateMaybeMessage<::google::firestore::v1::Pipeline>(arena, *from._impl_.pipeline_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:google.firestore.v1.StructuredPipeline) +} +inline PROTOBUF_NDEBUG_INLINE StructuredPipeline::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + options_{visibility, arena} {} + +inline void StructuredPipeline::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.pipeline_ = {}; +} +StructuredPipeline::~StructuredPipeline() { + // @@protoc_insertion_point(destructor:google.firestore.v1.StructuredPipeline) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void StructuredPipeline::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + delete _impl_.pipeline_; + _impl_.~Impl_(); +} + +PROTOBUF_NOINLINE void StructuredPipeline::Clear() { +// @@protoc_insertion_point(message_clear_start:google.firestore.v1.StructuredPipeline) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.options_.Clear(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.pipeline_ != nullptr); + _impl_.pipeline_->Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* StructuredPipeline::_InternalParse( + const char* ptr, ::_pbi::ParseContext* ctx) { + ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); + return ptr; +} + + +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 2, 3, 54, 2> StructuredPipeline::_table_ = { + { + PROTOBUF_FIELD_OFFSET(StructuredPipeline, _impl_._has_bits_), + 0, // no _extensions_ + 2, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_StructuredPipeline_default_instance_._instance, + ::_pbi::TcParser::GenericFallback, // fallback + }, {{ + // .google.firestore.v1.Pipeline pipeline = 1 [(.google.api.field_behavior) = REQUIRED]; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, PROTOBUF_FIELD_OFFSET(StructuredPipeline, _impl_.pipeline_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // .google.firestore.v1.Pipeline pipeline = 1 [(.google.api.field_behavior) = REQUIRED]; + {PROTOBUF_FIELD_OFFSET(StructuredPipeline, _impl_.pipeline_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // map options = 2 [(.google.api.field_behavior) = OPTIONAL]; + {PROTOBUF_FIELD_OFFSET(StructuredPipeline, _impl_.options_), -1, 1, + (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, + }}, {{ + {::_pbi::TcParser::GetTable<::google::firestore::v1::Pipeline>()}, + {::_pbi::TcParser::GetMapAuxInfo< + decltype(StructuredPipeline()._impl_.options_)>( + 1, 0, 0, 9, + 11)}, + {::_pbi::TcParser::CreateInArenaStorageCb<::google::firestore::v1::Value>}, + }}, {{ + "\46\0\7\0\0\0\0\0" + "google.firestore.v1.StructuredPipeline" + "options" + }}, +}; + +::uint8_t* StructuredPipeline::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.firestore.v1.StructuredPipeline) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + // .google.firestore.v1.Pipeline pipeline = 1 [(.google.api.field_behavior) = REQUIRED]; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, _Internal::pipeline(this), + _Internal::pipeline(this).GetCachedSize(), target, stream); + } + + // map options = 2 [(.google.api.field_behavior) = OPTIONAL]; + if (!_internal_options().empty()) { + using MapType = ::google::protobuf::Map; + using WireHelper = _pbi::MapEntryFuncs; + const auto& field = _internal_options(); + + if (stream->IsSerializationDeterministic() && field.size() > 1) { + for (const auto& entry : ::google::protobuf::internal::MapSorterPtr(field)) { + target = WireHelper::InternalSerialize( + 2, entry.first, entry.second, target, stream); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.StructuredPipeline.options"); + } + } else { + for (const auto& entry : field) { + target = WireHelper::InternalSerialize( + 2, entry.first, entry.second, target, stream); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, "google.firestore.v1.StructuredPipeline.options"); + } + } + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.firestore.v1.StructuredPipeline) + return target; +} + +::size_t StructuredPipeline::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.firestore.v1.StructuredPipeline) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // map options = 2 [(.google.api.field_behavior) = OPTIONAL]; + total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_options_size()); + for (const auto& entry : _internal_options()) { + total_size += _pbi::MapEntryFuncs::ByteSizeLong(entry.first, entry.second); + } + // .google.firestore.v1.Pipeline pipeline = 1 [(.google.api.field_behavior) = REQUIRED]; + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.pipeline_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::google::protobuf::Message::ClassData StructuredPipeline::_class_data_ = { + StructuredPipeline::MergeImpl, + nullptr, // OnDemandRegisterArenaDtor +}; +const ::google::protobuf::Message::ClassData* StructuredPipeline::GetClassData() const { + return &_class_data_; +} + +void StructuredPipeline::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.firestore.v1.StructuredPipeline) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.options_.MergeFrom(from._impl_.options_); + if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) { + _this->_internal_mutable_pipeline()->::google::firestore::v1::Pipeline::MergeFrom( + from._internal_pipeline()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void StructuredPipeline::CopyFrom(const StructuredPipeline& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.firestore.v1.StructuredPipeline) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool StructuredPipeline::IsInitialized() const { + return true; +} + +::_pbi::CachedSize* StructuredPipeline::AccessCachedSize() const { + return &_impl_._cached_size_; +} +void StructuredPipeline::InternalSwap(StructuredPipeline* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.options_.InternalSwap(&other->_impl_.options_); + swap(_impl_.pipeline_, other->_impl_.pipeline_); +} + +::google::protobuf::Metadata StructuredPipeline::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_getter, &descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto_once, + file_level_metadata_google_2ffirestore_2fv1_2fpipeline_2eproto[1]); +} +// @@protoc_insertion_point(namespace_scope) +} // namespace v1 +} // namespace firestore +} // namespace google +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +#include "google/protobuf/port_undef.inc" diff --git a/Firestore/Protos/cpp/google/firestore/v1/pipeline.pb.h b/Firestore/Protos/cpp/google/firestore/v1/pipeline.pb.h new file mode 100644 index 00000000000..1487e6b1629 --- /dev/null +++ b/Firestore/Protos/cpp/google/firestore/v1/pipeline.pb.h @@ -0,0 +1,480 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/firestore/v1/pipeline.proto +// Protobuf C++ Version: 4.25.1 + +#ifndef GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2fpipeline_2eproto_2epb_2eh +#define GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2fpipeline_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/port_def.inc" +#if PROTOBUF_VERSION < 4025000 +#error "This file was generated by a newer version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please update" +#error "your headers." +#endif // PROTOBUF_VERSION + +#if 4025001 < PROTOBUF_MIN_PROTOC_VERSION +#error "This file was generated by an older version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please" +#error "regenerate this file with a newer version of protoc." +#endif // PROTOBUF_MIN_PROTOC_VERSION +#include "google/protobuf/port_undef.inc" +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/map.h" // IWYU pragma: export +#include "google/protobuf/map_entry.h" +#include "google/protobuf/map_field_inl.h" +#include "google/protobuf/unknown_field_set.h" +#include "google/api/field_behavior.pb.h" +#include "google/firestore/v1/document.pb.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_google_2ffirestore_2fv1_2fpipeline_2eproto + +namespace google { +namespace protobuf { +namespace internal { +class AnyMetadata; +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_google_2ffirestore_2fv1_2fpipeline_2eproto { + static const ::uint32_t offsets[]; +}; +extern const ::google::protobuf::internal::DescriptorTable + descriptor_table_google_2ffirestore_2fv1_2fpipeline_2eproto; +namespace google { +namespace firestore { +namespace v1 { +class StructuredPipeline; +struct StructuredPipelineDefaultTypeInternal; +extern StructuredPipelineDefaultTypeInternal _StructuredPipeline_default_instance_; +class StructuredPipeline_OptionsEntry_DoNotUse; +struct StructuredPipeline_OptionsEntry_DoNotUseDefaultTypeInternal; +extern StructuredPipeline_OptionsEntry_DoNotUseDefaultTypeInternal _StructuredPipeline_OptionsEntry_DoNotUse_default_instance_; +} // namespace v1 +} // namespace firestore +namespace protobuf { +} // namespace protobuf +} // namespace google + +namespace google { +namespace firestore { +namespace v1 { + +// =================================================================== + + +// ------------------------------------------------------------------- + +class StructuredPipeline_OptionsEntry_DoNotUse final + : public ::google::protobuf::internal::MapEntry< + StructuredPipeline_OptionsEntry_DoNotUse, std::string, ::google::firestore::v1::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> { + public: + using SuperType = ::google::protobuf::internal::MapEntry< + StructuredPipeline_OptionsEntry_DoNotUse, std::string, ::google::firestore::v1::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>; + StructuredPipeline_OptionsEntry_DoNotUse(); + template + explicit PROTOBUF_CONSTEXPR StructuredPipeline_OptionsEntry_DoNotUse( + ::google::protobuf::internal::ConstantInitialized); + explicit StructuredPipeline_OptionsEntry_DoNotUse(::google::protobuf::Arena* arena); + static const StructuredPipeline_OptionsEntry_DoNotUse* internal_default_instance() { + return reinterpret_cast( + &_StructuredPipeline_OptionsEntry_DoNotUse_default_instance_); + } + static bool ValidateKey(std::string* s) { + return ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::google::protobuf::internal::WireFormatLite::PARSE, "google.firestore.v1.StructuredPipeline.OptionsEntry.key"); + } + static bool ValidateValue(void*) { return true; } + ::google::protobuf::Metadata GetMetadata() const final; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fpipeline_2eproto; +}; +// ------------------------------------------------------------------- + +class StructuredPipeline final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.firestore.v1.StructuredPipeline) */ { + public: + inline StructuredPipeline() : StructuredPipeline(nullptr) {} + ~StructuredPipeline() override; + template + explicit PROTOBUF_CONSTEXPR StructuredPipeline(::google::protobuf::internal::ConstantInitialized); + + inline StructuredPipeline(const StructuredPipeline& from) + : StructuredPipeline(nullptr, from) {} + StructuredPipeline(StructuredPipeline&& from) noexcept + : StructuredPipeline() { + *this = ::std::move(from); + } + + inline StructuredPipeline& operator=(const StructuredPipeline& from) { + CopyFrom(from); + return *this; + } + inline StructuredPipeline& operator=(StructuredPipeline&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const StructuredPipeline& default_instance() { + return *internal_default_instance(); + } + static inline const StructuredPipeline* internal_default_instance() { + return reinterpret_cast( + &_StructuredPipeline_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(StructuredPipeline& a, StructuredPipeline& b) { + a.Swap(&b); + } + inline void Swap(StructuredPipeline* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(StructuredPipeline* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + StructuredPipeline* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const StructuredPipeline& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const StructuredPipeline& from) { + StructuredPipeline::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(StructuredPipeline* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "google.firestore.v1.StructuredPipeline"; + } + protected: + explicit StructuredPipeline(::google::protobuf::Arena* arena); + StructuredPipeline(::google::protobuf::Arena* arena, const StructuredPipeline& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kOptionsFieldNumber = 2, + kPipelineFieldNumber = 1, + }; + // map options = 2 [(.google.api.field_behavior) = OPTIONAL]; + int options_size() const; + private: + int _internal_options_size() const; + + public: + void clear_options() ; + const ::google::protobuf::Map& options() const; + ::google::protobuf::Map* mutable_options(); + + private: + const ::google::protobuf::Map& _internal_options() const; + ::google::protobuf::Map* _internal_mutable_options(); + + public: + // .google.firestore.v1.Pipeline pipeline = 1 [(.google.api.field_behavior) = REQUIRED]; + bool has_pipeline() const; + void clear_pipeline() ; + const ::google::firestore::v1::Pipeline& pipeline() const; + PROTOBUF_NODISCARD ::google::firestore::v1::Pipeline* release_pipeline(); + ::google::firestore::v1::Pipeline* mutable_pipeline(); + void set_allocated_pipeline(::google::firestore::v1::Pipeline* value); + void unsafe_arena_set_allocated_pipeline(::google::firestore::v1::Pipeline* value); + ::google::firestore::v1::Pipeline* unsafe_arena_release_pipeline(); + + private: + const ::google::firestore::v1::Pipeline& _internal_pipeline() const; + ::google::firestore::v1::Pipeline* _internal_mutable_pipeline(); + + public: + // @@protoc_insertion_point(class_scope:google.firestore.v1.StructuredPipeline) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 2, 3, + 54, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::MapField + options_; + ::google::firestore::v1::Pipeline* pipeline_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2ffirestore_2fv1_2fpipeline_2eproto; +}; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// StructuredPipeline + +// .google.firestore.v1.Pipeline pipeline = 1 [(.google.api.field_behavior) = REQUIRED]; +inline bool StructuredPipeline::has_pipeline() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pipeline_ != nullptr); + return value; +} +inline const ::google::firestore::v1::Pipeline& StructuredPipeline::_internal_pipeline() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::google::firestore::v1::Pipeline* p = _impl_.pipeline_; + return p != nullptr ? *p : reinterpret_cast(::google::firestore::v1::_Pipeline_default_instance_); +} +inline const ::google::firestore::v1::Pipeline& StructuredPipeline::pipeline() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.firestore.v1.StructuredPipeline.pipeline) + return _internal_pipeline(); +} +inline void StructuredPipeline::unsafe_arena_set_allocated_pipeline(::google::firestore::v1::Pipeline* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pipeline_); + } + _impl_.pipeline_ = reinterpret_cast<::google::firestore::v1::Pipeline*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.firestore.v1.StructuredPipeline.pipeline) +} +inline ::google::firestore::v1::Pipeline* StructuredPipeline::release_pipeline() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Pipeline* released = _impl_.pipeline_; + _impl_.pipeline_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::google::firestore::v1::Pipeline* StructuredPipeline::unsafe_arena_release_pipeline() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:google.firestore.v1.StructuredPipeline.pipeline) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::google::firestore::v1::Pipeline* temp = _impl_.pipeline_; + _impl_.pipeline_ = nullptr; + return temp; +} +inline ::google::firestore::v1::Pipeline* StructuredPipeline::_internal_mutable_pipeline() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.pipeline_ == nullptr) { + auto* p = CreateMaybeMessage<::google::firestore::v1::Pipeline>(GetArena()); + _impl_.pipeline_ = reinterpret_cast<::google::firestore::v1::Pipeline*>(p); + } + return _impl_.pipeline_; +} +inline ::google::firestore::v1::Pipeline* StructuredPipeline::mutable_pipeline() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::firestore::v1::Pipeline* _msg = _internal_mutable_pipeline(); + // @@protoc_insertion_point(field_mutable:google.firestore.v1.StructuredPipeline.pipeline) + return _msg; +} +inline void StructuredPipeline::set_allocated_pipeline(::google::firestore::v1::Pipeline* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pipeline_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.pipeline_ = reinterpret_cast<::google::firestore::v1::Pipeline*>(value); + // @@protoc_insertion_point(field_set_allocated:google.firestore.v1.StructuredPipeline.pipeline) +} + +// map options = 2 [(.google.api.field_behavior) = OPTIONAL]; +inline int StructuredPipeline::_internal_options_size() const { + return _internal_options().size(); +} +inline int StructuredPipeline::options_size() const { + return _internal_options_size(); +} +inline const ::google::protobuf::Map& StructuredPipeline::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_.GetMap(); +} +inline const ::google::protobuf::Map& StructuredPipeline::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_map:google.firestore.v1.StructuredPipeline.options) + return _internal_options(); +} +inline ::google::protobuf::Map* StructuredPipeline::_internal_mutable_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _impl_.options_.MutableMap(); +} +inline ::google::protobuf::Map* StructuredPipeline::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_map:google.firestore.v1.StructuredPipeline.options) + return _internal_mutable_options(); +} + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace v1 +} // namespace firestore +} // namespace google + + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // GOOGLE_PROTOBUF_INCLUDED_google_2ffirestore_2fv1_2fpipeline_2eproto_2epb_2eh diff --git a/Firestore/Protos/cpp/google/firestore/v1/query.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/query.pb.cc index 7ad9fec1f02..af917d57906 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/query.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/v1/query.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/query.pb.h b/Firestore/Protos/cpp/google/firestore/v1/query.pb.h index 205f9bea8a0..52bdd1d4641 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/query.pb.h +++ b/Firestore/Protos/cpp/google/firestore/v1/query.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/write.pb.cc b/Firestore/Protos/cpp/google/firestore/v1/write.pb.cc index b1e26f29a16..51916110a2e 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/write.pb.cc +++ b/Firestore/Protos/cpp/google/firestore/v1/write.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/firestore/v1/write.pb.h b/Firestore/Protos/cpp/google/firestore/v1/write.pb.h index 46fd9394542..2bc4a3b3cf3 100644 --- a/Firestore/Protos/cpp/google/firestore/v1/write.pb.h +++ b/Firestore/Protos/cpp/google/firestore/v1/write.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/rpc/status.pb.cc b/Firestore/Protos/cpp/google/rpc/status.pb.cc index e053fa12c18..b6cfa669f6f 100644 --- a/Firestore/Protos/cpp/google/rpc/status.pb.cc +++ b/Firestore/Protos/cpp/google/rpc/status.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/rpc/status.pb.h b/Firestore/Protos/cpp/google/rpc/status.pb.h index fdadd942ac4..d3b966147b6 100644 --- a/Firestore/Protos/cpp/google/rpc/status.pb.h +++ b/Firestore/Protos/cpp/google/rpc/status.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/type/latlng.pb.cc b/Firestore/Protos/cpp/google/type/latlng.pb.cc index 5303b0891a2..b9efd72a5af 100644 --- a/Firestore/Protos/cpp/google/type/latlng.pb.cc +++ b/Firestore/Protos/cpp/google/type/latlng.pb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/cpp/google/type/latlng.pb.h b/Firestore/Protos/cpp/google/type/latlng.pb.h index 0f889988d23..6fd0da83cf0 100644 --- a/Firestore/Protos/cpp/google/type/latlng.pb.h +++ b/Firestore/Protos/cpp/google/type/latlng.pb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/bundle.nanopb.cc b/Firestore/Protos/nanopb/firestore/bundle.nanopb.cc index 6e15969980e..f470145f1ad 100644 --- a/Firestore/Protos/nanopb/firestore/bundle.nanopb.cc +++ b/Firestore/Protos/nanopb/firestore/bundle.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/bundle.nanopb.h b/Firestore/Protos/nanopb/firestore/bundle.nanopb.h index 872ea118504..bb312068857 100644 --- a/Firestore/Protos/nanopb/firestore/bundle.nanopb.h +++ b/Firestore/Protos/nanopb/firestore/bundle.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.cc b/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.cc index 2f906d9f95d..f145a4a81b8 100644 --- a/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.cc +++ b/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.h b/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.h index 53762bb101f..a6373161785 100644 --- a/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.h +++ b/Firestore/Protos/nanopb/firestore/local/maybe_document.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.cc b/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.cc index 1a06d56941d..55f9a23489e 100644 --- a/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.cc +++ b/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.h b/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.h index 28430465212..b316ea582b9 100644 --- a/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.h +++ b/Firestore/Protos/nanopb/firestore/local/mutation.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/local/target.nanopb.cc b/Firestore/Protos/nanopb/firestore/local/target.nanopb.cc index cd73d9344f7..7d0d51ab579 100644 --- a/Firestore/Protos/nanopb/firestore/local/target.nanopb.cc +++ b/Firestore/Protos/nanopb/firestore/local/target.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/firestore/local/target.nanopb.h b/Firestore/Protos/nanopb/firestore/local/target.nanopb.h index 7dedb4d91eb..34f926f3ea0 100644 --- a/Firestore/Protos/nanopb/firestore/local/target.nanopb.h +++ b/Firestore/Protos/nanopb/firestore/local/target.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/api/annotations.nanopb.cc b/Firestore/Protos/nanopb/google/api/annotations.nanopb.cc index b755cad4926..c0bc8de7cdf 100644 --- a/Firestore/Protos/nanopb/google/api/annotations.nanopb.cc +++ b/Firestore/Protos/nanopb/google/api/annotations.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/api/annotations.nanopb.h b/Firestore/Protos/nanopb/google/api/annotations.nanopb.h index 4ddc9010007..46f6d833985 100644 --- a/Firestore/Protos/nanopb/google/api/annotations.nanopb.h +++ b/Firestore/Protos/nanopb/google/api/annotations.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/api/field_behavior.nanopb.cc b/Firestore/Protos/nanopb/google/api/field_behavior.nanopb.cc new file mode 100644 index 00000000000..38e3aa6a29b --- /dev/null +++ b/Firestore/Protos/nanopb/google/api/field_behavior.nanopb.cc @@ -0,0 +1,77 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Automatically generated nanopb constant definitions */ +/* Generated by nanopb-0.3.9.8 */ + +#include "field_behavior.nanopb.h" + +#include "Firestore/core/src/nanopb/pretty_printing.h" + +namespace firebase { +namespace firestore { + +using nanopb::PrintEnumField; +using nanopb::PrintHeader; +using nanopb::PrintMessageField; +using nanopb::PrintPrimitiveField; +using nanopb::PrintTail; + +/* @@protoc_insertion_point(includes) */ +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + + + + + + +/* Check that field information fits in pb_field_t */ +#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) +#error Field descriptor for google_api_field_behavior_struct.field_behavior is too large. Define PB_FIELD_16BIT to fix this. +#endif + + +const char* EnumToString( + google_api_FieldBehavior value) { + switch (value) { + case google_api_FieldBehavior_FIELD_BEHAVIOR_UNSPECIFIED: + return "FIELD_BEHAVIOR_UNSPECIFIED"; + case google_api_FieldBehavior_OPTIONAL: + return "OPTIONAL"; + case google_api_FieldBehavior_REQUIRED: + return "REQUIRED"; + case google_api_FieldBehavior_OUTPUT_ONLY: + return "OUTPUT_ONLY"; + case google_api_FieldBehavior_INPUT_ONLY: + return "INPUT_ONLY"; + case google_api_FieldBehavior_IMMUTABLE: + return "IMMUTABLE"; + case google_api_FieldBehavior_UNORDERED_LIST: + return "UNORDERED_LIST"; + case google_api_FieldBehavior_NON_EMPTY_DEFAULT: + return "NON_EMPTY_DEFAULT"; + case google_api_FieldBehavior_IDENTIFIER: + return "IDENTIFIER"; + } + return ""; +} + +} // namespace firestore +} // namespace firebase + +/* @@protoc_insertion_point(eof) */ diff --git a/Firestore/Protos/nanopb/google/api/field_behavior.nanopb.h b/Firestore/Protos/nanopb/google/api/field_behavior.nanopb.h new file mode 100644 index 00000000000..ad18ad8b3cf --- /dev/null +++ b/Firestore/Protos/nanopb/google/api/field_behavior.nanopb.h @@ -0,0 +1,61 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Automatically generated nanopb header */ +/* Generated by nanopb-0.3.9.8 */ + +#ifndef PB_GOOGLE_API_FIELD_BEHAVIOR_NANOPB_H_INCLUDED +#define PB_GOOGLE_API_FIELD_BEHAVIOR_NANOPB_H_INCLUDED +#include + +#include + +namespace firebase { +namespace firestore { + +/* @@protoc_insertion_point(includes) */ +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + + +/* Enum definitions */ +typedef enum _google_api_FieldBehavior { + google_api_FieldBehavior_FIELD_BEHAVIOR_UNSPECIFIED = 0, + google_api_FieldBehavior_OPTIONAL = 1, + google_api_FieldBehavior_REQUIRED = 2, + google_api_FieldBehavior_OUTPUT_ONLY = 3, + google_api_FieldBehavior_INPUT_ONLY = 4, + google_api_FieldBehavior_IMMUTABLE = 5, + google_api_FieldBehavior_UNORDERED_LIST = 6, + google_api_FieldBehavior_NON_EMPTY_DEFAULT = 7, + google_api_FieldBehavior_IDENTIFIER = 8 +} google_api_FieldBehavior; +#define _google_api_FieldBehavior_MIN google_api_FieldBehavior_FIELD_BEHAVIOR_UNSPECIFIED +#define _google_api_FieldBehavior_MAX google_api_FieldBehavior_IDENTIFIER +#define _google_api_FieldBehavior_ARRAYSIZE ((google_api_FieldBehavior)(google_api_FieldBehavior_IDENTIFIER+1)) + +/* Extensions */ +/* Extension field google_api_field_behavior was skipped because only "optional" + type of extension fields is currently supported. */ + +const char* EnumToString(google_api_FieldBehavior value); +} // namespace firestore +} // namespace firebase + +/* @@protoc_insertion_point(eof) */ + +#endif diff --git a/Firestore/Protos/nanopb/google/api/http.nanopb.cc b/Firestore/Protos/nanopb/google/api/http.nanopb.cc index b69f3495d6f..6be59e2b5b8 100644 --- a/Firestore/Protos/nanopb/google/api/http.nanopb.cc +++ b/Firestore/Protos/nanopb/google/api/http.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/api/http.nanopb.h b/Firestore/Protos/nanopb/google/api/http.nanopb.h index 5d97d74d221..af98141f2c4 100644 --- a/Firestore/Protos/nanopb/google/api/http.nanopb.h +++ b/Firestore/Protos/nanopb/google/api/http.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/api/resource.nanopb.cc b/Firestore/Protos/nanopb/google/api/resource.nanopb.cc index 82456fe0cc8..852f7122473 100644 --- a/Firestore/Protos/nanopb/google/api/resource.nanopb.cc +++ b/Firestore/Protos/nanopb/google/api/resource.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/api/resource.nanopb.h b/Firestore/Protos/nanopb/google/api/resource.nanopb.h index 7c7c1ffabaa..741cc580045 100644 --- a/Firestore/Protos/nanopb/google/api/resource.nanopb.h +++ b/Firestore/Protos/nanopb/google/api/resource.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.cc index 5769d63aec7..acf9ce034d4 100644 --- a/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.h b/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.h index e9ba3c9cb86..9caefad8c54 100644 --- a/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/admin/index.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.cc index 5a740ffd8be..6b6dfe77b90 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.h index a64f9163853..0bed00bba6d 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/v1/aggregation_result.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.cc index 3ce3049039a..e30c4b9613f 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.h index 0f294a9b9e1..e46bb381ada 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/v1/bloom_filter.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.cc index 26c423266d4..f3b4bed3ff7 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.h index 7772c08f7df..b63ff25e66e 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/v1/common.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.cc index f236b603132..0fa5a799153 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -51,7 +51,7 @@ const pb_field_t google_firestore_v1_Document_FieldsEntry_fields[3] = { PB_LAST_FIELD }; -const pb_field_t google_firestore_v1_Value_fields[12] = { +const pb_field_t google_firestore_v1_Value_fields[15] = { PB_ANONYMOUS_ONEOF_FIELD(value_type, 1, BOOL , ONEOF, STATIC , FIRST, google_firestore_v1_Value, boolean_value, boolean_value, 0), PB_ANONYMOUS_ONEOF_FIELD(value_type, 2, INT64 , ONEOF, STATIC , UNION, google_firestore_v1_Value, integer_value, integer_value, 0), PB_ANONYMOUS_ONEOF_FIELD(value_type, 3, DOUBLE , ONEOF, STATIC , UNION, google_firestore_v1_Value, double_value, double_value, 0), @@ -63,6 +63,9 @@ const pb_field_t google_firestore_v1_Value_fields[12] = { PB_ANONYMOUS_ONEOF_FIELD(value_type, 11, UENUM , ONEOF, STATIC , UNION, google_firestore_v1_Value, null_value, null_value, 0), PB_ANONYMOUS_ONEOF_FIELD(value_type, 17, BYTES , ONEOF, POINTER , UNION, google_firestore_v1_Value, string_value, string_value, 0), PB_ANONYMOUS_ONEOF_FIELD(value_type, 18, BYTES , ONEOF, POINTER , UNION, google_firestore_v1_Value, bytes_value, bytes_value, 0), + PB_ANONYMOUS_ONEOF_FIELD(value_type, 19, BYTES , ONEOF, POINTER , UNION, google_firestore_v1_Value, field_reference_value, field_reference_value, 0), + PB_ANONYMOUS_ONEOF_FIELD(value_type, 20, MESSAGE , ONEOF, STATIC , UNION, google_firestore_v1_Value, function_value, function_value, &google_firestore_v1_Function_fields), + PB_ANONYMOUS_ONEOF_FIELD(value_type, 21, MESSAGE , ONEOF, STATIC , UNION, google_firestore_v1_Value, pipeline_value, pipeline_value, &google_firestore_v1_Pipeline_fields), PB_LAST_FIELD }; @@ -82,6 +85,37 @@ const pb_field_t google_firestore_v1_MapValue_FieldsEntry_fields[3] = { PB_LAST_FIELD }; +const pb_field_t google_firestore_v1_Function_fields[4] = { + PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_Function, name, name, 0), + PB_FIELD( 2, MESSAGE , REPEATED, POINTER , OTHER, google_firestore_v1_Function, args, name, &google_firestore_v1_Value_fields), + PB_FIELD( 3, MESSAGE , REPEATED, POINTER , OTHER, google_firestore_v1_Function, options, args, &google_firestore_v1_Function_OptionsEntry_fields), + PB_LAST_FIELD +}; + +const pb_field_t google_firestore_v1_Function_OptionsEntry_fields[3] = { + PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_Function_OptionsEntry, key, key, 0), + PB_FIELD( 2, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1_Function_OptionsEntry, value, key, &google_firestore_v1_Value_fields), + PB_LAST_FIELD +}; + +const pb_field_t google_firestore_v1_Pipeline_fields[2] = { + PB_FIELD( 1, MESSAGE , REPEATED, POINTER , FIRST, google_firestore_v1_Pipeline, stages, stages, &google_firestore_v1_Pipeline_Stage_fields), + PB_LAST_FIELD +}; + +const pb_field_t google_firestore_v1_Pipeline_Stage_fields[4] = { + PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_Pipeline_Stage, name, name, 0), + PB_FIELD( 2, MESSAGE , REPEATED, POINTER , OTHER, google_firestore_v1_Pipeline_Stage, args, name, &google_firestore_v1_Value_fields), + PB_FIELD( 3, MESSAGE , REPEATED, POINTER , OTHER, google_firestore_v1_Pipeline_Stage, options, args, &google_firestore_v1_Pipeline_Stage_OptionsEntry_fields), + PB_LAST_FIELD +}; + +const pb_field_t google_firestore_v1_Pipeline_Stage_OptionsEntry_fields[3] = { + PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_Pipeline_Stage_OptionsEntry, key, key, 0), + PB_FIELD( 2, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1_Pipeline_Stage_OptionsEntry, value, key, &google_firestore_v1_Value_fields), + PB_LAST_FIELD +}; + /* Check that field information fits in pb_field_t */ #if !defined(PB_FIELD_32BIT) @@ -92,7 +126,7 @@ const pb_field_t google_firestore_v1_MapValue_FieldsEntry_fields[3] = { * numbers or field sizes that are larger than what can fit in 8 or 16 bit * field descriptors. */ -PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_Document, create_time) < 65536 && pb_membersize(google_firestore_v1_Document, update_time) < 65536 && pb_membersize(google_firestore_v1_Document_FieldsEntry, value) < 65536 && pb_membersize(google_firestore_v1_Value, map_value) < 65536 && pb_membersize(google_firestore_v1_Value, geo_point_value) < 65536 && pb_membersize(google_firestore_v1_Value, array_value) < 65536 && pb_membersize(google_firestore_v1_Value, timestamp_value) < 65536 && pb_membersize(google_firestore_v1_MapValue_FieldsEntry, value) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1_Document_google_firestore_v1_Document_FieldsEntry_google_firestore_v1_Value_google_firestore_v1_ArrayValue_google_firestore_v1_MapValue_google_firestore_v1_MapValue_FieldsEntry) +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_Document, create_time) < 65536 && pb_membersize(google_firestore_v1_Document, update_time) < 65536 && pb_membersize(google_firestore_v1_Document_FieldsEntry, value) < 65536 && pb_membersize(google_firestore_v1_Value, map_value) < 65536 && pb_membersize(google_firestore_v1_Value, geo_point_value) < 65536 && pb_membersize(google_firestore_v1_Value, array_value) < 65536 && pb_membersize(google_firestore_v1_Value, timestamp_value) < 65536 && pb_membersize(google_firestore_v1_Value, function_value) < 65536 && pb_membersize(google_firestore_v1_Value, pipeline_value) < 65536 && pb_membersize(google_firestore_v1_MapValue_FieldsEntry, value) < 65536 && pb_membersize(google_firestore_v1_Function_OptionsEntry, value) < 65536 && pb_membersize(google_firestore_v1_Pipeline_Stage_OptionsEntry, value) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1_Document_google_firestore_v1_Document_FieldsEntry_google_firestore_v1_Value_google_firestore_v1_ArrayValue_google_firestore_v1_MapValue_google_firestore_v1_MapValue_FieldsEntry_google_firestore_v1_Function_google_firestore_v1_Function_OptionsEntry_google_firestore_v1_Pipeline_google_firestore_v1_Pipeline_Stage_google_firestore_v1_Pipeline_Stage_OptionsEntry) #endif #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) @@ -103,7 +137,7 @@ PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_Document, create_time) < 655 * numbers or field sizes that are larger than what can fit in the default * 8 bit descriptors. */ -PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_Document, create_time) < 256 && pb_membersize(google_firestore_v1_Document, update_time) < 256 && pb_membersize(google_firestore_v1_Document_FieldsEntry, value) < 256 && pb_membersize(google_firestore_v1_Value, map_value) < 256 && pb_membersize(google_firestore_v1_Value, geo_point_value) < 256 && pb_membersize(google_firestore_v1_Value, array_value) < 256 && pb_membersize(google_firestore_v1_Value, timestamp_value) < 256 && pb_membersize(google_firestore_v1_MapValue_FieldsEntry, value) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1_Document_google_firestore_v1_Document_FieldsEntry_google_firestore_v1_Value_google_firestore_v1_ArrayValue_google_firestore_v1_MapValue_google_firestore_v1_MapValue_FieldsEntry) +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_Document, create_time) < 256 && pb_membersize(google_firestore_v1_Document, update_time) < 256 && pb_membersize(google_firestore_v1_Document_FieldsEntry, value) < 256 && pb_membersize(google_firestore_v1_Value, map_value) < 256 && pb_membersize(google_firestore_v1_Value, geo_point_value) < 256 && pb_membersize(google_firestore_v1_Value, array_value) < 256 && pb_membersize(google_firestore_v1_Value, timestamp_value) < 256 && pb_membersize(google_firestore_v1_Value, function_value) < 256 && pb_membersize(google_firestore_v1_Value, pipeline_value) < 256 && pb_membersize(google_firestore_v1_MapValue_FieldsEntry, value) < 256 && pb_membersize(google_firestore_v1_Function_OptionsEntry, value) < 256 && pb_membersize(google_firestore_v1_Pipeline_Stage_OptionsEntry, value) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1_Document_google_firestore_v1_Document_FieldsEntry_google_firestore_v1_Value_google_firestore_v1_ArrayValue_google_firestore_v1_MapValue_google_firestore_v1_MapValue_FieldsEntry_google_firestore_v1_Function_google_firestore_v1_Function_OptionsEntry_google_firestore_v1_Pipeline_google_firestore_v1_Pipeline_Stage_google_firestore_v1_Pipeline_Stage_OptionsEntry) #endif @@ -193,6 +227,18 @@ std::string google_firestore_v1_Value::ToString(int indent) const { tostring_result += PrintPrimitiveField("bytes_value: ", bytes_value, indent + 1, true); break; + case google_firestore_v1_Value_field_reference_value_tag: + tostring_result += PrintPrimitiveField("field_reference_value: ", + field_reference_value, indent + 1, true); + break; + case google_firestore_v1_Value_function_value_tag: + tostring_result += PrintMessageField("function_value ", + function_value, indent + 1, true); + break; + case google_firestore_v1_Value_pipeline_value_tag: + tostring_result += PrintMessageField("pipeline_value ", + pipeline_value, indent + 1, true); + break; } bool is_root = indent == 0; @@ -251,6 +297,92 @@ std::string google_firestore_v1_MapValue_FieldsEntry::ToString(int indent) const return tostring_header + tostring_result + tostring_tail; } +std::string google_firestore_v1_Function::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "Function", this); + std::string tostring_result; + + tostring_result += PrintPrimitiveField("name: ", name, indent + 1, false); + for (pb_size_t i = 0; i != args_count; ++i) { + tostring_result += PrintMessageField("args ", + args[i], indent + 1, true); + } + for (pb_size_t i = 0; i != options_count; ++i) { + tostring_result += PrintMessageField("options ", + options[i], indent + 1, true); + } + + bool is_root = indent == 0; + if (!tostring_result.empty() || is_root) { + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; + } else { + return ""; + } +} + +std::string google_firestore_v1_Function_OptionsEntry::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "OptionsEntry", this); + std::string tostring_result; + + tostring_result += PrintPrimitiveField("key: ", key, indent + 1, false); + tostring_result += PrintMessageField("value ", value, indent + 1, false); + + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; +} + +std::string google_firestore_v1_Pipeline::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "Pipeline", this); + std::string tostring_result; + + for (pb_size_t i = 0; i != stages_count; ++i) { + tostring_result += PrintMessageField("stages ", + stages[i], indent + 1, true); + } + + bool is_root = indent == 0; + if (!tostring_result.empty() || is_root) { + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; + } else { + return ""; + } +} + +std::string google_firestore_v1_Pipeline_Stage::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "Stage", this); + std::string tostring_result; + + tostring_result += PrintPrimitiveField("name: ", name, indent + 1, false); + for (pb_size_t i = 0; i != args_count; ++i) { + tostring_result += PrintMessageField("args ", + args[i], indent + 1, true); + } + for (pb_size_t i = 0; i != options_count; ++i) { + tostring_result += PrintMessageField("options ", + options[i], indent + 1, true); + } + + bool is_root = indent == 0; + if (!tostring_result.empty() || is_root) { + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; + } else { + return ""; + } +} + +std::string google_firestore_v1_Pipeline_Stage_OptionsEntry::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "OptionsEntry", this); + std::string tostring_result; + + tostring_result += PrintPrimitiveField("key: ", key, indent + 1, false); + tostring_result += PrintMessageField("value ", value, indent + 1, false); + + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; +} + } // namespace firestore } // namespace firebase diff --git a/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h index 6a6435c05a3..c168433c5a8 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,8 @@ #define PB_GOOGLE_FIRESTORE_V1_DOCUMENT_NANOPB_H_INCLUDED #include +#include "google/api/field_behavior.nanopb.h" + #include "google/protobuf/struct.nanopb.h" #include "google/protobuf/timestamp.nanopb.h" @@ -47,6 +49,17 @@ typedef struct _google_firestore_v1_ArrayValue { /* @@protoc_insertion_point(struct:google_firestore_v1_ArrayValue) */ } google_firestore_v1_ArrayValue; +typedef struct _google_firestore_v1_Function { + pb_bytes_array_t *name; + pb_size_t args_count; + struct _google_firestore_v1_Value *args; + pb_size_t options_count; + struct _google_firestore_v1_Function_OptionsEntry *options; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_Function) */ +} google_firestore_v1_Function; + typedef struct _google_firestore_v1_MapValue { pb_size_t fields_count; struct _google_firestore_v1_MapValue_FieldsEntry *fields; @@ -55,6 +68,25 @@ typedef struct _google_firestore_v1_MapValue { /* @@protoc_insertion_point(struct:google_firestore_v1_MapValue) */ } google_firestore_v1_MapValue; +typedef struct _google_firestore_v1_Pipeline { + pb_size_t stages_count; + struct _google_firestore_v1_Pipeline_Stage *stages; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_Pipeline) */ +} google_firestore_v1_Pipeline; + +typedef struct _google_firestore_v1_Pipeline_Stage { + pb_bytes_array_t *name; + pb_size_t args_count; + struct _google_firestore_v1_Value *args; + pb_size_t options_count; + struct _google_firestore_v1_Pipeline_Stage_OptionsEntry *options; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_Pipeline_Stage) */ +} google_firestore_v1_Pipeline_Stage; + typedef struct _google_firestore_v1_Document { pb_bytes_array_t *name; pb_size_t fields_count; @@ -81,6 +113,9 @@ typedef struct _google_firestore_v1_Value { google_protobuf_NullValue null_value; pb_bytes_array_t *string_value; pb_bytes_array_t *bytes_value; + pb_bytes_array_t *field_reference_value; + google_firestore_v1_Function function_value; + google_firestore_v1_Pipeline pipeline_value; }; std::string ToString(int indent = 0) const; @@ -95,6 +130,14 @@ typedef struct _google_firestore_v1_Document_FieldsEntry { /* @@protoc_insertion_point(struct:google_firestore_v1_Document_FieldsEntry) */ } google_firestore_v1_Document_FieldsEntry; +typedef struct _google_firestore_v1_Function_OptionsEntry { + pb_bytes_array_t *key; + google_firestore_v1_Value value; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_Function_OptionsEntry) */ +} google_firestore_v1_Function_OptionsEntry; + typedef struct _google_firestore_v1_MapValue_FieldsEntry { pb_bytes_array_t *key; google_firestore_v1_Value value; @@ -103,6 +146,14 @@ typedef struct _google_firestore_v1_MapValue_FieldsEntry { /* @@protoc_insertion_point(struct:google_firestore_v1_MapValue_FieldsEntry) */ } google_firestore_v1_MapValue_FieldsEntry; +typedef struct _google_firestore_v1_Pipeline_Stage_OptionsEntry { + pb_bytes_array_t *key; + google_firestore_v1_Value value; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_Pipeline_Stage_OptionsEntry) */ +} google_firestore_v1_Pipeline_Stage_OptionsEntry; + /* Default values for struct fields */ /* Initializer values for message structs */ @@ -112,16 +163,33 @@ typedef struct _google_firestore_v1_MapValue_FieldsEntry { #define google_firestore_v1_ArrayValue_init_default {0, NULL} #define google_firestore_v1_MapValue_init_default {0, NULL} #define google_firestore_v1_MapValue_FieldsEntry_init_default {NULL, google_firestore_v1_Value_init_default} +#define google_firestore_v1_Function_init_default {NULL, 0, NULL, 0, NULL} +#define google_firestore_v1_Function_OptionsEntry_init_default {NULL, google_firestore_v1_Value_init_default} +#define google_firestore_v1_Pipeline_init_default {0, NULL} +#define google_firestore_v1_Pipeline_Stage_init_default {NULL, 0, NULL, 0, NULL} +#define google_firestore_v1_Pipeline_Stage_OptionsEntry_init_default {NULL, google_firestore_v1_Value_init_default} #define google_firestore_v1_Document_init_zero {NULL, 0, NULL, google_protobuf_Timestamp_init_zero, false, google_protobuf_Timestamp_init_zero} #define google_firestore_v1_Document_FieldsEntry_init_zero {NULL, google_firestore_v1_Value_init_zero} #define google_firestore_v1_Value_init_zero {0, {0}} #define google_firestore_v1_ArrayValue_init_zero {0, NULL} #define google_firestore_v1_MapValue_init_zero {0, NULL} #define google_firestore_v1_MapValue_FieldsEntry_init_zero {NULL, google_firestore_v1_Value_init_zero} +#define google_firestore_v1_Function_init_zero {NULL, 0, NULL, 0, NULL} +#define google_firestore_v1_Function_OptionsEntry_init_zero {NULL, google_firestore_v1_Value_init_zero} +#define google_firestore_v1_Pipeline_init_zero {0, NULL} +#define google_firestore_v1_Pipeline_Stage_init_zero {NULL, 0, NULL, 0, NULL} +#define google_firestore_v1_Pipeline_Stage_OptionsEntry_init_zero {NULL, google_firestore_v1_Value_init_zero} /* Field tags (for use in manual encoding/decoding) */ #define google_firestore_v1_ArrayValue_values_tag 1 +#define google_firestore_v1_Function_name_tag 1 +#define google_firestore_v1_Function_args_tag 2 +#define google_firestore_v1_Function_options_tag 3 #define google_firestore_v1_MapValue_fields_tag 1 +#define google_firestore_v1_Pipeline_stages_tag 1 +#define google_firestore_v1_Pipeline_Stage_name_tag 1 +#define google_firestore_v1_Pipeline_Stage_args_tag 2 +#define google_firestore_v1_Pipeline_Stage_options_tag 3 #define google_firestore_v1_Document_name_tag 1 #define google_firestore_v1_Document_fields_tag 2 #define google_firestore_v1_Document_create_time_tag 3 @@ -137,18 +205,30 @@ typedef struct _google_firestore_v1_MapValue_FieldsEntry { #define google_firestore_v1_Value_null_value_tag 11 #define google_firestore_v1_Value_string_value_tag 17 #define google_firestore_v1_Value_bytes_value_tag 18 +#define google_firestore_v1_Value_field_reference_value_tag 19 +#define google_firestore_v1_Value_function_value_tag 20 +#define google_firestore_v1_Value_pipeline_value_tag 21 #define google_firestore_v1_Document_FieldsEntry_key_tag 1 #define google_firestore_v1_Document_FieldsEntry_value_tag 2 +#define google_firestore_v1_Function_OptionsEntry_key_tag 1 +#define google_firestore_v1_Function_OptionsEntry_value_tag 2 #define google_firestore_v1_MapValue_FieldsEntry_key_tag 1 #define google_firestore_v1_MapValue_FieldsEntry_value_tag 2 +#define google_firestore_v1_Pipeline_Stage_OptionsEntry_key_tag 1 +#define google_firestore_v1_Pipeline_Stage_OptionsEntry_value_tag 2 /* Struct field encoding specification for nanopb */ extern const pb_field_t google_firestore_v1_Document_fields[5]; extern const pb_field_t google_firestore_v1_Document_FieldsEntry_fields[3]; -extern const pb_field_t google_firestore_v1_Value_fields[12]; +extern const pb_field_t google_firestore_v1_Value_fields[15]; extern const pb_field_t google_firestore_v1_ArrayValue_fields[2]; extern const pb_field_t google_firestore_v1_MapValue_fields[2]; extern const pb_field_t google_firestore_v1_MapValue_FieldsEntry_fields[3]; +extern const pb_field_t google_firestore_v1_Function_fields[4]; +extern const pb_field_t google_firestore_v1_Function_OptionsEntry_fields[3]; +extern const pb_field_t google_firestore_v1_Pipeline_fields[2]; +extern const pb_field_t google_firestore_v1_Pipeline_Stage_fields[4]; +extern const pb_field_t google_firestore_v1_Pipeline_Stage_OptionsEntry_fields[3]; /* Maximum encoded size of messages (where known) */ /* google_firestore_v1_Document_size depends on runtime parameters */ @@ -157,6 +237,11 @@ extern const pb_field_t google_firestore_v1_MapValue_FieldsEntry_fields[3]; /* google_firestore_v1_ArrayValue_size depends on runtime parameters */ /* google_firestore_v1_MapValue_size depends on runtime parameters */ /* google_firestore_v1_MapValue_FieldsEntry_size depends on runtime parameters */ +/* google_firestore_v1_Function_size depends on runtime parameters */ +/* google_firestore_v1_Function_OptionsEntry_size depends on runtime parameters */ +/* google_firestore_v1_Pipeline_size depends on runtime parameters */ +/* google_firestore_v1_Pipeline_Stage_size depends on runtime parameters */ +/* google_firestore_v1_Pipeline_Stage_OptionsEntry_size depends on runtime parameters */ /* Message IDs (where set with "msgid" option) */ #ifdef PB_MSGID diff --git a/Firestore/Protos/nanopb/google/firestore/v1/explain_stats.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/explain_stats.nanopb.cc new file mode 100644 index 00000000000..60d7cfab731 --- /dev/null +++ b/Firestore/Protos/nanopb/google/firestore/v1/explain_stats.nanopb.cc @@ -0,0 +1,83 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Automatically generated nanopb constant definitions */ +/* Generated by nanopb-0.3.9.8 */ + +#include "explain_stats.nanopb.h" + +#include "Firestore/core/src/nanopb/pretty_printing.h" + +namespace firebase { +namespace firestore { + +using nanopb::PrintEnumField; +using nanopb::PrintHeader; +using nanopb::PrintMessageField; +using nanopb::PrintPrimitiveField; +using nanopb::PrintTail; + +/* @@protoc_insertion_point(includes) */ +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + + + +const pb_field_t google_firestore_v1_ExplainStats_fields[2] = { + PB_FIELD( 1, MESSAGE , SINGULAR, STATIC , FIRST, google_firestore_v1_ExplainStats, data, data, &google_protobuf_Any_fields), + PB_LAST_FIELD +}; + + +/* Check that field information fits in pb_field_t */ +#if !defined(PB_FIELD_32BIT) +/* If you get an error here, it means that you need to define PB_FIELD_32BIT + * compile-time option. You can do that in pb.h or on compiler command line. + * + * The reason you need to do this is that some of your messages contain tag + * numbers or field sizes that are larger than what can fit in 8 or 16 bit + * field descriptors. + */ +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_ExplainStats, data) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1_ExplainStats) +#endif + +#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) +/* If you get an error here, it means that you need to define PB_FIELD_16BIT + * compile-time option. You can do that in pb.h or on compiler command line. + * + * The reason you need to do this is that some of your messages contain tag + * numbers or field sizes that are larger than what can fit in the default + * 8 bit descriptors. + */ +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_ExplainStats, data) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1_ExplainStats) +#endif + + +std::string google_firestore_v1_ExplainStats::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "ExplainStats", this); + std::string tostring_result; + + tostring_result += PrintMessageField("data ", data, indent + 1, false); + + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; +} + +} // namespace firestore +} // namespace firebase + +/* @@protoc_insertion_point(eof) */ diff --git a/Firestore/Protos/nanopb/google/firestore/v1/explain_stats.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/explain_stats.nanopb.h new file mode 100644 index 00000000000..f97eb64ee51 --- /dev/null +++ b/Firestore/Protos/nanopb/google/firestore/v1/explain_stats.nanopb.h @@ -0,0 +1,73 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Automatically generated nanopb header */ +/* Generated by nanopb-0.3.9.8 */ + +#ifndef PB_GOOGLE_FIRESTORE_V1_EXPLAIN_STATS_NANOPB_H_INCLUDED +#define PB_GOOGLE_FIRESTORE_V1_EXPLAIN_STATS_NANOPB_H_INCLUDED +#include + +#include "google/protobuf/any.nanopb.h" + +#include + +namespace firebase { +namespace firestore { + +/* @@protoc_insertion_point(includes) */ +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + + +/* Struct definitions */ +typedef struct _google_firestore_v1_ExplainStats { + google_protobuf_Any data; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_ExplainStats) */ +} google_firestore_v1_ExplainStats; + +/* Default values for struct fields */ + +/* Initializer values for message structs */ +#define google_firestore_v1_ExplainStats_init_default {google_protobuf_Any_init_default} +#define google_firestore_v1_ExplainStats_init_zero {google_protobuf_Any_init_zero} + +/* Field tags (for use in manual encoding/decoding) */ +#define google_firestore_v1_ExplainStats_data_tag 1 + +/* Struct field encoding specification for nanopb */ +extern const pb_field_t google_firestore_v1_ExplainStats_fields[2]; + +/* Maximum encoded size of messages (where known) */ +#define google_firestore_v1_ExplainStats_size (6 + google_protobuf_Any_size) + +/* Message IDs (where set with "msgid" option) */ +#ifdef PB_MSGID + +#define EXPLAIN_STATS_MESSAGES \ + + +#endif + +} // namespace firestore +} // namespace firebase + +/* @@protoc_insertion_point(eof) */ + +#endif diff --git a/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.cc index 233d2025dc9..fabd2343097 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -152,6 +152,23 @@ const pb_field_t google_firestore_v1_RunQueryResponse_fields[5] = { PB_LAST_FIELD }; +const pb_field_t google_firestore_v1_ExecutePipelineRequest_fields[6] = { + PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_ExecutePipelineRequest, database, database, 0), + PB_ONEOF_FIELD(pipeline_type, 2, MESSAGE , ONEOF, STATIC , OTHER, google_firestore_v1_ExecutePipelineRequest, structured_pipeline, database, &google_firestore_v1_StructuredPipeline_fields), + PB_ONEOF_FIELD(consistency_selector, 5, BYTES , ONEOF, POINTER , OTHER, google_firestore_v1_ExecutePipelineRequest, transaction, pipeline_type.structured_pipeline, 0), + PB_ONEOF_FIELD(consistency_selector, 6, MESSAGE , ONEOF, STATIC , UNION, google_firestore_v1_ExecutePipelineRequest, new_transaction, pipeline_type.structured_pipeline, &google_firestore_v1_TransactionOptions_fields), + PB_ONEOF_FIELD(consistency_selector, 7, MESSAGE , ONEOF, STATIC , UNION, google_firestore_v1_ExecutePipelineRequest, read_time, pipeline_type.structured_pipeline, &google_protobuf_Timestamp_fields), + PB_LAST_FIELD +}; + +const pb_field_t google_firestore_v1_ExecutePipelineResponse_fields[5] = { + PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_ExecutePipelineResponse, transaction, transaction, 0), + PB_FIELD( 2, MESSAGE , REPEATED, POINTER , OTHER, google_firestore_v1_ExecutePipelineResponse, results, transaction, &google_firestore_v1_Document_fields), + PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1_ExecutePipelineResponse, execution_time, results, &google_protobuf_Timestamp_fields), + PB_FIELD( 4, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1_ExecutePipelineResponse, explain_stats, execution_time, &google_firestore_v1_ExplainStats_fields), + PB_LAST_FIELD +}; + const pb_field_t google_firestore_v1_RunAggregationQueryRequest_fields[6] = { PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_RunAggregationQueryRequest, parent, parent, 0), PB_ONEOF_FIELD(query_type, 2, MESSAGE , ONEOF, STATIC , OTHER, google_firestore_v1_RunAggregationQueryRequest, structured_aggregation_query, parent, &google_firestore_v1_StructuredAggregationQuery_fields), @@ -269,7 +286,7 @@ const pb_field_t google_firestore_v1_ListCollectionIdsResponse_fields[3] = { * numbers or field sizes that are larger than what can fit in 8 or 16 bit * field descriptors. */ -PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_GetDocumentRequest, read_time) < 65536 && pb_membersize(google_firestore_v1_GetDocumentRequest, mask) < 65536 && pb_membersize(google_firestore_v1_ListDocumentsRequest, read_time) < 65536 && pb_membersize(google_firestore_v1_ListDocumentsRequest, mask) < 65536 && pb_membersize(google_firestore_v1_CreateDocumentRequest, document) < 65536 && pb_membersize(google_firestore_v1_CreateDocumentRequest, mask) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, document) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, update_mask) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, mask) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, current_document) < 65536 && pb_membersize(google_firestore_v1_DeleteDocumentRequest, current_document) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, new_transaction) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, read_time) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, mask) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, found) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, read_time) < 65536 && pb_membersize(google_firestore_v1_BeginTransactionRequest, options) < 65536 && pb_membersize(google_firestore_v1_CommitResponse, commit_time) < 65536 && pb_membersize(google_firestore_v1_RunQueryRequest, query_type.structured_query) < 65536 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.new_transaction) < 65536 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.read_time) < 65536 && pb_membersize(google_firestore_v1_RunQueryResponse, document) < 65536 && pb_membersize(google_firestore_v1_RunQueryResponse, read_time) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, query_type.structured_aggregation_query) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.new_transaction) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.read_time) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, result) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, read_time) < 65536 && pb_membersize(google_firestore_v1_WriteResponse, commit_time) < 65536 && pb_membersize(google_firestore_v1_ListenRequest, add_target) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, target_change) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, document_change) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, document_delete) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, filter) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, document_remove) < 65536 && pb_membersize(google_firestore_v1_Target, target_type.query) < 65536 && pb_membersize(google_firestore_v1_Target, target_type.documents) < 65536 && pb_membersize(google_firestore_v1_Target, resume_type.read_time) < 65536 && pb_membersize(google_firestore_v1_Target, expected_count) < 65536 && pb_membersize(google_firestore_v1_Target_QueryTarget, structured_query) < 65536 && pb_membersize(google_firestore_v1_TargetChange, cause) < 65536 && pb_membersize(google_firestore_v1_TargetChange, read_time) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1_GetDocumentRequest_google_firestore_v1_ListDocumentsRequest_google_firestore_v1_ListDocumentsResponse_google_firestore_v1_CreateDocumentRequest_google_firestore_v1_UpdateDocumentRequest_google_firestore_v1_DeleteDocumentRequest_google_firestore_v1_BatchGetDocumentsRequest_google_firestore_v1_BatchGetDocumentsResponse_google_firestore_v1_BeginTransactionRequest_google_firestore_v1_BeginTransactionResponse_google_firestore_v1_CommitRequest_google_firestore_v1_CommitResponse_google_firestore_v1_RollbackRequest_google_firestore_v1_RunQueryRequest_google_firestore_v1_RunQueryResponse_google_firestore_v1_RunAggregationQueryRequest_google_firestore_v1_RunAggregationQueryResponse_google_firestore_v1_WriteRequest_google_firestore_v1_WriteRequest_LabelsEntry_google_firestore_v1_WriteResponse_google_firestore_v1_ListenRequest_google_firestore_v1_ListenRequest_LabelsEntry_google_firestore_v1_ListenResponse_google_firestore_v1_Target_google_firestore_v1_Target_DocumentsTarget_google_firestore_v1_Target_QueryTarget_google_firestore_v1_TargetChange_google_firestore_v1_ListCollectionIdsRequest_google_firestore_v1_ListCollectionIdsResponse) +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_GetDocumentRequest, read_time) < 65536 && pb_membersize(google_firestore_v1_GetDocumentRequest, mask) < 65536 && pb_membersize(google_firestore_v1_ListDocumentsRequest, read_time) < 65536 && pb_membersize(google_firestore_v1_ListDocumentsRequest, mask) < 65536 && pb_membersize(google_firestore_v1_CreateDocumentRequest, document) < 65536 && pb_membersize(google_firestore_v1_CreateDocumentRequest, mask) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, document) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, update_mask) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, mask) < 65536 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, current_document) < 65536 && pb_membersize(google_firestore_v1_DeleteDocumentRequest, current_document) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, new_transaction) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, read_time) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, mask) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, found) < 65536 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, read_time) < 65536 && pb_membersize(google_firestore_v1_BeginTransactionRequest, options) < 65536 && pb_membersize(google_firestore_v1_CommitResponse, commit_time) < 65536 && pb_membersize(google_firestore_v1_RunQueryRequest, query_type.structured_query) < 65536 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.new_transaction) < 65536 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.read_time) < 65536 && pb_membersize(google_firestore_v1_RunQueryResponse, document) < 65536 && pb_membersize(google_firestore_v1_RunQueryResponse, read_time) < 65536 && pb_membersize(google_firestore_v1_ExecutePipelineRequest, pipeline_type.structured_pipeline) < 65536 && pb_membersize(google_firestore_v1_ExecutePipelineRequest, consistency_selector.new_transaction) < 65536 && pb_membersize(google_firestore_v1_ExecutePipelineRequest, consistency_selector.read_time) < 65536 && pb_membersize(google_firestore_v1_ExecutePipelineResponse, execution_time) < 65536 && pb_membersize(google_firestore_v1_ExecutePipelineResponse, explain_stats) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, query_type.structured_aggregation_query) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.new_transaction) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.read_time) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, result) < 65536 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, read_time) < 65536 && pb_membersize(google_firestore_v1_WriteResponse, commit_time) < 65536 && pb_membersize(google_firestore_v1_ListenRequest, add_target) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, target_change) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, document_change) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, document_delete) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, filter) < 65536 && pb_membersize(google_firestore_v1_ListenResponse, document_remove) < 65536 && pb_membersize(google_firestore_v1_Target, target_type.query) < 65536 && pb_membersize(google_firestore_v1_Target, target_type.documents) < 65536 && pb_membersize(google_firestore_v1_Target, resume_type.read_time) < 65536 && pb_membersize(google_firestore_v1_Target, expected_count) < 65536 && pb_membersize(google_firestore_v1_Target_QueryTarget, structured_query) < 65536 && pb_membersize(google_firestore_v1_TargetChange, cause) < 65536 && pb_membersize(google_firestore_v1_TargetChange, read_time) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1_GetDocumentRequest_google_firestore_v1_ListDocumentsRequest_google_firestore_v1_ListDocumentsResponse_google_firestore_v1_CreateDocumentRequest_google_firestore_v1_UpdateDocumentRequest_google_firestore_v1_DeleteDocumentRequest_google_firestore_v1_BatchGetDocumentsRequest_google_firestore_v1_BatchGetDocumentsResponse_google_firestore_v1_BeginTransactionRequest_google_firestore_v1_BeginTransactionResponse_google_firestore_v1_CommitRequest_google_firestore_v1_CommitResponse_google_firestore_v1_RollbackRequest_google_firestore_v1_RunQueryRequest_google_firestore_v1_RunQueryResponse_google_firestore_v1_ExecutePipelineRequest_google_firestore_v1_ExecutePipelineResponse_google_firestore_v1_RunAggregationQueryRequest_google_firestore_v1_RunAggregationQueryResponse_google_firestore_v1_WriteRequest_google_firestore_v1_WriteRequest_LabelsEntry_google_firestore_v1_WriteResponse_google_firestore_v1_ListenRequest_google_firestore_v1_ListenRequest_LabelsEntry_google_firestore_v1_ListenResponse_google_firestore_v1_Target_google_firestore_v1_Target_DocumentsTarget_google_firestore_v1_Target_QueryTarget_google_firestore_v1_TargetChange_google_firestore_v1_ListCollectionIdsRequest_google_firestore_v1_ListCollectionIdsResponse) #endif #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) @@ -280,7 +297,7 @@ PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_GetDocumentRequest, read_tim * numbers or field sizes that are larger than what can fit in the default * 8 bit descriptors. */ -PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_GetDocumentRequest, read_time) < 256 && pb_membersize(google_firestore_v1_GetDocumentRequest, mask) < 256 && pb_membersize(google_firestore_v1_ListDocumentsRequest, read_time) < 256 && pb_membersize(google_firestore_v1_ListDocumentsRequest, mask) < 256 && pb_membersize(google_firestore_v1_CreateDocumentRequest, document) < 256 && pb_membersize(google_firestore_v1_CreateDocumentRequest, mask) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, document) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, update_mask) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, mask) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, current_document) < 256 && pb_membersize(google_firestore_v1_DeleteDocumentRequest, current_document) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, new_transaction) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, read_time) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, mask) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, found) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, read_time) < 256 && pb_membersize(google_firestore_v1_BeginTransactionRequest, options) < 256 && pb_membersize(google_firestore_v1_CommitResponse, commit_time) < 256 && pb_membersize(google_firestore_v1_RunQueryRequest, query_type.structured_query) < 256 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.new_transaction) < 256 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.read_time) < 256 && pb_membersize(google_firestore_v1_RunQueryResponse, document) < 256 && pb_membersize(google_firestore_v1_RunQueryResponse, read_time) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, query_type.structured_aggregation_query) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.new_transaction) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.read_time) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, result) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, read_time) < 256 && pb_membersize(google_firestore_v1_WriteResponse, commit_time) < 256 && pb_membersize(google_firestore_v1_ListenRequest, add_target) < 256 && pb_membersize(google_firestore_v1_ListenResponse, target_change) < 256 && pb_membersize(google_firestore_v1_ListenResponse, document_change) < 256 && pb_membersize(google_firestore_v1_ListenResponse, document_delete) < 256 && pb_membersize(google_firestore_v1_ListenResponse, filter) < 256 && pb_membersize(google_firestore_v1_ListenResponse, document_remove) < 256 && pb_membersize(google_firestore_v1_Target, target_type.query) < 256 && pb_membersize(google_firestore_v1_Target, target_type.documents) < 256 && pb_membersize(google_firestore_v1_Target, resume_type.read_time) < 256 && pb_membersize(google_firestore_v1_Target, expected_count) < 256 && pb_membersize(google_firestore_v1_Target_QueryTarget, structured_query) < 256 && pb_membersize(google_firestore_v1_TargetChange, cause) < 256 && pb_membersize(google_firestore_v1_TargetChange, read_time) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1_GetDocumentRequest_google_firestore_v1_ListDocumentsRequest_google_firestore_v1_ListDocumentsResponse_google_firestore_v1_CreateDocumentRequest_google_firestore_v1_UpdateDocumentRequest_google_firestore_v1_DeleteDocumentRequest_google_firestore_v1_BatchGetDocumentsRequest_google_firestore_v1_BatchGetDocumentsResponse_google_firestore_v1_BeginTransactionRequest_google_firestore_v1_BeginTransactionResponse_google_firestore_v1_CommitRequest_google_firestore_v1_CommitResponse_google_firestore_v1_RollbackRequest_google_firestore_v1_RunQueryRequest_google_firestore_v1_RunQueryResponse_google_firestore_v1_RunAggregationQueryRequest_google_firestore_v1_RunAggregationQueryResponse_google_firestore_v1_WriteRequest_google_firestore_v1_WriteRequest_LabelsEntry_google_firestore_v1_WriteResponse_google_firestore_v1_ListenRequest_google_firestore_v1_ListenRequest_LabelsEntry_google_firestore_v1_ListenResponse_google_firestore_v1_Target_google_firestore_v1_Target_DocumentsTarget_google_firestore_v1_Target_QueryTarget_google_firestore_v1_TargetChange_google_firestore_v1_ListCollectionIdsRequest_google_firestore_v1_ListCollectionIdsResponse) +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_GetDocumentRequest, read_time) < 256 && pb_membersize(google_firestore_v1_GetDocumentRequest, mask) < 256 && pb_membersize(google_firestore_v1_ListDocumentsRequest, read_time) < 256 && pb_membersize(google_firestore_v1_ListDocumentsRequest, mask) < 256 && pb_membersize(google_firestore_v1_CreateDocumentRequest, document) < 256 && pb_membersize(google_firestore_v1_CreateDocumentRequest, mask) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, document) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, update_mask) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, mask) < 256 && pb_membersize(google_firestore_v1_UpdateDocumentRequest, current_document) < 256 && pb_membersize(google_firestore_v1_DeleteDocumentRequest, current_document) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, new_transaction) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, read_time) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsRequest, mask) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, found) < 256 && pb_membersize(google_firestore_v1_BatchGetDocumentsResponse, read_time) < 256 && pb_membersize(google_firestore_v1_BeginTransactionRequest, options) < 256 && pb_membersize(google_firestore_v1_CommitResponse, commit_time) < 256 && pb_membersize(google_firestore_v1_RunQueryRequest, query_type.structured_query) < 256 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.new_transaction) < 256 && pb_membersize(google_firestore_v1_RunQueryRequest, consistency_selector.read_time) < 256 && pb_membersize(google_firestore_v1_RunQueryResponse, document) < 256 && pb_membersize(google_firestore_v1_RunQueryResponse, read_time) < 256 && pb_membersize(google_firestore_v1_ExecutePipelineRequest, pipeline_type.structured_pipeline) < 256 && pb_membersize(google_firestore_v1_ExecutePipelineRequest, consistency_selector.new_transaction) < 256 && pb_membersize(google_firestore_v1_ExecutePipelineRequest, consistency_selector.read_time) < 256 && pb_membersize(google_firestore_v1_ExecutePipelineResponse, execution_time) < 256 && pb_membersize(google_firestore_v1_ExecutePipelineResponse, explain_stats) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, query_type.structured_aggregation_query) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.new_transaction) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryRequest, consistency_selector.read_time) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, result) < 256 && pb_membersize(google_firestore_v1_RunAggregationQueryResponse, read_time) < 256 && pb_membersize(google_firestore_v1_WriteResponse, commit_time) < 256 && pb_membersize(google_firestore_v1_ListenRequest, add_target) < 256 && pb_membersize(google_firestore_v1_ListenResponse, target_change) < 256 && pb_membersize(google_firestore_v1_ListenResponse, document_change) < 256 && pb_membersize(google_firestore_v1_ListenResponse, document_delete) < 256 && pb_membersize(google_firestore_v1_ListenResponse, filter) < 256 && pb_membersize(google_firestore_v1_ListenResponse, document_remove) < 256 && pb_membersize(google_firestore_v1_Target, target_type.query) < 256 && pb_membersize(google_firestore_v1_Target, target_type.documents) < 256 && pb_membersize(google_firestore_v1_Target, resume_type.read_time) < 256 && pb_membersize(google_firestore_v1_Target, expected_count) < 256 && pb_membersize(google_firestore_v1_Target_QueryTarget, structured_query) < 256 && pb_membersize(google_firestore_v1_TargetChange, cause) < 256 && pb_membersize(google_firestore_v1_TargetChange, read_time) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1_GetDocumentRequest_google_firestore_v1_ListDocumentsRequest_google_firestore_v1_ListDocumentsResponse_google_firestore_v1_CreateDocumentRequest_google_firestore_v1_UpdateDocumentRequest_google_firestore_v1_DeleteDocumentRequest_google_firestore_v1_BatchGetDocumentsRequest_google_firestore_v1_BatchGetDocumentsResponse_google_firestore_v1_BeginTransactionRequest_google_firestore_v1_BeginTransactionResponse_google_firestore_v1_CommitRequest_google_firestore_v1_CommitResponse_google_firestore_v1_RollbackRequest_google_firestore_v1_RunQueryRequest_google_firestore_v1_RunQueryResponse_google_firestore_v1_ExecutePipelineRequest_google_firestore_v1_ExecutePipelineResponse_google_firestore_v1_RunAggregationQueryRequest_google_firestore_v1_RunAggregationQueryResponse_google_firestore_v1_WriteRequest_google_firestore_v1_WriteRequest_LabelsEntry_google_firestore_v1_WriteResponse_google_firestore_v1_ListenRequest_google_firestore_v1_ListenRequest_LabelsEntry_google_firestore_v1_ListenResponse_google_firestore_v1_Target_google_firestore_v1_Target_DocumentsTarget_google_firestore_v1_Target_QueryTarget_google_firestore_v1_TargetChange_google_firestore_v1_ListCollectionIdsRequest_google_firestore_v1_ListCollectionIdsResponse) #endif @@ -610,6 +627,61 @@ std::string google_firestore_v1_RunQueryResponse::ToString(int indent) const { return tostring_header + tostring_result + tostring_tail; } +std::string google_firestore_v1_ExecutePipelineRequest::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "ExecutePipelineRequest", this); + std::string tostring_result; + + tostring_result += PrintPrimitiveField("database: ", + database, indent + 1, false); + switch (which_pipeline_type) { + case google_firestore_v1_ExecutePipelineRequest_structured_pipeline_tag: + tostring_result += PrintMessageField("structured_pipeline ", + pipeline_type.structured_pipeline, indent + 1, true); + break; + } + switch (which_consistency_selector) { + case google_firestore_v1_ExecutePipelineRequest_transaction_tag: + tostring_result += PrintPrimitiveField("transaction: ", + consistency_selector.transaction, indent + 1, true); + break; + case google_firestore_v1_ExecutePipelineRequest_new_transaction_tag: + tostring_result += PrintMessageField("new_transaction ", + consistency_selector.new_transaction, indent + 1, true); + break; + case google_firestore_v1_ExecutePipelineRequest_read_time_tag: + tostring_result += PrintMessageField("read_time ", + consistency_selector.read_time, indent + 1, true); + break; + } + + bool is_root = indent == 0; + if (!tostring_result.empty() || is_root) { + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; + } else { + return ""; + } +} + +std::string google_firestore_v1_ExecutePipelineResponse::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "ExecutePipelineResponse", this); + std::string tostring_result; + + tostring_result += PrintPrimitiveField("transaction: ", + transaction, indent + 1, false); + for (pb_size_t i = 0; i != results_count; ++i) { + tostring_result += PrintMessageField("results ", + results[i], indent + 1, true); + } + tostring_result += PrintMessageField("execution_time ", + execution_time, indent + 1, false); + tostring_result += PrintMessageField("explain_stats ", + explain_stats, indent + 1, false); + + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; +} + std::string google_firestore_v1_RunAggregationQueryRequest::ToString(int indent) const { std::string tostring_header = PrintHeader(indent, "RunAggregationQueryRequest", this); std::string tostring_result; diff --git a/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.h index 3dd603a5b09..a6d32a0862d 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,12 +23,18 @@ #include "google/api/annotations.nanopb.h" +#include "google/api/field_behavior.nanopb.h" + #include "google/firestore/v1/aggregation_result.nanopb.h" #include "google/firestore/v1/common.nanopb.h" #include "google/firestore/v1/document.nanopb.h" +#include "google/firestore/v1/explain_stats.nanopb.h" + +#include "google/firestore/v1/pipeline.nanopb.h" + #include "google/firestore/v1/query.nanopb.h" #include "google/firestore/v1/write.nanopb.h" @@ -210,6 +216,34 @@ typedef struct _google_firestore_v1_DeleteDocumentRequest { /* @@protoc_insertion_point(struct:google_firestore_v1_DeleteDocumentRequest) */ } google_firestore_v1_DeleteDocumentRequest; +typedef struct _google_firestore_v1_ExecutePipelineRequest { + pb_bytes_array_t *database; + pb_size_t which_pipeline_type; + union { + google_firestore_v1_StructuredPipeline structured_pipeline; + } pipeline_type; + pb_size_t which_consistency_selector; + union { + pb_bytes_array_t *transaction; + google_firestore_v1_TransactionOptions new_transaction; + google_protobuf_Timestamp read_time; + } consistency_selector; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_ExecutePipelineRequest) */ +} google_firestore_v1_ExecutePipelineRequest; + +typedef struct _google_firestore_v1_ExecutePipelineResponse { + pb_bytes_array_t *transaction; + pb_size_t results_count; + struct _google_firestore_v1_Document *results; + google_protobuf_Timestamp execution_time; + google_firestore_v1_ExplainStats explain_stats; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_ExecutePipelineResponse) */ +} google_firestore_v1_ExecutePipelineResponse; + typedef struct _google_firestore_v1_GetDocumentRequest { pb_bytes_array_t *name; google_firestore_v1_DocumentMask mask; @@ -414,6 +448,8 @@ typedef struct _google_firestore_v1_ListenRequest { #define google_firestore_v1_RollbackRequest_init_default {NULL, NULL} #define google_firestore_v1_RunQueryRequest_init_default {NULL, 0, {google_firestore_v1_StructuredQuery_init_default}, 0, {NULL}} #define google_firestore_v1_RunQueryResponse_init_default {google_firestore_v1_Document_init_default, NULL, google_protobuf_Timestamp_init_default, 0} +#define google_firestore_v1_ExecutePipelineRequest_init_default {NULL, 0, {google_firestore_v1_StructuredPipeline_init_default}, 0, {NULL}} +#define google_firestore_v1_ExecutePipelineResponse_init_default {NULL, 0, NULL, google_protobuf_Timestamp_init_default, google_firestore_v1_ExplainStats_init_default} #define google_firestore_v1_RunAggregationQueryRequest_init_default {NULL, 0, {google_firestore_v1_StructuredAggregationQuery_init_default}, 0, {NULL}} #define google_firestore_v1_RunAggregationQueryResponse_init_default {google_firestore_v1_AggregationResult_init_default, NULL, google_protobuf_Timestamp_init_default} #define google_firestore_v1_WriteRequest_init_default {NULL, NULL, 0, NULL, NULL, 0, NULL} @@ -443,6 +479,8 @@ typedef struct _google_firestore_v1_ListenRequest { #define google_firestore_v1_RollbackRequest_init_zero {NULL, NULL} #define google_firestore_v1_RunQueryRequest_init_zero {NULL, 0, {google_firestore_v1_StructuredQuery_init_zero}, 0, {NULL}} #define google_firestore_v1_RunQueryResponse_init_zero {google_firestore_v1_Document_init_zero, NULL, google_protobuf_Timestamp_init_zero, 0} +#define google_firestore_v1_ExecutePipelineRequest_init_zero {NULL, 0, {google_firestore_v1_StructuredPipeline_init_zero}, 0, {NULL}} +#define google_firestore_v1_ExecutePipelineResponse_init_zero {NULL, 0, NULL, google_protobuf_Timestamp_init_zero, google_firestore_v1_ExplainStats_init_zero} #define google_firestore_v1_RunAggregationQueryRequest_init_zero {NULL, 0, {google_firestore_v1_StructuredAggregationQuery_init_zero}, 0, {NULL}} #define google_firestore_v1_RunAggregationQueryResponse_init_zero {google_firestore_v1_AggregationResult_init_zero, NULL, google_protobuf_Timestamp_init_zero} #define google_firestore_v1_WriteRequest_init_zero {NULL, NULL, 0, NULL, NULL, 0, NULL} @@ -500,6 +538,15 @@ typedef struct _google_firestore_v1_ListenRequest { #define google_firestore_v1_CreateDocumentRequest_mask_tag 5 #define google_firestore_v1_DeleteDocumentRequest_name_tag 1 #define google_firestore_v1_DeleteDocumentRequest_current_document_tag 2 +#define google_firestore_v1_ExecutePipelineRequest_structured_pipeline_tag 2 +#define google_firestore_v1_ExecutePipelineRequest_transaction_tag 5 +#define google_firestore_v1_ExecutePipelineRequest_new_transaction_tag 6 +#define google_firestore_v1_ExecutePipelineRequest_read_time_tag 7 +#define google_firestore_v1_ExecutePipelineRequest_database_tag 1 +#define google_firestore_v1_ExecutePipelineResponse_transaction_tag 1 +#define google_firestore_v1_ExecutePipelineResponse_results_tag 2 +#define google_firestore_v1_ExecutePipelineResponse_execution_time_tag 3 +#define google_firestore_v1_ExecutePipelineResponse_explain_stats_tag 4 #define google_firestore_v1_GetDocumentRequest_transaction_tag 3 #define google_firestore_v1_GetDocumentRequest_read_time_tag 5 #define google_firestore_v1_GetDocumentRequest_name_tag 1 @@ -581,6 +628,8 @@ extern const pb_field_t google_firestore_v1_CommitResponse_fields[3]; extern const pb_field_t google_firestore_v1_RollbackRequest_fields[3]; extern const pb_field_t google_firestore_v1_RunQueryRequest_fields[6]; extern const pb_field_t google_firestore_v1_RunQueryResponse_fields[5]; +extern const pb_field_t google_firestore_v1_ExecutePipelineRequest_fields[6]; +extern const pb_field_t google_firestore_v1_ExecutePipelineResponse_fields[5]; extern const pb_field_t google_firestore_v1_RunAggregationQueryRequest_fields[6]; extern const pb_field_t google_firestore_v1_RunAggregationQueryResponse_fields[4]; extern const pb_field_t google_firestore_v1_WriteRequest_fields[6]; @@ -612,6 +661,8 @@ extern const pb_field_t google_firestore_v1_ListCollectionIdsResponse_fields[3]; /* google_firestore_v1_RollbackRequest_size depends on runtime parameters */ /* google_firestore_v1_RunQueryRequest_size depends on runtime parameters */ /* google_firestore_v1_RunQueryResponse_size depends on runtime parameters */ +/* google_firestore_v1_ExecutePipelineRequest_size depends on runtime parameters */ +/* google_firestore_v1_ExecutePipelineResponse_size depends on runtime parameters */ /* google_firestore_v1_RunAggregationQueryRequest_size depends on runtime parameters */ /* google_firestore_v1_RunAggregationQueryResponse_size depends on runtime parameters */ /* google_firestore_v1_WriteRequest_size depends on runtime parameters */ diff --git a/Firestore/Protos/nanopb/google/firestore/v1/pipeline.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/pipeline.nanopb.cc new file mode 100644 index 00000000000..96739c3630c --- /dev/null +++ b/Firestore/Protos/nanopb/google/firestore/v1/pipeline.nanopb.cc @@ -0,0 +1,106 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Automatically generated nanopb constant definitions */ +/* Generated by nanopb-0.3.9.8 */ + +#include "pipeline.nanopb.h" + +#include "Firestore/core/src/nanopb/pretty_printing.h" + +namespace firebase { +namespace firestore { + +using nanopb::PrintEnumField; +using nanopb::PrintHeader; +using nanopb::PrintMessageField; +using nanopb::PrintPrimitiveField; +using nanopb::PrintTail; + +/* @@protoc_insertion_point(includes) */ +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + + + +const pb_field_t google_firestore_v1_StructuredPipeline_fields[3] = { + PB_FIELD( 1, MESSAGE , SINGULAR, STATIC , FIRST, google_firestore_v1_StructuredPipeline, pipeline, pipeline, &google_firestore_v1_Pipeline_fields), + PB_FIELD( 2, MESSAGE , REPEATED, POINTER , OTHER, google_firestore_v1_StructuredPipeline, options, pipeline, &google_firestore_v1_StructuredPipeline_OptionsEntry_fields), + PB_LAST_FIELD +}; + +const pb_field_t google_firestore_v1_StructuredPipeline_OptionsEntry_fields[3] = { + PB_FIELD( 1, BYTES , SINGULAR, POINTER , FIRST, google_firestore_v1_StructuredPipeline_OptionsEntry, key, key, 0), + PB_FIELD( 2, MESSAGE , SINGULAR, STATIC , OTHER, google_firestore_v1_StructuredPipeline_OptionsEntry, value, key, &google_firestore_v1_Value_fields), + PB_LAST_FIELD +}; + + +/* Check that field information fits in pb_field_t */ +#if !defined(PB_FIELD_32BIT) +/* If you get an error here, it means that you need to define PB_FIELD_32BIT + * compile-time option. You can do that in pb.h or on compiler command line. + * + * The reason you need to do this is that some of your messages contain tag + * numbers or field sizes that are larger than what can fit in 8 or 16 bit + * field descriptors. + */ +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_StructuredPipeline, pipeline) < 65536 && pb_membersize(google_firestore_v1_StructuredPipeline_OptionsEntry, value) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_firestore_v1_StructuredPipeline_google_firestore_v1_StructuredPipeline_OptionsEntry) +#endif + +#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) +/* If you get an error here, it means that you need to define PB_FIELD_16BIT + * compile-time option. You can do that in pb.h or on compiler command line. + * + * The reason you need to do this is that some of your messages contain tag + * numbers or field sizes that are larger than what can fit in the default + * 8 bit descriptors. + */ +PB_STATIC_ASSERT((pb_membersize(google_firestore_v1_StructuredPipeline, pipeline) < 256 && pb_membersize(google_firestore_v1_StructuredPipeline_OptionsEntry, value) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_firestore_v1_StructuredPipeline_google_firestore_v1_StructuredPipeline_OptionsEntry) +#endif + + +std::string google_firestore_v1_StructuredPipeline::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "StructuredPipeline", this); + std::string tostring_result; + + tostring_result += PrintMessageField("pipeline ", + pipeline, indent + 1, false); + for (pb_size_t i = 0; i != options_count; ++i) { + tostring_result += PrintMessageField("options ", + options[i], indent + 1, true); + } + + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; +} + +std::string google_firestore_v1_StructuredPipeline_OptionsEntry::ToString(int indent) const { + std::string tostring_header = PrintHeader(indent, "OptionsEntry", this); + std::string tostring_result; + + tostring_result += PrintPrimitiveField("key: ", key, indent + 1, false); + tostring_result += PrintMessageField("value ", value, indent + 1, false); + + std::string tostring_tail = PrintTail(indent); + return tostring_header + tostring_result + tostring_tail; +} + +} // namespace firestore +} // namespace firebase + +/* @@protoc_insertion_point(eof) */ diff --git a/Firestore/Protos/nanopb/google/firestore/v1/pipeline.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/pipeline.nanopb.h new file mode 100644 index 00000000000..df88e827f68 --- /dev/null +++ b/Firestore/Protos/nanopb/google/firestore/v1/pipeline.nanopb.h @@ -0,0 +1,92 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Automatically generated nanopb header */ +/* Generated by nanopb-0.3.9.8 */ + +#ifndef PB_GOOGLE_FIRESTORE_V1_PIPELINE_NANOPB_H_INCLUDED +#define PB_GOOGLE_FIRESTORE_V1_PIPELINE_NANOPB_H_INCLUDED +#include + +#include "google/api/field_behavior.nanopb.h" + +#include "google/firestore/v1/document.nanopb.h" + +#include + +namespace firebase { +namespace firestore { + +/* @@protoc_insertion_point(includes) */ +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + + +/* Struct definitions */ +typedef struct _google_firestore_v1_StructuredPipeline { + google_firestore_v1_Pipeline pipeline; + pb_size_t options_count; + struct _google_firestore_v1_StructuredPipeline_OptionsEntry *options; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_StructuredPipeline) */ +} google_firestore_v1_StructuredPipeline; + +typedef struct _google_firestore_v1_StructuredPipeline_OptionsEntry { + pb_bytes_array_t *key; + google_firestore_v1_Value value; + + std::string ToString(int indent = 0) const; +/* @@protoc_insertion_point(struct:google_firestore_v1_StructuredPipeline_OptionsEntry) */ +} google_firestore_v1_StructuredPipeline_OptionsEntry; + +/* Default values for struct fields */ + +/* Initializer values for message structs */ +#define google_firestore_v1_StructuredPipeline_init_default {google_firestore_v1_Pipeline_init_default, 0, NULL} +#define google_firestore_v1_StructuredPipeline_OptionsEntry_init_default {NULL, google_firestore_v1_Value_init_default} +#define google_firestore_v1_StructuredPipeline_init_zero {google_firestore_v1_Pipeline_init_zero, 0, NULL} +#define google_firestore_v1_StructuredPipeline_OptionsEntry_init_zero {NULL, google_firestore_v1_Value_init_zero} + +/* Field tags (for use in manual encoding/decoding) */ +#define google_firestore_v1_StructuredPipeline_pipeline_tag 1 +#define google_firestore_v1_StructuredPipeline_options_tag 2 +#define google_firestore_v1_StructuredPipeline_OptionsEntry_key_tag 1 +#define google_firestore_v1_StructuredPipeline_OptionsEntry_value_tag 2 + +/* Struct field encoding specification for nanopb */ +extern const pb_field_t google_firestore_v1_StructuredPipeline_fields[3]; +extern const pb_field_t google_firestore_v1_StructuredPipeline_OptionsEntry_fields[3]; + +/* Maximum encoded size of messages (where known) */ +/* google_firestore_v1_StructuredPipeline_size depends on runtime parameters */ +/* google_firestore_v1_StructuredPipeline_OptionsEntry_size depends on runtime parameters */ + +/* Message IDs (where set with "msgid" option) */ +#ifdef PB_MSGID + +#define PIPELINE_MESSAGES \ + + +#endif + +} // namespace firestore +} // namespace firebase + +/* @@protoc_insertion_point(eof) */ + +#endif diff --git a/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.cc index decd34e2ca2..ca3ce6c85d6 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.h index cac63add141..b54d343853f 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/v1/query.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.cc b/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.cc index d423c292d4a..1f4a31bb164 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.cc +++ b/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.h b/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.h index 0db9c6d2874..9fd6d1688bd 100644 --- a/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.h +++ b/Firestore/Protos/nanopb/google/firestore/v1/write.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/any.nanopb.cc b/Firestore/Protos/nanopb/google/protobuf/any.nanopb.cc index 2a57547086a..5efdaf04dd4 100644 --- a/Firestore/Protos/nanopb/google/protobuf/any.nanopb.cc +++ b/Firestore/Protos/nanopb/google/protobuf/any.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/any.nanopb.h b/Firestore/Protos/nanopb/google/protobuf/any.nanopb.h index c06c82ca2db..5a418826834 100644 --- a/Firestore/Protos/nanopb/google/protobuf/any.nanopb.h +++ b/Firestore/Protos/nanopb/google/protobuf/any.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.cc b/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.cc index ea00f4e2640..bc43bb31233 100644 --- a/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.cc +++ b/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.h b/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.h index be77b64f2b7..5820d750a0d 100644 --- a/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.h +++ b/Firestore/Protos/nanopb/google/protobuf/empty.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.cc b/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.cc index 1eeb1d963c8..9cc956eb61a 100644 --- a/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.cc +++ b/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.h b/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.h index 086fabdc900..9fa79620456 100644 --- a/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.h +++ b/Firestore/Protos/nanopb/google/protobuf/struct.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.cc b/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.cc index d45c5991ef4..cfa685b724e 100644 --- a/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.cc +++ b/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.h b/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.h index a094a954fbc..d5757078e51 100644 --- a/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.h +++ b/Firestore/Protos/nanopb/google/protobuf/timestamp.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.cc b/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.cc index e9832439ffc..a6f03ac797b 100644 --- a/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.cc +++ b/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.h b/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.h index 7efae8dc674..98da8de2209 100644 --- a/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.h +++ b/Firestore/Protos/nanopb/google/protobuf/wrappers.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/rpc/status.nanopb.cc b/Firestore/Protos/nanopb/google/rpc/status.nanopb.cc index b71c001f277..cf7cc2768d9 100644 --- a/Firestore/Protos/nanopb/google/rpc/status.nanopb.cc +++ b/Firestore/Protos/nanopb/google/rpc/status.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/rpc/status.nanopb.h b/Firestore/Protos/nanopb/google/rpc/status.nanopb.h index cadd9ece3a0..bd59ff0a20e 100644 --- a/Firestore/Protos/nanopb/google/rpc/status.nanopb.h +++ b/Firestore/Protos/nanopb/google/rpc/status.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/type/latlng.nanopb.cc b/Firestore/Protos/nanopb/google/type/latlng.nanopb.cc index f6b9e6870e3..378c66500bf 100644 --- a/Firestore/Protos/nanopb/google/type/latlng.nanopb.cc +++ b/Firestore/Protos/nanopb/google/type/latlng.nanopb.cc @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/nanopb/google/type/latlng.nanopb.h b/Firestore/Protos/nanopb/google/type/latlng.nanopb.h index 2daf244dd19..1e78b1896ca 100644 --- a/Firestore/Protos/nanopb/google/type/latlng.nanopb.h +++ b/Firestore/Protos/nanopb/google/type/latlng.nanopb.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 Google LLC + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Protos/protos/google/api/field_behavior.proto b/Firestore/Protos/protos/google/api/field_behavior.proto new file mode 100644 index 00000000000..3c114c3fc8e --- /dev/null +++ b/Firestore/Protos/protos/google/api/field_behavior.proto @@ -0,0 +1,104 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/protobuf/descriptor.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; +option java_multiple_files = true; +option java_outer_classname = "FieldBehaviorProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +extend google.protobuf.FieldOptions { + // A designation of a specific field behavior (required, output only, etc.) + // in protobuf messages. + // + // Examples: + // + // string name = 1 [(google.api.field_behavior) = REQUIRED]; + // State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // google.protobuf.Duration ttl = 1 + // [(google.api.field_behavior) = INPUT_ONLY]; + // google.protobuf.Timestamp expire_time = 1 + // [(google.api.field_behavior) = OUTPUT_ONLY, + // (google.api.field_behavior) = IMMUTABLE]; + repeated google.api.FieldBehavior field_behavior = 1052 [packed = false]; +} + +// An indicator of the behavior of a given field (for example, that a field +// is required in requests, or given as output but ignored as input). +// This **does not** change the behavior in protocol buffers itself; it only +// denotes the behavior and may affect how API tooling handles the field. +// +// Note: This enum **may** receive new values in the future. +enum FieldBehavior { + // Conventional default for enums. Do not use this. + FIELD_BEHAVIOR_UNSPECIFIED = 0; + + // Specifically denotes a field as optional. + // While all fields in protocol buffers are optional, this may be specified + // for emphasis if appropriate. + OPTIONAL = 1; + + // Denotes a field as required. + // This indicates that the field **must** be provided as part of the request, + // and failure to do so will cause an error (usually `INVALID_ARGUMENT`). + REQUIRED = 2; + + // Denotes a field as output only. + // This indicates that the field is provided in responses, but including the + // field in a request does nothing (the server *must* ignore it and + // *must not* throw an error as a result of the field's presence). + OUTPUT_ONLY = 3; + + // Denotes a field as input only. + // This indicates that the field is provided in requests, and the + // corresponding field is not included in output. + INPUT_ONLY = 4; + + // Denotes a field as immutable. + // This indicates that the field may be set once in a request to create a + // resource, but may not be changed thereafter. + IMMUTABLE = 5; + + // Denotes that a (repeated) field is an unordered list. + // This indicates that the service may provide the elements of the list + // in any arbitrary order, rather than the order the user originally + // provided. Additionally, the list's order may or may not be stable. + UNORDERED_LIST = 6; + + // Denotes that this field returns a non-empty default value if not set. + // This indicates that if the user provides the empty value in a request, + // a non-empty value will be returned. The user will not be aware of what + // non-empty value to expect. + NON_EMPTY_DEFAULT = 7; + + // Denotes that the field in a resource (a message annotated with + // google.api.resource) is used in the resource name to uniquely identify the + // resource. For AIP-compliant APIs, this should only be applied to the + // `name` field on the resource. + // + // This behavior should not be applied to references to other resources within + // the message. + // + // The identifier field of resources often have different field behavior + // depending on the request it is embedded in (e.g. for Create methods name + // is optional and unused, while for Update methods it is required). Instead + // of method-specific annotations, only `IDENTIFIER` is required. + IDENTIFIER = 8; +} \ No newline at end of file diff --git a/Firestore/Protos/protos/google/firestore/v1/document.proto b/Firestore/Protos/protos/google/firestore/v1/document.proto index 7414c3c2c48..ec7de3d5aca 100644 --- a/Firestore/Protos/protos/google/firestore/v1/document.proto +++ b/Firestore/Protos/protos/google/firestore/v1/document.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,24 +11,24 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; package google.firestore.v1; +import "google/api/field_behavior.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; import "google/type/latlng.proto"; -option csharp_namespace = "Google.Cloud.Firestore.V1Beta1"; -option go_package = "google.golang.org/genproto/googleapis/firestore/v1;firestore"; +option csharp_namespace = "Google.Cloud.Firestore.V1"; +option go_package = "cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb"; option java_multiple_files = true; option java_outer_classname = "DocumentProto"; option java_package = "com.google.firestore.v1"; option objc_class_prefix = "GCFS"; -option php_namespace = "Google\\Cloud\\Firestore\\V1beta1"; - +option php_namespace = "Google\\Cloud\\Firestore\\V1"; +option ruby_package = "Google::Cloud::Firestore::V1"; // A Firestore document. // @@ -42,23 +42,23 @@ message Document { // // The map keys represent field names. // - // A simple field name contains only characters `a` to `z`, `A` to `Z`, - // `0` to `9`, or `_`, and must not start with `0` to `9`. For example, - // `foo_bar_17`. - // // Field names matching the regular expression `__.*__` are reserved. Reserved - // field names are forbidden except in certain documented contexts. The map - // keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be + // field names are forbidden except in certain documented contexts. The field + // names, represented as UTF-8, must not exceed 1,500 bytes and cannot be // empty. // // Field paths may be used in other contexts to refer to structured fields - // defined here. For `map_value`, the field path is represented by the simple - // or quoted field names of the containing fields, delimited by `.`. For - // example, the structured field - // `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be - // represented by the field path `foo.x&y`. + // defined here. For `map_value`, the field path is represented by a + // dot-delimited (`.`) string of segments. Each segment is either a simple + // field name (defined below) or a quoted field name. For example, the + // structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" + // }}}` would be represented by the field path `` foo.`x&y` ``. + // + // A simple field name contains only characters `a` to `z`, `A` to `Z`, + // `0` to `9`, or `_`, and must not start with `0` to `9`. For example, + // `foo_bar_17`. // - // Within a field path, a quoted field name starts and ends with `` ` `` and + // A quoted field name starts and ends with `` ` `` and // may contain any character. Some characters, including `` ` ``, must be // escaped using a `\`. For example, `` `x&y` `` represents `x&y` and // `` `bak\`tik` `` represents `` bak`tik ``. @@ -123,12 +123,38 @@ message Value { // An array value. // - // Cannot directly contain another array value, though can contain an + // Cannot directly contain another array value, though can contain a // map which contains another array. ArrayValue array_value = 9; // A map value. MapValue map_value = 6; + + // Value which references a field. + // + // This is considered relative (vs absolute) since it only refers to a field + // and not a field within a particular document. + // + // **Requires:** + // + // * Must follow [field reference][FieldReference.field_path] limitations. + // + // * Not allowed to be used when writing documents. + string field_reference_value = 19; + + // A value that represents an unevaluated expression. + // + // **Requires:** + // + // * Not allowed to be used when writing documents. + Function function_value = 20; + + // A value that represents an unevaluated pipeline. + // + // **Requires:** + // + // * Not allowed to be used when writing documents. + Pipeline pipeline_value = 21; } } @@ -148,3 +174,67 @@ message MapValue { // not exceed 1,500 bytes and cannot be empty. map fields = 1; } + +// Represents an unevaluated scalar expression. +// +// For example, the expression `like(user_name, "%alice%")` is represented as: +// +// ``` +// name: "like" +// args { field_reference: "user_name" } +// args { string_value: "%alice%" } +// ``` +message Function { + // Required. The name of the function to evaluate. + // + // **Requires:** + // + // * must be in snake case (lower case with underscore separator). + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Ordered list of arguments the given function expects. + repeated Value args = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Optional named arguments that certain functions may support. + map options = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// A Firestore query represented as an ordered list of operations / stages. +message Pipeline { + // A single operation within a pipeline. + // + // A stage is made up of a unique name, and a list of arguments. The exact + // number of arguments & types is dependent on the stage type. + // + // To give an example, the stage `filter(state = "MD")` would be encoded as: + // + // ``` + // name: "filter" + // args { + // function_value { + // name: "eq" + // args { field_reference_value: "state" } + // args { string_value: "MD" } + // } + // } + // ``` + // + // See public documentation for the full list. + message Stage { + // Required. The name of the stage to evaluate. + // + // **Requires:** + // + // * must be in snake case (lower case with underscore separator). + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Ordered list of arguments the given stage expects. + repeated Value args = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Optional named arguments that certain functions may support. + map options = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. Ordered list of stages to evaluate. + repeated Stage stages = 1 [(google.api.field_behavior) = REQUIRED]; +} \ No newline at end of file diff --git a/Firestore/Protos/protos/google/firestore/v1/explain_stats.proto b/Firestore/Protos/protos/google/firestore/v1/explain_stats.proto new file mode 100644 index 00000000000..285fe34066a --- /dev/null +++ b/Firestore/Protos/protos/google/firestore/v1/explain_stats.proto @@ -0,0 +1,38 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.firestore.v1; + +import "google/protobuf/any.proto"; + +option csharp_namespace = "Google.Cloud.Firestore.V1"; +option go_package = "cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb"; +option java_multiple_files = true; +option java_outer_classname = "ExplainStatsProto"; +option java_package = "com.google.firestore.v1"; +option php_namespace = "Google\\Cloud\\Firestore\\V1"; +option ruby_package = "Google::Cloud::Firestore::V1"; + +// Specification of Firestore Explain Stats fields. + +// Explain stats for an RPC request, includes both the optimized plan and +// execution stats. +message ExplainStats { + // The format depends on the `output_format` options in the request. + // + // The only option today is `TEXT`, which is a `google.protobuf.StringValue`. + google.protobuf.Any data = 1; +} \ No newline at end of file diff --git a/Firestore/Protos/protos/google/firestore/v1/firestore.proto b/Firestore/Protos/protos/google/firestore/v1/firestore.proto index 9dafa8858c3..ebcb1249773 100644 --- a/Firestore/Protos/protos/google/firestore/v1/firestore.proto +++ b/Firestore/Protos/protos/google/firestore/v1/firestore.proto @@ -18,9 +18,12 @@ syntax = "proto3"; package google.firestore.v1; import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; import "google/firestore/v1/aggregation_result.proto"; import "google/firestore/v1/common.proto"; import "google/firestore/v1/document.proto"; +import "google/firestore/v1/explain_stats.proto"; +import "google/firestore/v1/pipeline.proto"; import "google/firestore/v1/query.proto"; import "google/firestore/v1/write.proto"; import "google/protobuf/empty.proto"; @@ -138,6 +141,15 @@ service Firestore { }; } + // Executes a pipeline query. + rpc ExecutePipeline(ExecutePipelineRequest) + returns (stream ExecutePipelineResponse) { + option (google.api.http) = { + post: "/v1/{database=projects/*/databases/*}/documents:executePipeline" + body: "*" + }; + } + // Runs an aggregation query. // // Rather than producing [Document][google.firestore.v1.Document] results like [Firestore.RunQuery][google.firestore.v1.Firestore.RunQuery], @@ -510,6 +522,81 @@ message RunQueryResponse { int32 skipped_results = 4; } +// The request for +// [Firestore.ExecutePipeline][google.firestore.v1.Firestore.ExecutePipeline]. +message ExecutePipelineRequest { + // Required. Database identifier, in the form + // `projects/{project}/databases/{database}`. + string database = 1 [(google.api.field_behavior) = REQUIRED]; + + oneof pipeline_type { + // A pipelined operation. + StructuredPipeline structured_pipeline = 2; + } + + // Optional consistency arguments, defaults to strong consistency. + oneof consistency_selector { + // Run the query within an already active transaction. + // + // The value here is the opaque transaction ID to execute the query in. + bytes transaction = 5; + + // Execute the pipeline in a new transaction. + // + // The identifier of the newly created transaction will be returned in the + // first response on the stream. This defaults to a read-only transaction. + TransactionOptions new_transaction = 6; + + // Execute the pipeline in a snapshot transaction at the given time. + // + // This must be a microsecond precision timestamp within the past one hour, + // or if Point-in-Time Recovery is enabled, can additionally be a whole + // minute timestamp within the past 7 days. + google.protobuf.Timestamp read_time = 7; + } +} + +// The response for [Firestore.Execute][]. +message ExecutePipelineResponse { + // Newly created transaction identifier. + // + // This field is only specified as part of the first response from the server, + // alongside the `results` field when the original request specified + // [ExecuteRequest.new_transaction][]. + bytes transaction = 1; + + // An ordered batch of results returned executing a pipeline. + // + // The batch size is variable, and can even be zero for when only a partial + // progress message is returned. + // + // The fields present in the returned documents are only those that were + // explicitly requested in the pipeline, this include those like + // [`__name__`][google.firestore.v1.Document.name] & + // [`__update_time__`][google.firestore.v1.Document.update_time]. This is + // explicitly a divergence from `Firestore.RunQuery` / `Firestore.GetDocument` + // RPCs which always return such fields even when they are not specified in + // the [`mask`][google.firestore.v1.DocumentMask]. + repeated Document results = 2; + + // The time at which the document(s) were read. + // + // This may be monotonically increasing; in this case, the previous documents + // in the result stream are guaranteed not to have changed between their + // `execution_time` and this one. + // + // If the query returns no results, a response with `execution_time` and no + // `results` will be sent, and this represents the time at which the operation + // was run. + google.protobuf.Timestamp execution_time = 3; + + // Query explain stats. + // + // Contains all metadata related to pipeline planning and execution, specific + // contents depend on the supplied pipeline options. + ExplainStats explain_stats = 4; +} + // The request for [Firestore.RunAggregationQuery][google.firestore.v1.Firestore.RunAggregationQuery]. message RunAggregationQueryRequest { // Required. The parent resource name. In the format: diff --git a/Firestore/Protos/protos/google/firestore/v1/pipeline.proto b/Firestore/Protos/protos/google/firestore/v1/pipeline.proto new file mode 100644 index 00000000000..33508166ea7 --- /dev/null +++ b/Firestore/Protos/protos/google/firestore/v1/pipeline.proto @@ -0,0 +1,43 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.firestore.v1; + +import "google/api/field_behavior.proto"; +import "google/firestore/v1/document.proto"; + +option csharp_namespace = "Google.Cloud.Firestore.V1"; +option go_package = "cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb"; +option java_multiple_files = true; +option java_outer_classname = "PipelineProto"; +option java_package = "com.google.firestore.v1"; +option objc_class_prefix = "GCFS"; +option php_namespace = "Google\\Cloud\\Firestore\\V1"; +option ruby_package = "Google::Cloud::Firestore::V1"; + +// A Firestore query represented as an ordered list of operations / stages. +// +// This is considered the top-level function which plans & executes a query. +// It is logically equivalent to `query(stages, options)`, but prevents the +// client from having to build a function wrapper. +message StructuredPipeline { + // Required. The pipeline query to execute. + Pipeline pipeline = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Optional query-level arguments. + // + map options = 2 [(google.api.field_behavior) = OPTIONAL]; +} \ No newline at end of file diff --git a/Firestore/Source/API/FIRFirestore+Internal.h b/Firestore/Source/API/FIRFirestore+Internal.h index 5c5da4c525d..eecc1160a5f 100644 --- a/Firestore/Source/API/FIRFirestore+Internal.h +++ b/Firestore/Source/API/FIRFirestore+Internal.h @@ -1,5 +1,5 @@ /* - * Copyright 2017 Google + * Copyright 2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/Firestore/Source/API/FIRPipelineBridge+Internal.h b/Firestore/Source/API/FIRPipelineBridge+Internal.h new file mode 100644 index 00000000000..30bee14aa02 --- /dev/null +++ b/Firestore/Source/API/FIRPipelineBridge+Internal.h @@ -0,0 +1,56 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import "FIRPipelineBridge.h" + +#include + +#include "Firestore/core/src/api/expressions.h" +#include "Firestore/core/src/api/firestore.h" +#include "Firestore/core/src/api/pipeline.h" +#include "Firestore/core/src/api/stages.h" + +@class FIRFilter; + +namespace api = firebase::firestore::api; + +NS_ASSUME_NONNULL_BEGIN + +@interface FIRExprBridge (Internal) + +- (std::shared_ptr)cppExprWithReader:(FSTUserDataReader *)reader; + +@end + +@interface FIRStageBridge (Internal) + +- (std::shared_ptr)cppStageWithReader:(FSTUserDataReader *)reader; + +@end + +@interface __FIRPipelineSnapshotBridge (Internal) + +- (id)initWithCppSnapshot:(api::PipelineSnapshot)snapshot; + +@end + +@interface __FIRPipelineResultBridge (Internal) + +- (id)initWithCppResult:(api::PipelineResult)result db:(std::shared_ptr)db; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Firestore/Source/API/FIRPipelineBridge.mm b/Firestore/Source/API/FIRPipelineBridge.mm new file mode 100644 index 00000000000..c10a05f4d88 --- /dev/null +++ b/Firestore/Source/API/FIRPipelineBridge.mm @@ -0,0 +1,291 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import "FIRPipelineBridge.h" + +#include + +#import "Firestore/Source/API/FIRDocumentReference+Internal.h" +#import "Firestore/Source/API/FIRFirestore+Internal.h" +#import "Firestore/Source/API/FIRPipelineBridge+Internal.h" +#import "Firestore/Source/API/FSTUserDataReader.h" +#import "Firestore/Source/API/FSTUserDataWriter.h" + +#include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" + +#include "Firestore/core/src/api/document_reference.h" +#include "Firestore/core/src/api/expressions.h" +#include "Firestore/core/src/api/pipeline.h" +#include "Firestore/core/src/api/pipeline_result.h" +#include "Firestore/core/src/api/pipeline_snapshot.h" +#include "Firestore/core/src/api/stages.h" +#include "Firestore/core/src/util/error_apple.h" +#include "Firestore/core/src/util/status.h" +#include "Firestore/core/src/util/string_apple.h" + +using firebase::firestore::api::CollectionSource; +using firebase::firestore::api::Constant; +using firebase::firestore::api::DocumentReference; +using firebase::firestore::api::Expr; +using firebase::firestore::api::Field; +using firebase::firestore::api::FunctionExpr; +using firebase::firestore::api::Pipeline; +using firebase::firestore::api::Where; +using firebase::firestore::util::MakeCallback; +using firebase::firestore::util::MakeNSString; +using firebase::firestore::util::MakeString; + +NS_ASSUME_NONNULL_BEGIN + +@implementation FIRExprBridge +@end + +@implementation FIRFieldBridge { + std::shared_ptr field; +} + +- (id)init:(NSString *)name { + self = [super init]; + if (self) { + field = std::make_shared(MakeString(name)); + } + return self; +} + +- (std::shared_ptr)cppExprWithReader:(FSTUserDataReader *)reader { + return field; +} + +@end + +@implementation FIRConstantBridge { + std::shared_ptr constant; + id _input; + Boolean isUserDataRead; +} +- (id)init:(id)input { + self = [super init]; + _input = input; + isUserDataRead = NO; + return self; +} + +- (std::shared_ptr)cppExprWithReader:(FSTUserDataReader *)reader { + if (!isUserDataRead) { + constant = std::make_shared([reader parsedQueryValue:_input]); + } + + isUserDataRead = YES; + return constant; +} + +@end + +@implementation FIRFunctionExprBridge { + std::shared_ptr eq; + NSString *_name; + NSArray *_args; + Boolean isUserDataRead; +} + +- (nonnull id)initWithName:(NSString *)name Args:(nonnull NSArray *)args { + self = [super init]; + _name = name; + _args = args; + isUserDataRead = NO; + return self; +} + +- (std::shared_ptr)cppExprWithReader:(FSTUserDataReader *)reader { + if (!isUserDataRead) { + std::vector> cpp_args; + for (FIRExprBridge *arg in _args) { + cpp_args.push_back([arg cppExprWithReader:reader]); + } + eq = std::make_shared(MakeString(_name), std::move(cpp_args)); + } + + isUserDataRead = YES; + return eq; +} + +@end + +@implementation FIRStageBridge +@end + +@implementation FIRCollectionSourceStageBridge { + std::shared_ptr collection_source; +} + +- (id)initWithPath:(NSString *)path { + self = [super init]; + if (self) { + collection_source = std::make_shared(MakeString(path)); + } + return self; +} + +- (std::shared_ptr)cppStageWithReader:(FSTUserDataReader *)reader { + return collection_source; +} + +@end + +@implementation FIRWhereStageBridge { + FIRExprBridge *_exprBridge; + Boolean isUserDataRead; + std::shared_ptr where; +} + +- (id)initWithExpr:(FIRExprBridge *)expr { + self = [super init]; + if (self) { + _exprBridge = expr; + isUserDataRead = NO; + } + return self; +} + +- (std::shared_ptr)cppStageWithReader:(FSTUserDataReader *)reader { + if (!isUserDataRead) { + where = std::make_shared([_exprBridge cppExprWithReader:reader]); + } + + isUserDataRead = YES; + return where; +} + +@end + +@interface __FIRPipelineSnapshotBridge () + +@property(nonatomic, strong, readwrite) NSArray<__FIRPipelineSnapshotBridge *> *results; + +@end + +@implementation __FIRPipelineSnapshotBridge { + absl::optional snapshot_; + NSMutableArray<__FIRPipelineResultBridge *> *results_; +} + +- (id)initWithCppSnapshot:(api::PipelineSnapshot)snapshot { + self = [super init]; + if (self) { + snapshot_ = std::move(snapshot); + if (!snapshot_.has_value()) { + results_ = nil; + } else { + NSMutableArray<__FIRPipelineResultBridge *> *results = [NSMutableArray array]; + for (auto &result : snapshot_.value().results()) { + [results addObject:[[__FIRPipelineResultBridge alloc] + initWithCppResult:result + db:snapshot_.value().firestore()]]; + } + results_ = results; + } + } + + return self; +} + +- (NSArray<__FIRPipelineResultBridge *> *)results { + return results_; +} + +@end + +@implementation __FIRPipelineResultBridge { + api::PipelineResult _result; + std::shared_ptr _db; +} + +- (FIRDocumentReference *)reference { + if (!_result.internal_key().has_value()) return nil; + + return [[FIRDocumentReference alloc] initWithKey:_result.internal_key().value() firestore:_db]; +} + +- (NSString *)documentID { + if (!_result.document_id().has_value()) { + return nil; + } + + return MakeNSString(_result.document_id().value()); +} + +- (id)initWithCppResult:(api::PipelineResult)result db:(std::shared_ptr)db { + self = [super init]; + if (self) { + _result = std::move(result); + _db = std::move(db); + } + + return self; +} + +- (nullable NSDictionary *)data { + return [self dataWithServerTimestampBehavior:FIRServerTimestampBehaviorNone]; +} + +- (nullable NSDictionary *)dataWithServerTimestampBehavior: + (FIRServerTimestampBehavior)serverTimestampBehavior { + absl::optional data = + _result.internal_value()->Get(); + if (!data) return nil; + + FSTUserDataWriter *dataWriter = + [[FSTUserDataWriter alloc] initWithFirestore:_db + serverTimestampBehavior:serverTimestampBehavior]; + return [dataWriter convertedValue:*data]; +} + +@end + +@implementation FIRPipelineBridge { + NSArray *_stages; + FIRFirestore *firestore; + std::shared_ptr pipeline; +} + +- (id)initWithStages:(NSArray *)stages db:(FIRFirestore *)db { + _stages = stages; + firestore = db; + return [super init]; +} + +- (void)executeWithCompletion:(void (^)(__FIRPipelineSnapshotBridge *_Nullable result, + NSError *_Nullable error))completion { + std::vector> cpp_stages; + for (FIRStageBridge *stage in _stages) { + cpp_stages.push_back([stage cppStageWithReader:firestore.dataReader]); + } + pipeline = std::make_shared(cpp_stages, firestore.wrapped); + + pipeline->execute([completion](StatusOr maybe_value) { + if (maybe_value.ok()) { + __FIRPipelineSnapshotBridge *bridge = [[__FIRPipelineSnapshotBridge alloc] + initWithCppSnapshot:std::move(maybe_value).ValueOrDie()]; + completion(bridge, nil); + } else { + completion(nil, MakeNSError(std::move(maybe_value).status())); + } + }); +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Firestore/Source/Public/FirebaseFirestore/FIRPipelineBridge.h b/Firestore/Source/Public/FirebaseFirestore/FIRPipelineBridge.h new file mode 100644 index 00000000000..a27b2b7aa18 --- /dev/null +++ b/Firestore/Source/Public/FirebaseFirestore/FIRPipelineBridge.h @@ -0,0 +1,93 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import "FIRFirestore.h" + +#import + +#import "FIRDocumentSnapshot.h" + +NS_ASSUME_NONNULL_BEGIN + +NS_SWIFT_NAME(ExprBridge) +@interface FIRExprBridge : NSObject +@end + +NS_SWIFT_NAME(FieldBridge) +@interface FIRFieldBridge : FIRExprBridge +- (id)init:(NSString *)name; +@end + +NS_SWIFT_NAME(ConstantBridge) +@interface FIRConstantBridge : FIRExprBridge +- (id)init:(id)input; +@end + +NS_SWIFT_NAME(FunctionExprBridge) +@interface FIRFunctionExprBridge : FIRExprBridge +- (id)initWithName:(NSString *)name Args:(NSArray *)args; +@end + +NS_SWIFT_NAME(StageBridge) +@interface FIRStageBridge : NSObject +@end + +NS_SWIFT_NAME(CollectionSourceStageBridge) +@interface FIRCollectionSourceStageBridge : FIRStageBridge + +- (id)initWithPath:(NSString *)path; + +@end + +NS_SWIFT_NAME(WhereStageBridge) +@interface FIRWhereStageBridge : FIRStageBridge + +- (id)initWithExpr:(FIRExprBridge *)expr; + +@end + +NS_SWIFT_NAME(__PipelineSnapshotBridge) +@interface __FIRPipelineSnapshotBridge : NSObject + +@property(nonatomic, strong, readonly) NSArray<__FIRPipelineSnapshotBridge *> *results; + +@end + +NS_SWIFT_NAME(__PipelineResultBridge) +@interface __FIRPipelineResultBridge : NSObject + +@property(nonatomic, strong, readonly) FIRDocumentReference *reference; + +@property(nonatomic, copy, readonly) NSString *documentID; + +- (nullable NSDictionary *)data; +- (nullable NSDictionary *)dataWithServerTimestampBehavior: + (FIRServerTimestampBehavior)serverTimestampBehavior; + +@end + +NS_SWIFT_NAME(PipelineBridge) +@interface FIRPipelineBridge : NSObject + +/** :nodoc: */ +- (id)initWithStages:(NSArray *)stages db:(FIRFirestore *)db; + +- (void)executeWithCompletion:(void (^)(__FIRPipelineSnapshotBridge *_Nullable result, + NSError *_Nullable error))completion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Firestore/Source/Public/FirebaseFirestore/FirebaseFirestore.h b/Firestore/Source/Public/FirebaseFirestore/FirebaseFirestore.h index 7fabad323c8..0f10968565a 100644 --- a/Firestore/Source/Public/FirebaseFirestore/FirebaseFirestore.h +++ b/Firestore/Source/Public/FirebaseFirestore/FirebaseFirestore.h @@ -32,6 +32,7 @@ #import "FIRListenerRegistration.h" #import "FIRLoadBundleTask.h" #import "FIRLocalCacheSettings.h" +#import "FIRPipelineBridge.h" #import "FIRQuery.h" #import "FIRQuerySnapshot.h" #import "FIRSnapshotListenOptions.h" diff --git a/Firestore/Swift/Source/SwiftAPI/Expressions.swift b/Firestore/Swift/Source/SwiftAPI/Expressions.swift new file mode 100644 index 00000000000..22af7ae6471 --- /dev/null +++ b/Firestore/Swift/Source/SwiftAPI/Expressions.swift @@ -0,0 +1,76 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import Foundation + +public protocol Expr {} + +protocol BridgeWrapper { + var bridge: ExprBridge { get } +} + +public struct Constant: Expr, BridgeWrapper { + var bridge: ExprBridge + + var value: Any + init(value: Any) { + self.value = value + bridge = ConstantBridge(value) + } +} + +public func constant(_ number: Any) -> Constant { + return Constant(value: number) +} + +public struct Field: Expr, BridgeWrapper { + var bridge: ExprBridge + + var name: String + init(name: String) { + self.name = name + bridge = FieldBridge(name) + } +} + +public func field(_ name: String) -> Field { + return Field(name: name) +} + +protocol Function: Expr { + var name: String { get } +} + +public struct FunctionExpr: Function, BridgeWrapper { + var bridge: ExprBridge + + var name: String + private var args: [Expr] + + init(name: String, args: [Expr]) { + self.name = name + self.args = args + bridge = FunctionExprBridge( + name: name, + args: args.map { ($0 as! (Expr & BridgeWrapper)).bridge + } + ) + } +} + +public func eq(_ left: Expr, _ right: Expr) -> FunctionExpr { + return FunctionExpr(name: "eq", args: [left, right]) +} diff --git a/Firestore/Swift/Source/SwiftAPI/Firestore+Pipeline.swift b/Firestore/Swift/Source/SwiftAPI/Firestore+Pipeline.swift new file mode 100644 index 00000000000..0179ece4e04 --- /dev/null +++ b/Firestore/Swift/Source/SwiftAPI/Firestore+Pipeline.swift @@ -0,0 +1,23 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import Foundation + +@objc public extension Firestore { + @nonobjc func pipeline() -> PipelineSource { + return PipelineSource(db: self) + } +} diff --git a/Firestore/Swift/Source/SwiftAPI/Pipeline.swift b/Firestore/Swift/Source/SwiftAPI/Pipeline.swift new file mode 100644 index 00000000000..8c8a4364d30 --- /dev/null +++ b/Firestore/Swift/Source/SwiftAPI/Pipeline.swift @@ -0,0 +1,45 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import Foundation + +public struct Pipeline { + private var stages: [Stage] + private var bridge: PipelineBridge + private let db: Firestore + + init(stages: [Stage], db: Firestore) { + self.stages = stages + self.db = db + bridge = PipelineBridge(stages: stages.map { $0.bridge }, db: db) + } + + public func `where`(_ condition: Expr) -> Pipeline { + return Pipeline(stages: stages + [Where(condition: condition)], db: db) + } + + public func execute() async throws -> PipelineSnapshot { + return try await withCheckedThrowingContinuation { continuation in + self.bridge.execute { result, error in + if let error { + continuation.resume(throwing: error) + } else { + continuation.resume(returning: PipelineSnapshot(result!)) + } + } + } + } +} diff --git a/Firestore/Swift/Source/SwiftAPI/PipelineSnapshot.swift b/Firestore/Swift/Source/SwiftAPI/PipelineSnapshot.swift new file mode 100644 index 00000000000..00386d0c6dc --- /dev/null +++ b/Firestore/Swift/Source/SwiftAPI/PipelineSnapshot.swift @@ -0,0 +1,25 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import Foundation + +public struct PipelineSnapshot { + private let bridge: __PipelineSnapshotBridge + + init(_ bridge: __PipelineSnapshotBridge) { + self.bridge = bridge + } +} diff --git a/Firestore/Swift/Source/SwiftAPI/PipelineSource.swift b/Firestore/Swift/Source/SwiftAPI/PipelineSource.swift new file mode 100644 index 00000000000..ce84c0356ac --- /dev/null +++ b/Firestore/Swift/Source/SwiftAPI/PipelineSource.swift @@ -0,0 +1,28 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import Foundation + +public class PipelineSource { + private let db: Firestore + public init(db: Firestore) { + self.db = db + } + + public func collection(path: String) -> Pipeline { + return Pipeline(stages: [CollectionSource(collection: path)], db: db) + } +} diff --git a/Firestore/Swift/Source/SwiftAPI/Stages.swift b/Firestore/Swift/Source/SwiftAPI/Stages.swift new file mode 100644 index 00000000000..c5de0c00e52 --- /dev/null +++ b/Firestore/Swift/Source/SwiftAPI/Stages.swift @@ -0,0 +1,47 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import FirebaseFirestoreInternal +import Foundation + +protocol Stage { + var name: String { get } + var bridge: StageBridge { get } +} + +class CollectionSource: Stage { + var name: String = "collection" + + var bridge: StageBridge + private var collection: String + + init(collection: String) { + self.collection = collection + bridge = CollectionSourceStageBridge(path: collection) + } +} + +class Where: Stage { + var name: String = "where" + + var bridge: StageBridge + private var condition: Expr // TODO: should be FilterCondition + + init(condition: Expr) { + self.condition = condition + bridge = WhereStageBridge(expr: (condition as! (Expr & BridgeWrapper)).bridge) + } +} diff --git a/Firestore/Swift/Tests/Integration/PipelineTests.swift b/Firestore/Swift/Tests/Integration/PipelineTests.swift new file mode 100644 index 00000000000..a2252488312 --- /dev/null +++ b/Firestore/Swift/Tests/Integration/PipelineTests.swift @@ -0,0 +1,32 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import FirebaseFirestore +import Foundation + +@available(iOS 13, tvOS 13, macOS 10.15, macCatalyst 13, watchOS 7, *) +class PipelineIntegrationTests: FSTIntegrationTestCase { + func testCount() async throws { + try await firestore().collection("foo").document("bar").setData(["foo": "bar", "x": 42]) + let snapshot = try await firestore() + .pipeline() + .collection(path: "/foo") + .where(eq(field("foo"), constant("bar"))) + .execute() + + print(snapshot) + } +} diff --git a/Firestore/core/src/api/aggregate_expressions.cc b/Firestore/core/src/api/aggregate_expressions.cc new file mode 100644 index 00000000000..87fc69c368a --- /dev/null +++ b/Firestore/core/src/api/aggregate_expressions.cc @@ -0,0 +1,43 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/api/aggregate_expressions.h" + +#include "Firestore/core/src/nanopb/nanopb_util.h" + +namespace firebase { +namespace firestore { +namespace api { + +google_firestore_v1_Value AggregateExpr::to_proto() const { + google_firestore_v1_Value result; + result.which_value_type = google_firestore_v1_Value_function_value_tag; + + result.function_value.name = nanopb::MakeBytesArray(name_); + result.function_value.args_count = static_cast(params_.size()); + result.function_value.args = nanopb::MakeArray( + result.function_value.args_count); + + for (size_t i = 0; i < params_.size(); ++i) { + result.function_value.args[i] = params_[i]->to_proto(); + } + + return result; +} + +} // namespace api +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/api/aggregate_expressions.h b/Firestore/core/src/api/aggregate_expressions.h new file mode 100644 index 00000000000..119198b2abd --- /dev/null +++ b/Firestore/core/src/api/aggregate_expressions.h @@ -0,0 +1,50 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_API_AGGREGATE_EXPRESSIONS_H_ +#define FIRESTORE_CORE_SRC_API_AGGREGATE_EXPRESSIONS_H_ + +#include +#include +#include +#include + +#include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" +#include "Firestore/core/src/api/expressions.h" + +namespace firebase { +namespace firestore { +namespace api { + +class AggregateExpr { + public: + AggregateExpr(std::string name, std::vector> params) + : name_(std::move(name)), params_(std::move(params)) { + } + ~AggregateExpr() = default; + + google_firestore_v1_Value to_proto() const; + + private: + std::string name_; + std::vector> params_; +}; + +} // namespace api +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_API_AGGREGATE_EXPRESSIONS_H_ diff --git a/Firestore/core/src/api/api_fwd.h b/Firestore/core/src/api/api_fwd.h index 0c35c567157..ded3bfb76af 100644 --- a/Firestore/core/src/api/api_fwd.h +++ b/Firestore/core/src/api/api_fwd.h @@ -44,6 +44,8 @@ class DocumentReference; class DocumentSnapshot; class Firestore; class ListenerRegistration; +class Pipeline; +class PipelineSnapshot; class Query; class QuerySnapshot; class Settings; diff --git a/Firestore/core/src/api/expressions.cc b/Firestore/core/src/api/expressions.cc new file mode 100644 index 00000000000..7ec517f2aab --- /dev/null +++ b/Firestore/core/src/api/expressions.cc @@ -0,0 +1,58 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/api/expressions.h" + +#include + +#include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" +#include "Firestore/core/src/model/value_util.h" +#include "Firestore/core/src/nanopb/nanopb_util.h" + +namespace firebase { +namespace firestore { +namespace api { + +google_firestore_v1_Value Field::to_proto() const { + google_firestore_v1_Value result; + + result.which_value_type = google_firestore_v1_Value_field_reference_value_tag; + result.field_reference_value = nanopb::MakeBytesArray(this->name_); + + return result; +} + +google_firestore_v1_Value Constant::to_proto() const { + // Return a copy of the value proto to avoid double delete. + return *model::DeepClone(*value_).release(); +} + +google_firestore_v1_Value FunctionExpr::to_proto() const { + google_firestore_v1_Value result; + + result.which_value_type = google_firestore_v1_Value_function_value_tag; + result.function_value = google_firestore_v1_Function{}; + result.function_value.name = nanopb::MakeBytesArray(name_); + nanopb::SetRepeatedField( + &result.function_value.args, &result.function_value.args_count, args_, + [](const std::shared_ptr& arg) { return arg->to_proto(); }); + + return result; +} + +} // namespace api +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/api/expressions.h b/Firestore/core/src/api/expressions.h new file mode 100644 index 00000000000..5b08a277e3b --- /dev/null +++ b/Firestore/core/src/api/expressions.h @@ -0,0 +1,86 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_API_EXPRESSIONS_H_ +#define FIRESTORE_CORE_SRC_API_EXPRESSIONS_H_ + +#include +#include +#include +#include + +#include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" +#include "Firestore/core/src/nanopb/message.h" + +namespace firebase { +namespace firestore { +namespace api { + +class Expr { + public: + Expr() = default; + virtual ~Expr() = default; + virtual google_firestore_v1_Value to_proto() const = 0; +}; + +class Selectable : public Expr { + public: + virtual ~Selectable() = default; + virtual const std::string& alias() const = 0; +}; + +class Field : public Selectable { + public: + explicit Field(std::string name) : name_(std::move(name)) { + } + google_firestore_v1_Value to_proto() const override; + const std::string& alias() const override { + return name_; + } + + private: + std::string name_; +}; + +class Constant : public Expr { + public: + explicit Constant(nanopb::SharedMessage value) + : value_(std::move(value)) { + } + google_firestore_v1_Value to_proto() const override; + + private: + nanopb::SharedMessage value_; +}; + +class FunctionExpr : public Expr { + public: + FunctionExpr(std::string name, std::vector> args) + : name_(std::move(name)), args_(std::move(args)) { + } + + google_firestore_v1_Value to_proto() const override; + + private: + std::string name_; + std::vector> args_; +}; + +} // namespace api +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_API_EXPRESSIONS_H_ diff --git a/Firestore/core/src/api/firestore.cc b/Firestore/core/src/api/firestore.cc index 70cb975cc71..1484f3a27fc 100644 --- a/Firestore/core/src/api/firestore.cc +++ b/Firestore/core/src/api/firestore.cc @@ -179,6 +179,13 @@ void Firestore::RunTransaction(core::TransactionUpdateCallback update_callback, std::move(result_callback)); } +void Firestore::RunPipeline(const api::Pipeline& pipeline, + util::StatusOrCallback callback) { + EnsureClientConfigured(); + + client_->RunPipeline(pipeline, std::move(callback)); +} + void Firestore::Terminate(util::StatusCallback callback) { // The client must be initialized to ensure that all subsequent API usage // throws an exception. diff --git a/Firestore/core/src/api/firestore.h b/Firestore/core/src/api/firestore.h index 0300f6c61f2..de22a87c14c 100644 --- a/Firestore/core/src/api/firestore.h +++ b/Firestore/core/src/api/firestore.h @@ -102,6 +102,8 @@ class Firestore : public std::enable_shared_from_this { void RunTransaction(core::TransactionUpdateCallback update_callback, core::TransactionResultCallback result_callback, int max_attempts); + void RunPipeline(const api::Pipeline& pipeline, + util::StatusOrCallback callback); void Terminate(util::StatusCallback callback); void ClearPersistence(util::StatusCallback callback); diff --git a/Firestore/core/src/api/ordering.cc b/Firestore/core/src/api/ordering.cc new file mode 100644 index 00000000000..6520cea5b6f --- /dev/null +++ b/Firestore/core/src/api/ordering.cc @@ -0,0 +1,47 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/api/ordering.h" + +#include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" +#include "Firestore/core/src/nanopb/nanopb_util.h" + +namespace firebase { +namespace firestore { +namespace api { + +google_firestore_v1_Value Ordering::to_proto() const { + google_firestore_v1_Value result; + result.which_value_type = google_firestore_v1_Value_map_value_tag; + + result.map_value.fields_count = 2; + result.map_value.fields = + nanopb::MakeArray(2); + result.map_value.fields[0].key = nanopb::MakeBytesArray("expression"); + result.map_value.fields[0].value = field_.to_proto(); + result.map_value.fields[1].key = nanopb::MakeBytesArray("direction"); + google_firestore_v1_Value direction; + direction.which_value_type = google_firestore_v1_Value_string_value_tag; + direction.string_value = nanopb::MakeBytesArray( + this->direction_ == ASCENDING ? "ascending" : "descending"); + result.map_value.fields[1].value = direction; + + return result; +} + +} // namespace api +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/api/ordering.h b/Firestore/core/src/api/ordering.h new file mode 100644 index 00000000000..130dda12b19 --- /dev/null +++ b/Firestore/core/src/api/ordering.h @@ -0,0 +1,52 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_API_ORDERING_H_ +#define FIRESTORE_CORE_SRC_API_ORDERING_H_ + +#include + +#include "Firestore/core/src/api/expressions.h" + +namespace firebase { +namespace firestore { +namespace api { + +class UserDataReader; // forward declaration + +class Ordering { + public: + enum Direction { + ASCENDING, + DESCENDING, + }; + + Ordering(Field field, Direction direction) + : field_(std::move(field)), direction_(direction) { + } + + google_firestore_v1_Value to_proto() const; + + private: + Field field_; + Direction direction_; +}; + +} // namespace api +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_API_ORDERING_H_ diff --git a/Firestore/core/src/api/pipeline.cc b/Firestore/core/src/api/pipeline.cc new file mode 100644 index 00000000000..24c5109bd95 --- /dev/null +++ b/Firestore/core/src/api/pipeline.cc @@ -0,0 +1,45 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/api/pipeline.h" + +#include +#include + +#include "Firestore/core/src/core/firestore_client.h" + +namespace firebase { +namespace firestore { +namespace api { + +Pipeline Pipeline::AddingStage(std::shared_ptr stage) { + auto copy = std::vector>(this->stages_); + copy.push_back(stage); + + return {copy, this->firestore_}; +} + +const std::vector>& Pipeline::stages() const { + return this->stages_; +} + +void Pipeline::execute(util::StatusOrCallback callback) { + this->firestore_->RunPipeline(*this, std::move(callback)); +} + +} // namespace api +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/api/pipeline.h b/Firestore/core/src/api/pipeline.h new file mode 100644 index 00000000000..6103f366eda --- /dev/null +++ b/Firestore/core/src/api/pipeline.h @@ -0,0 +1,59 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_API_PIPELINE_H_ +#define FIRESTORE_CORE_SRC_API_PIPELINE_H_ + +#include +#include +#include + +#include "Firestore/core/src/api/firestore.h" +#include "Firestore/core/src/api/pipeline_snapshot.h" +#include "Firestore/core/src/api/stages.h" +#include "Firestore/core/src/util/status_fwd.h" + +namespace firebase { +namespace firestore { +namespace api { + +class Pipeline { + public: + Pipeline(std::vector> stages, + std::shared_ptr firestore) + : stages_(std::move(stages)), firestore_(firestore) { + } + + const std::shared_ptr& firestore() const { + return firestore_; + } + + Pipeline AddingStage(std::shared_ptr stage); + + const std::vector>& stages() const; + + void execute(util::StatusOrCallback callback); + + private: + std::vector> stages_; + std::shared_ptr firestore_; +}; + +} // namespace api +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_API_PIPELINE_H_ diff --git a/Firestore/core/src/api/pipeline_result.cc b/Firestore/core/src/api/pipeline_result.cc new file mode 100644 index 00000000000..655fd7b4132 --- /dev/null +++ b/Firestore/core/src/api/pipeline_result.cc @@ -0,0 +1,52 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/api/pipeline_result.h" + +#include + +#include "Firestore/core/src/api/document_reference.h" +#include "Firestore/core/src/model/document.h" +#include "Firestore/core/src/model/document_key.h" +#include "Firestore/core/src/model/field_path.h" +#include "Firestore/core/src/model/object_value.h" +#include "Firestore/core/src/model/resource_path.h" +#include "absl/strings/string_view.h" +#include "absl/types/optional.h" + +namespace firebase { +namespace firestore { +namespace api { + +using model::Document; +using model::DocumentKey; +using model::FieldPath; +using model::ObjectValue; + +std::shared_ptr PipelineResult::internal_value() const { + return value_; +} + +absl::optional PipelineResult::document_id() const { + if (!internal_key_.has_value()) { + return absl::nullopt; + } + return internal_key_.value().path().last_segment(); +} + +} // namespace api +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/api/pipeline_result.h b/Firestore/core/src/api/pipeline_result.h new file mode 100644 index 00000000000..53761752cdc --- /dev/null +++ b/Firestore/core/src/api/pipeline_result.h @@ -0,0 +1,75 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_API_PIPELINE_RESULT_H_ +#define FIRESTORE_CORE_SRC_API_PIPELINE_RESULT_H_ + +#include +#include +#include + +#include "Firestore/core/src/model/document.h" +#include "Firestore/core/src/model/document_key.h" +#include "Firestore/core/src/model/model_fwd.h" +#include "absl/strings/string_view.h" +#include "absl/types/optional.h" + +namespace firebase { +namespace firestore { +namespace api { + +class DocumentReference; +class Firestore; + +class PipelineResult { + public: + PipelineResult(absl::optional document_key, + std::shared_ptr value, + absl::optional create_time, + absl::optional update_time, + absl::optional execution_time) + : internal_key_{std::move(document_key)}, + value_{std::move(value)}, + create_time_{create_time}, + update_time_{update_time}, + execution_time_{execution_time} { + } + + PipelineResult() = default; + + std::shared_ptr internal_value() const; + absl::optional document_id() const; + + const absl::optional& internal_key() const { + return internal_key_; + } + + private: + absl::optional internal_key_; + // Using a shared pointer to ObjectValue makes PipelineResult copy-assignable + // without having to manually create a deep clone of its Protobuf contents. + std::shared_ptr value_ = + std::make_shared(); + absl::optional create_time_; + absl::optional update_time_; + absl::optional execution_time_; +}; + +} // namespace api +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_API_PIPELINE_RESULT_H_ diff --git a/Firestore/core/src/api/pipeline_snapshot.h b/Firestore/core/src/api/pipeline_snapshot.h new file mode 100644 index 00000000000..079f2d57375 --- /dev/null +++ b/Firestore/core/src/api/pipeline_snapshot.h @@ -0,0 +1,62 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_API_PIPELINE_SNAPSHOT_H_ +#define FIRESTORE_CORE_SRC_API_PIPELINE_SNAPSHOT_H_ + +#include +#include +#include +#include + +#include "Firestore/core/src/api/api_fwd.h" +#include "Firestore/core/src/api/pipeline_result.h" +#include "Firestore/core/src/model/snapshot_version.h" + +namespace firebase { +namespace firestore { +namespace api { + +class PipelineSnapshot { + public: + explicit PipelineSnapshot(std::vector&& results, + model::SnapshotVersion execution_time) + : results_(std::move(results)), execution_time_(execution_time) { + } + + const std::vector& results() const { + return results_; + } + + const std::shared_ptr firestore() const { + return firestore_; + } + + void SetFirestore(std::shared_ptr db) { + firestore_ = std::move(db); + } + + private: + std::vector results_; + model::SnapshotVersion execution_time_; + std::shared_ptr firestore_; +}; + +} // namespace api +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_API_PIPELINE_SNAPSHOT_H_ diff --git a/Firestore/core/src/api/stages.cc b/Firestore/core/src/api/stages.cc new file mode 100644 index 00000000000..eaa19cb03bd --- /dev/null +++ b/Firestore/core/src/api/stages.cc @@ -0,0 +1,309 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "Firestore/core/src/api/stages.h" + +#include +#include + +#include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" +#include "Firestore/core/src/nanopb/message.h" +#include "Firestore/core/src/nanopb/nanopb_util.h" + +namespace firebase { +namespace firestore { +namespace api { + +google_firestore_v1_Pipeline_Stage CollectionSource::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + + result.name = nanopb::MakeBytesArray("collection"); + + result.args_count = 1; + result.args = nanopb::MakeArray(1); + result.args[0].which_value_type = + google_firestore_v1_Value_reference_value_tag; + result.args[0].reference_value = nanopb::MakeBytesArray(this->path_); + + result.options_count = 0; + result.options = nullptr; + + return result; +} + +google_firestore_v1_Pipeline_Stage DatabaseSource::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + + result.name = nanopb::MakeBytesArray("database"); + result.args_count = 0; + result.args = nullptr; + result.options_count = 0; + result.options = nullptr; + + return result; +} + +google_firestore_v1_Pipeline_Stage CollectionGroupSource::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + + result.name = nanopb::MakeBytesArray("collection_group"); + + result.args_count = 2; + result.args = nanopb::MakeArray(2); + // First argument is an empty reference value. + result.args[0].which_value_type = + google_firestore_v1_Value_reference_value_tag; + result.args[0].reference_value = nanopb::MakeBytesArray(""); + + // Second argument is the collection ID (encoded as a string value). + result.args[1].which_value_type = google_firestore_v1_Value_string_value_tag; + result.args[1].string_value = nanopb::MakeBytesArray(collection_id_); + + result.options_count = 0; + result.options = nullptr; + + return result; +} + +google_firestore_v1_Pipeline_Stage DocumentsSource::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + + result.name = nanopb::MakeBytesArray("documents"); + + result.args_count = documents_.size(); + result.args = nanopb::MakeArray(result.args_count); + + for (size_t i = 0; i < documents_.size(); ++i) { + result.args[i].which_value_type = + google_firestore_v1_Value_string_value_tag; + result.args[i].string_value = nanopb::MakeBytesArray(documents_[i]); + } + + result.options_count = 0; + result.options = nullptr; + + return result; +} + +google_firestore_v1_Pipeline_Stage AddFields::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("add_fields"); + + result.args_count = 1; + result.args = nanopb::MakeArray(1); + + result.args[0].which_value_type = google_firestore_v1_Value_map_value_tag; + nanopb::SetRepeatedField( + &result.args[0].map_value.fields, &result.args[0].map_value.fields_count, + fields_, [](const std::shared_ptr& entry) { + return _google_firestore_v1_MapValue_FieldsEntry{ + nanopb::MakeBytesArray(entry->alias()), entry->to_proto()}; + }); + + result.options_count = 0; + result.options = nullptr; + return result; +} + +google_firestore_v1_Pipeline_Stage AggregateStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("aggregate"); + + result.args_count = 2; + result.args = nanopb::MakeArray(2); + + // Encode accumulators map. + result.args[0].which_value_type = google_firestore_v1_Value_map_value_tag; + nanopb::SetRepeatedField( + &result.args[0].map_value.fields, &result.args[0].map_value.fields_count, + this->accumulators_, + [](const std::pair>& entry) { + return _google_firestore_v1_MapValue_FieldsEntry{ + nanopb::MakeBytesArray(entry.first), entry.second->to_proto()}; + }); + + // Encode groups map. + result.args[1].which_value_type = google_firestore_v1_Value_map_value_tag; + nanopb::SetRepeatedField( + &result.args[1].map_value.fields, &result.args[1].map_value.fields_count, + this->groups_, + [](const std::pair>& entry) { + return _google_firestore_v1_MapValue_FieldsEntry{ + nanopb::MakeBytesArray(entry.first), entry.second->to_proto()}; + }); + + result.options_count = 0; + result.options = nullptr; + return result; +} + +google_firestore_v1_Pipeline_Stage Where::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + + result.name = nanopb::MakeBytesArray("where"); + + result.args_count = 1; + result.args = nanopb::MakeArray(1); + result.args[0] = this->expr_->to_proto(); + + result.options_count = 0; + result.options = nullptr; + + return result; +} + +google_firestore_v1_Value FindNearestStage::DistanceMeasure::proto() const { + google_firestore_v1_Value result; + result.which_value_type = google_firestore_v1_Value_string_value_tag; + switch (measure_) { + case EUCLIDEAN: + result.string_value = nanopb::MakeBytesArray("euclidean"); + break; + case COSINE: + result.string_value = nanopb::MakeBytesArray("cosine"); + break; + case DOT_PRODUCT: + result.string_value = nanopb::MakeBytesArray("dot_product"); + break; + } + return result; +} + +google_firestore_v1_Pipeline_Stage FindNearestStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("find_nearest"); + + result.args_count = 3; + result.args = nanopb::MakeArray(3); + result.args[0] = property_->to_proto(); + result.args[1] = *vector_; + result.args[2] = distance_measure_.proto(); + + nanopb::SetRepeatedField( + &result.options, &result.options_count, options_, + [](const std::pair>& + entry) { + return _google_firestore_v1_Pipeline_Stage_OptionsEntry{ + nanopb::MakeBytesArray(entry.first), *entry.second}; + }); + + return result; +} + +google_firestore_v1_Pipeline_Stage LimitStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("limit"); + + result.args_count = 1; + result.args = nanopb::MakeArray(1); + result.args[0].which_value_type = google_firestore_v1_Value_integer_value_tag; + result.args[0].integer_value = limit_; + + result.options_count = 0; + result.options = nullptr; + return result; +} + +google_firestore_v1_Pipeline_Stage OffsetStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("offset"); + + result.args_count = 1; + result.args = nanopb::MakeArray(1); + result.args[0].which_value_type = google_firestore_v1_Value_integer_value_tag; + result.args[0].integer_value = offset_; + + result.options_count = 0; + result.options = nullptr; + return result; +} + +google_firestore_v1_Pipeline_Stage SelectStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("select"); + + result.args_count = 1; + result.args = nanopb::MakeArray(1); + + result.args[0].which_value_type = google_firestore_v1_Value_map_value_tag; + nanopb::SetRepeatedField( + &result.args[0].map_value.fields, &result.args[0].map_value.fields_count, + fields_, [](const std::shared_ptr& entry) { + return _google_firestore_v1_MapValue_FieldsEntry{ + nanopb::MakeBytesArray(entry->alias()), entry->to_proto()}; + }); + + result.options_count = 0; + result.options = nullptr; + return result; +} + +google_firestore_v1_Pipeline_Stage SortStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("sort"); + + result.args_count = static_cast(orders_.size()); + result.args = nanopb::MakeArray(result.args_count); + + for (size_t i = 0; i < orders_.size(); ++i) { + result.args[i] = orders_[i].to_proto(); + } + + result.options_count = 0; + result.options = nullptr; + return result; +} + +google_firestore_v1_Pipeline_Stage DistinctStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("distinct"); + + result.args_count = 1; + result.args = nanopb::MakeArray(1); + + result.args[0].which_value_type = google_firestore_v1_Value_map_value_tag; + nanopb::SetRepeatedField( + &result.args[0].map_value.fields, &result.args[0].map_value.fields_count, + groups_, [](const std::shared_ptr& entry) { + return _google_firestore_v1_MapValue_FieldsEntry{ + nanopb::MakeBytesArray(entry->alias()), entry->to_proto()}; + }); + + result.options_count = 0; + result.options = nullptr; + return result; +} + +google_firestore_v1_Pipeline_Stage RemoveFieldsStage::to_proto() const { + google_firestore_v1_Pipeline_Stage result; + result.name = nanopb::MakeBytesArray("remove_fields"); + + result.args_count = static_cast(fields_.size()); + result.args = nanopb::MakeArray(result.args_count); + + for (size_t i = 0; i < fields_.size(); ++i) { + result.args[i] = fields_[i].to_proto(); + } + + result.options_count = 0; + result.options = nullptr; + return result; +} + +} // namespace api +} // namespace firestore +} // namespace firebase diff --git a/Firestore/core/src/api/stages.h b/Firestore/core/src/api/stages.h new file mode 100644 index 00000000000..11534278002 --- /dev/null +++ b/Firestore/core/src/api/stages.h @@ -0,0 +1,250 @@ +/* + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FIRESTORE_CORE_SRC_API_STAGES_H_ +#define FIRESTORE_CORE_SRC_API_STAGES_H_ + +#include +#include +#include +#include +#include + +#include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" +#include "Firestore/core/src/api/aggregate_expressions.h" +#include "Firestore/core/src/api/expressions.h" +#include "Firestore/core/src/api/ordering.h" +#include "Firestore/core/src/nanopb/message.h" + +namespace firebase { +namespace firestore { +namespace api { + +class Stage { + public: + Stage() = default; + virtual ~Stage() = default; + + virtual google_firestore_v1_Pipeline_Stage to_proto() const = 0; +}; + +class CollectionSource : public Stage { + public: + explicit CollectionSource(std::string path) : path_(std::move(path)) { + } + ~CollectionSource() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::string path_; +}; + +class DatabaseSource : public Stage { + public: + DatabaseSource() = default; + ~DatabaseSource() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; +}; + +class CollectionGroupSource : public Stage { + public: + explicit CollectionGroupSource(std::string collection_id) + : collection_id_(std::move(collection_id)) { + } + ~CollectionGroupSource() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::string collection_id_; +}; + +class DocumentsSource : public Stage { + public: + explicit DocumentsSource(std::vector documents) + : documents_(std::move(documents)) { + } + ~DocumentsSource() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::vector documents_; +}; + +class AddFields : public Stage { + public: + explicit AddFields(std::vector> fields) + : fields_(std::move(fields)) { + } + ~AddFields() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::vector> fields_; +}; + +class AggregateStage : public Stage { + public: + AggregateStage(std::unordered_map> + accumulators, + std::unordered_map> groups) + : accumulators_(std::move(accumulators)), groups_(std::move(groups)) { + } + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::unordered_map> accumulators_; + std::unordered_map> groups_; +}; + +class Where : public Stage { + public: + explicit Where(std::shared_ptr expr) : expr_(std::move(expr)) { + } + ~Where() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::shared_ptr expr_; +}; + +class FindNearestStage : public Stage { + public: + class DistanceMeasure { + public: + enum Measure { EUCLIDEAN, COSINE, DOT_PRODUCT }; + + explicit DistanceMeasure(Measure measure) : measure_(measure) { + } + google_firestore_v1_Value proto() const; + + private: + Measure measure_; + }; + + FindNearestStage( + std::shared_ptr property, + nanopb::SharedMessage vector, + DistanceMeasure distance_measure, + std::unordered_map> + options) + : property_(std::move(property)), + vector_(std::move(vector)), + distance_measure_(distance_measure), + options_(options) { + } + + ~FindNearestStage() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::shared_ptr property_; + nanopb::SharedMessage vector_; + DistanceMeasure distance_measure_; + std::unordered_map> + options_; +}; + +class LimitStage : public Stage { + public: + explicit LimitStage(int64_t limit) : limit_(limit) { + } + ~LimitStage() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + int64_t limit_; +}; + +class OffsetStage : public Stage { + public: + explicit OffsetStage(int64_t offset) : offset_(offset) { + } + ~OffsetStage() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + int64_t offset_; +}; + +class SelectStage : public Stage { + public: + explicit SelectStage(std::vector> fields) + : fields_(std::move(fields)) { + } + ~SelectStage() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::vector> fields_; +}; + +class SortStage : public Stage { + public: + explicit SortStage(std::vector orders) + : orders_(std::move(orders)) { + } + ~SortStage() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::vector orders_; +}; + +class DistinctStage : public Stage { + public: + explicit DistinctStage(std::vector> groups) + : groups_(std::move(groups)) { + } + ~DistinctStage() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::vector> groups_; +}; + +class RemoveFieldsStage : public Stage { + public: + explicit RemoveFieldsStage(std::vector fields) + : fields_(std::move(fields)) { + } + ~RemoveFieldsStage() override = default; + + google_firestore_v1_Pipeline_Stage to_proto() const override; + + private: + std::vector fields_; +}; + +} // namespace api +} // namespace firestore +} // namespace firebase + +#endif // FIRESTORE_CORE_SRC_API_STAGES_H_ diff --git a/Firestore/core/src/core/firestore_client.cc b/Firestore/core/src/core/firestore_client.cc index c6dd50634c1..0c6ac315dea 100644 --- a/Firestore/core/src/core/firestore_client.cc +++ b/Firestore/core/src/core/firestore_client.cc @@ -575,6 +575,25 @@ void FirestoreClient::RunAggregateQuery( }); } +void FirestoreClient::RunPipeline( + const api::Pipeline& pipeline, + util::StatusOrCallback callback) { + VerifyNotTerminated(); + + // Dispatch the result back onto the user dispatch queue. + auto async_callback = + [this, callback](const StatusOr& status) { + if (callback) { + user_executor_->Execute([=] { callback(std::move(status)); }); + } + }; + + worker_queue_->Enqueue( + [this, pipeline, async_callback = std::move(async_callback)] { + remote_store_->RunPipeline(pipeline, async_callback); + }); +} + void FirestoreClient::AddSnapshotsInSyncListener( const std::shared_ptr>& user_listener) { worker_queue_->Enqueue([this, user_listener] { diff --git a/Firestore/core/src/core/firestore_client.h b/Firestore/core/src/core/firestore_client.h index d752deff66a..24c0e8c396a 100644 --- a/Firestore/core/src/core/firestore_client.h +++ b/Firestore/core/src/core/firestore_client.h @@ -23,6 +23,7 @@ #include "Firestore/core/src/api/api_fwd.h" #include "Firestore/core/src/api/load_bundle_task.h" +#include "Firestore/core/src/api/pipeline.h" #include "Firestore/core/src/bundle/bundle_serializer.h" #include "Firestore/core/src/core/core_fwd.h" #include "Firestore/core/src/core/database_info.h" @@ -159,6 +160,9 @@ class FirestoreClient : public std::enable_shared_from_this { const std::vector& aggregates, api::AggregateQueryCallback&& result_callback); + void RunPipeline(const api::Pipeline& pipeline, + util::StatusOrCallback callback); + /** * Adds a listener to be called when a snapshots-in-sync event fires. */ diff --git a/Firestore/core/src/nanopb/fields_array.h b/Firestore/core/src/nanopb/fields_array.h index 3b89b2ecd06..29fdc1c66dd 100644 --- a/Firestore/core/src/nanopb/fields_array.h +++ b/Firestore/core/src/nanopb/fields_array.h @@ -227,6 +227,18 @@ inline const pb_field_t* FieldsArray< return google_firestore_v1_StructuredAggregationQuery_Aggregation_Count_fields; } +template <> +inline const pb_field_t* +FieldsArray() { + return google_firestore_v1_ExecutePipelineRequest_fields; +} + +template <> +inline const pb_field_t* +FieldsArray() { + return google_firestore_v1_ExecutePipelineResponse_fields; +} + template <> inline const pb_field_t* FieldsArray() { return google_firestore_v1_ExistenceFilter_fields; diff --git a/Firestore/core/src/remote/datastore.cc b/Firestore/core/src/remote/datastore.cc index 47a8fb716b5..504beadbd99 100644 --- a/Firestore/core/src/remote/datastore.cc +++ b/Firestore/core/src/remote/datastore.cc @@ -63,6 +63,8 @@ const auto kRpcNameCommit = "/google.firestore.v1.Firestore/Commit"; const auto kRpcNameLookup = "/google.firestore.v1.Firestore/BatchGetDocuments"; const auto kRpcNameRunAggregationQuery = "/google.firestore.v1.Firestore/RunAggregationQuery"; +const auto kRpcNameExecutePipeline = + "/google.firestore.v1.Firestore/ExecutePipeline"; std::unique_ptr CreateExecutor() { return Executor::CreateSerial("com.google.firebase.firestore.rpc"); @@ -308,6 +310,54 @@ void Datastore::RunAggregateQueryWithCredentials( }); } +void Datastore::RunPipeline( + const api::Pipeline& pipeline, + util::StatusOrCallback&& result_callback) { + ResumeRpcWithCredentials( + [this, pipeline, result_callback = std::move(result_callback)]( + const StatusOr& auth_token, + const std::string& app_check_token) mutable { + if (!auth_token.ok()) { + // result_callback(auth_token.status()); + return; + } + RunPipelineWithCredentials(auth_token.ValueOrDie(), app_check_token, + pipeline, std::move(result_callback)); + }); +} + +void Datastore::RunPipelineWithCredentials( + const credentials::AuthToken& auth_token, + const std::string& app_check_token, + const api::Pipeline& pipeline, + util::StatusOrCallback&& callback) { + auto request = datastore_serializer_.EncodeExecutePipelineRequest(pipeline); + LOG_DEBUG("Run Pipeline: %s", request.ToString()); + + grpc::ByteBuffer message = MakeByteBuffer(request); + std::unique_ptr call_owning = grpc_connection_.CreateUnaryCall( + kRpcNameExecutePipeline, auth_token, app_check_token, std::move(message)); + GrpcUnaryCall* call = call_owning.get(); + active_calls_.push_back(std::move(call_owning)); + + call->Start( + [this, db = pipeline.firestore(), call, callback = std::move(callback)]( + const StatusOr& result) { + LogGrpcCallFinished("ExecutePipeline", call, result.status()); + HandleCallStatus(result.status()); + + if (result.ok()) { + auto response = datastore_serializer_.DecodeExecutePipelineResponse( + result.ValueOrDie(), std::move(db)); + callback(response); + } else { + callback(result.status()); + } + + RemoveGrpcCall(call); + }); +} + void Datastore::ResumeRpcWithCredentials(const OnCredentials& on_credentials) { // Auth/AppCheck may outlive Firestore std::weak_ptr weak_this{shared_from_this()}; diff --git a/Firestore/core/src/remote/datastore.h b/Firestore/core/src/remote/datastore.h index 7de64663d11..df912159eef 100644 --- a/Firestore/core/src/remote/datastore.h +++ b/Firestore/core/src/remote/datastore.h @@ -23,6 +23,7 @@ #include #include "Firestore/core/src/api/api_fwd.h" +#include "Firestore/core/src/api/pipeline.h" #include "Firestore/core/src/core/core_fwd.h" #include "Firestore/core/src/credentials/auth_token.h" #include "Firestore/core/src/credentials/credentials_fwd.h" @@ -112,6 +113,10 @@ class Datastore : public std::enable_shared_from_this { const std::vector& aggregates, api::AggregateQueryCallback&& result_callback); + void RunPipeline( + const api::Pipeline& pipeline, + util::StatusOrCallback&& result_callback); + /** Returns true if the given error is a gRPC ABORTED error. */ static bool IsAbortedError(const util::Status& error); @@ -195,6 +200,12 @@ class Datastore : public std::enable_shared_from_this { const std::vector& aggregates, api::AggregateQueryCallback&& callback); + void RunPipelineWithCredentials( + const credentials::AuthToken& auth_token, + const std::string& app_check_token, + const api::Pipeline& pipeline, + util::StatusOrCallback&& result_callback); + using OnCredentials = std::function&, const std::string&)>; void ResumeRpcWithCredentials(const OnCredentials& on_credentials); diff --git a/Firestore/core/src/remote/remote_objc_bridge.cc b/Firestore/core/src/remote/remote_objc_bridge.cc index ae7fcb246ea..6cc675d4f7f 100644 --- a/Firestore/core/src/remote/remote_objc_bridge.cc +++ b/Firestore/core/src/remote/remote_objc_bridge.cc @@ -33,6 +33,7 @@ #include "Firestore/core/src/remote/grpc_util.h" #include "Firestore/core/src/remote/watch_change.h" #include "Firestore/core/src/util/hard_assert.h" +#include "Firestore/core/src/util/log.h" #include "Firestore/core/src/util/status.h" #include "Firestore/core/src/util/statusor.h" #include "grpcpp/support/status.h" @@ -383,6 +384,41 @@ util::StatusOr DatastoreSerializer::DecodeAggregateQueryResponse( aliasMap); } +Message +DatastoreSerializer::EncodeExecutePipelineRequest( + const firebase::firestore::api::Pipeline& pipeline) const { + Message result; + result->database = serializer_.EncodeDatabaseName(); + result->which_pipeline_type = + google_firestore_v1_ExecutePipelineRequest_structured_pipeline_tag; + result->pipeline_type.structured_pipeline = + serializer_.EncodePipeline(pipeline); + + return result; +} + +util::StatusOr +DatastoreSerializer::DecodeExecutePipelineResponse( + const grpc::ByteBuffer& response, + std::shared_ptr db) const { + ByteBufferReader reader{response}; + auto message = + Message::TryParse(&reader); + if (!reader.ok()) { + return reader.status(); + } + + LOG_DEBUG("Pipeline Response: %s", message.ToString()); + + auto snapshot = serializer_.DecodePipelineResponse(reader.context(), message); + if (!reader.ok()) { + return reader.status(); + } + + snapshot.SetFirestore(std::move(db)); + return snapshot; +} + } // namespace remote } // namespace firestore } // namespace firebase diff --git a/Firestore/core/src/remote/remote_objc_bridge.h b/Firestore/core/src/remote/remote_objc_bridge.h index 0aa2b93f988..96329c1ae25 100644 --- a/Firestore/core/src/remote/remote_objc_bridge.h +++ b/Firestore/core/src/remote/remote_objc_bridge.h @@ -32,6 +32,7 @@ #include "Firestore/core/src/util/status_fwd.h" #include "grpcpp/support/byte_buffer.h" +#include "Firestore/core/src/api/pipeline.h" #include "absl/container/flat_hash_map.h" namespace firebase { @@ -150,6 +151,14 @@ class DatastoreSerializer { return serializer_; } + nanopb::Message + EncodeExecutePipelineRequest( + const firebase::firestore::api::Pipeline& pipeline) const; + + util::StatusOr DecodeExecutePipelineResponse( + const grpc::ByteBuffer& response, + std::shared_ptr db) const; + private: Serializer serializer_; }; diff --git a/Firestore/core/src/remote/remote_store.cc b/Firestore/core/src/remote/remote_store.cc index 86455fcd15e..1bf4370240b 100644 --- a/Firestore/core/src/remote/remote_store.cc +++ b/Firestore/core/src/remote/remote_store.cc @@ -390,6 +390,17 @@ void RemoteStore::RunAggregateQuery( } } +void RemoteStore::RunPipeline( + const api::Pipeline& pipeline, + util::StatusOrCallback result_callback) { + if (CanUseNetwork()) { + datastore_->RunPipeline(pipeline, std::move(result_callback)); + } else { + result_callback(Status::FromErrno(Error::kErrorUnavailable, + "Failed to get result from server.")); + } +} + // Write Stream void RemoteStore::FillWritePipeline() { diff --git a/Firestore/core/src/remote/remote_store.h b/Firestore/core/src/remote/remote_store.h index ae6bd7023bc..cd0d7b8e7ca 100644 --- a/Firestore/core/src/remote/remote_store.h +++ b/Firestore/core/src/remote/remote_store.h @@ -21,6 +21,7 @@ #include #include +#include "Firestore/core/src/api/pipeline.h" #include "Firestore/core/src/core/transaction.h" #include "Firestore/core/src/local/target_data.h" #include "Firestore/core/src/model/model_fwd.h" @@ -203,6 +204,9 @@ class RemoteStore : public TargetMetadataProvider, const std::vector& aggregates, api::AggregateQueryCallback&& result_callback); + void RunPipeline(const api::Pipeline& pipeline, + util::StatusOrCallback callback); + void OnWatchStreamOpen() override; void OnWatchStreamChange( const WatchChange& change, diff --git a/Firestore/core/src/remote/serializer.cc b/Firestore/core/src/remote/serializer.cc index f301a65e37f..2985f86d623 100644 --- a/Firestore/core/src/remote/serializer.cc +++ b/Firestore/core/src/remote/serializer.cc @@ -175,6 +175,15 @@ FieldPath InvalidFieldPath() { return FieldPath::EmptyPath(); } +absl::optional NotNoneVersionOrNullOpt( + const SnapshotVersion& version) { + if (version == SnapshotVersion::None()) { + return absl::nullopt; + } else { + return version; + } +} + } // namespace Serializer::Serializer(DatabaseId database_id) @@ -1197,6 +1206,26 @@ Serializer::DecodeCursorValue(google_firestore_v1_Cursor& cursor) const { return index_components; } +google_firestore_v1_StructuredPipeline Serializer::EncodePipeline( + const api::Pipeline& pipeline) const { + google_firestore_v1_StructuredPipeline result; + auto* stages = + MakeArray(pipeline.stages().size()); + + size_t i = 0; + for (const auto& stage : pipeline.stages()) { + stages[i++] = stage->to_proto(); + } + + result.pipeline.stages_count = pipeline.stages().size(); + result.pipeline.stages = stages; + + result.options_count = 0; + result.options = nullptr; + + return result; +} + /* static */ pb_bytes_array_t* Serializer::EncodeFieldPath(const FieldPath& field_path) { return EncodeString(field_path.CanonicalString()); @@ -1479,6 +1508,35 @@ bool Serializer::IsLocalDocumentKey(absl::string_view path) const { DocumentKey::IsDocumentKey(resource.PopFirst(5)); } +api::PipelineSnapshot Serializer::DecodePipelineResponse( + util::ReadContext* context, + const nanopb::Message& message) + const { + auto execution_time = DecodeVersion(context, message->execution_time); + + std::vector results(message->results_count); + + for (pb_size_t i = 0; i < message->results_count; ++i) { + absl::optional key; + if (message->results[i].name != nullptr) { + key = DecodeKey(context, message->results[i].name); + } + + auto create_time = DecodeVersion(context, message->results[i].create_time); + auto update_time = DecodeVersion(context, message->results[i].update_time); + + auto value = ObjectValue::FromFieldsEntry(message->results[i].fields, + message->results[i].fields_count); + results.push_back({std::move(key), + std::make_shared(std::move(value)), + NotNoneVersionOrNullOpt(create_time), + NotNoneVersionOrNullOpt(update_time), + NotNoneVersionOrNullOpt(execution_time)}); + } + + return api::PipelineSnapshot(std::move(results), execution_time); +} + } // namespace remote } // namespace firestore } // namespace firebase diff --git a/Firestore/core/src/remote/serializer.h b/Firestore/core/src/remote/serializer.h index c42c6c3ac1b..2105b7eb754 100644 --- a/Firestore/core/src/remote/serializer.h +++ b/Firestore/core/src/remote/serializer.h @@ -28,6 +28,7 @@ #include "Firestore/Protos/nanopb/google/firestore/v1/document.nanopb.h" #include "Firestore/Protos/nanopb/google/firestore/v1/firestore.nanopb.h" #include "Firestore/Protos/nanopb/google/type/latlng.nanopb.h" +#include "Firestore/core/src/api/pipeline.h" #include "Firestore/core/src/core/composite_filter.h" #include "Firestore/core/src/core/core_fwd.h" #include "Firestore/core/src/core/field_filter.h" @@ -204,6 +205,9 @@ class Serializer { pb_bytes_array_t* parent, google_firestore_v1_StructuredQuery& query) const; + google_firestore_v1_StructuredPipeline EncodePipeline( + const api::Pipeline& pipeline) const; + /** * Decodes the watch change. Modifies the provided proto to release * ownership of any Value messages. @@ -241,6 +245,11 @@ class Serializer { return database_id_; } + api::PipelineSnapshot DecodePipelineResponse( + util::ReadContext* context, + const nanopb::Message& + message) const; + private: friend class SerializerTest; diff --git a/scripts/install_prereqs.sh b/scripts/install_prereqs.sh index 079ff6076ac..1b0177e16fe 100755 --- a/scripts/install_prereqs.sh +++ b/scripts/install_prereqs.sh @@ -104,7 +104,13 @@ case "$project-$platform-$method" in ;; Firestore-iOS-cmake | Firestore-tvOS-cmake | Firestore-macOS-cmake) - brew outdated cmake || brew upgrade cmake + # Only upgrade CMake if explicitly requested + if [[ "${USE_LATEST_CMAKE:-false}" == "true" ]]; then + echo "Use latest CMake because USE_LATEST_CMAKE=true" + brew outdated cmake || brew upgrade cmake + else + echo "Skipping CMake upgrade" + fi brew outdated go || brew upgrade go # Somehow the build for Abseil requires this. brew install ccache brew install ninja