diff --git a/apis/Google.Cloud.Datastore.V1/Google.Cloud.Datastore.V1/Datastore.g.cs b/apis/Google.Cloud.Datastore.V1/Google.Cloud.Datastore.V1/Datastore.g.cs
index 626d5fe21f6a..b7035f09d90f 100644
--- a/apis/Google.Cloud.Datastore.V1/Google.Cloud.Datastore.V1/Datastore.g.cs
+++ b/apis/Google.Cloud.Datastore.V1/Google.Cloud.Datastore.V1/Datastore.g.cs
@@ -94,78 +94,96 @@ static DatastoreReflection() {
"ASADKAsyGC5nb29nbGUuZGF0YXN0b3JlLnYxLktleSJuChFSZXNlcnZlSWRz",
"UmVxdWVzdBIXCgpwcm9qZWN0X2lkGAggASgJQgPgQQISEwoLZGF0YWJhc2Vf",
"aWQYCSABKAkSKwoEa2V5cxgBIAMoCzIYLmdvb2dsZS5kYXRhc3RvcmUudjEu",
- "S2V5QgPgQQIiFAoSUmVzZXJ2ZUlkc1Jlc3BvbnNlIvQCCghNdXRhdGlvbhIt",
+ "S2V5QgPgQQIiFAoSUmVzZXJ2ZUlkc1Jlc3BvbnNlIvIECghNdXRhdGlvbhIt",
"CgZpbnNlcnQYBCABKAsyGy5nb29nbGUuZGF0YXN0b3JlLnYxLkVudGl0eUgA",
"Ei0KBnVwZGF0ZRgFIAEoCzIbLmdvb2dsZS5kYXRhc3RvcmUudjEuRW50aXR5",
"SAASLQoGdXBzZXJ0GAYgASgLMhsuZ29vZ2xlLmRhdGFzdG9yZS52MS5FbnRp",
"dHlIABIqCgZkZWxldGUYByABKAsyGC5nb29nbGUuZGF0YXN0b3JlLnYxLktl",
"eUgAEhYKDGJhc2VfdmVyc2lvbhgIIAEoA0gBEjEKC3VwZGF0ZV90aW1lGAsg",
- "ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBEjgKDXByb3BlcnR5",
- "X21hc2sYCSABKAsyIS5nb29nbGUuZGF0YXN0b3JlLnYxLlByb3BlcnR5TWFz",
- "a0ILCglvcGVyYXRpb25CHQobY29uZmxpY3RfZGV0ZWN0aW9uX3N0cmF0ZWd5",
- "IsUBCg5NdXRhdGlvblJlc3VsdBIlCgNrZXkYAyABKAsyGC5nb29nbGUuZGF0",
- "YXN0b3JlLnYxLktleRIPCgd2ZXJzaW9uGAQgASgDEi8KC2NyZWF0ZV90aW1l",
- "GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgt1cGRhdGVf",
- "dGltZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoRY29u",
- "ZmxpY3RfZGV0ZWN0ZWQYBSABKAgiHQoMUHJvcGVydHlNYXNrEg0KBXBhdGhz",
- "GAEgAygJIsoCCgtSZWFkT3B0aW9ucxJMChByZWFkX2NvbnNpc3RlbmN5GAEg",
- "ASgOMjAuZ29vZ2xlLmRhdGFzdG9yZS52MS5SZWFkT3B0aW9ucy5SZWFkQ29u",
- "c2lzdGVuY3lIABIVCgt0cmFuc2FjdGlvbhgCIAEoDEgAEkIKD25ld190cmFu",
- "c2FjdGlvbhgDIAEoCzInLmdvb2dsZS5kYXRhc3RvcmUudjEuVHJhbnNhY3Rp",
- "b25PcHRpb25zSAASLwoJcmVhZF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3Rv",
- "YnVmLlRpbWVzdGFtcEgAIk0KD1JlYWRDb25zaXN0ZW5jeRIgChxSRUFEX0NP",
- "TlNJU1RFTkNZX1VOU1BFQ0lGSUVEEAASCgoGU1RST05HEAESDAoIRVZFTlRV",
- "QUwQAkISChBjb25zaXN0ZW5jeV90eXBlIpICChJUcmFuc2FjdGlvbk9wdGlv",
- "bnMSRwoKcmVhZF93cml0ZRgBIAEoCzIxLmdvb2dsZS5kYXRhc3RvcmUudjEu",
- "VHJhbnNhY3Rpb25PcHRpb25zLlJlYWRXcml0ZUgAEkUKCXJlYWRfb25seRgC",
- "IAEoCzIwLmdvb2dsZS5kYXRhc3RvcmUudjEuVHJhbnNhY3Rpb25PcHRpb25z",
- "LlJlYWRPbmx5SAAaKQoJUmVhZFdyaXRlEhwKFHByZXZpb3VzX3RyYW5zYWN0",
- "aW9uGAEgASgMGjkKCFJlYWRPbmx5Ei0KCXJlYWRfdGltZRgBIAEoCzIaLmdv",
- "b2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBgoEbW9kZTLhDQoJRGF0YXN0b3Jl",
- "EsABCgZMb29rdXASIi5nb29nbGUuZGF0YXN0b3JlLnYxLkxvb2t1cFJlcXVl",
- "c3QaIy5nb29nbGUuZGF0YXN0b3JlLnYxLkxvb2t1cFJlc3BvbnNlIm3aQRxw",
- "cm9qZWN0X2lkLHJlYWRfb3B0aW9ucyxrZXlzgtPkkwIlIiAvdjEvcHJvamVj",
- "dHMve3Byb2plY3RfaWR9Omxvb2t1cDoBKorT5JMCHRIMCgpwcm9qZWN0X2lk",
- "Eg0KC2RhdGFiYXNlX2lkEqkBCghSdW5RdWVyeRIkLmdvb2dsZS5kYXRhc3Rv",
- "cmUudjEuUnVuUXVlcnlSZXF1ZXN0GiUuZ29vZ2xlLmRhdGFzdG9yZS52MS5S",
- "dW5RdWVyeVJlc3BvbnNlIlCC0+STAiciIi92MS9wcm9qZWN0cy97cHJvamVj",
- "dF9pZH06cnVuUXVlcnk6ASqK0+STAh0SDAoKcHJvamVjdF9pZBINCgtkYXRh",
- "YmFzZV9pZBLVAQoTUnVuQWdncmVnYXRpb25RdWVyeRIvLmdvb2dsZS5kYXRh",
- "c3RvcmUudjEuUnVuQWdncmVnYXRpb25RdWVyeVJlcXVlc3QaMC5nb29nbGUu",
- "ZGF0YXN0b3JlLnYxLlJ1bkFnZ3JlZ2F0aW9uUXVlcnlSZXNwb25zZSJbgtPk",
- "kwIyIi0vdjEvcHJvamVjdHMve3Byb2plY3RfaWR9OnJ1bkFnZ3JlZ2F0aW9u",
- "UXVlcnk6ASqK0+STAh0SDAoKcHJvamVjdF9pZBINCgtkYXRhYmFzZV9pZBLW",
- "AQoQQmVnaW5UcmFuc2FjdGlvbhIsLmdvb2dsZS5kYXRhc3RvcmUudjEuQmVn",
- "aW5UcmFuc2FjdGlvblJlcXVlc3QaLS5nb29nbGUuZGF0YXN0b3JlLnYxLkJl",
- "Z2luVHJhbnNhY3Rpb25SZXNwb25zZSJl2kEKcHJvamVjdF9pZILT5JMCLyIq",
- "L3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfTpiZWdpblRyYW5zYWN0aW9uOgEq",
- "itPkkwIdEgwKCnByb2plY3RfaWQSDQoLZGF0YWJhc2VfaWQS5gEKBkNvbW1p",
- "dBIiLmdvb2dsZS5kYXRhc3RvcmUudjEuQ29tbWl0UmVxdWVzdBojLmdvb2ds",
- "ZS5kYXRhc3RvcmUudjEuQ29tbWl0UmVzcG9uc2UikgHaQSVwcm9qZWN0X2lk",
- "LG1vZGUsdHJhbnNhY3Rpb24sbXV0YXRpb25z2kEZcHJvamVjdF9pZCxtb2Rl",
- "LG11dGF0aW9uc4LT5JMCJSIgL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfTpj",
- "b21taXQ6ASqK0+STAh0SDAoKcHJvamVjdF9pZBINCgtkYXRhYmFzZV9pZBLC",
- "AQoIUm9sbGJhY2sSJC5nb29nbGUuZGF0YXN0b3JlLnYxLlJvbGxiYWNrUmVx",
- "dWVzdBolLmdvb2dsZS5kYXRhc3RvcmUudjEuUm9sbGJhY2tSZXNwb25zZSJp",
- "2kEWcHJvamVjdF9pZCx0cmFuc2FjdGlvboLT5JMCJyIiL3YxL3Byb2plY3Rz",
- "L3twcm9qZWN0X2lkfTpyb2xsYmFjazoBKorT5JMCHRIMCgpwcm9qZWN0X2lk",
- "Eg0KC2RhdGFiYXNlX2lkEscBCgtBbGxvY2F0ZUlkcxInLmdvb2dsZS5kYXRh",
- "c3RvcmUudjEuQWxsb2NhdGVJZHNSZXF1ZXN0GiguZ29vZ2xlLmRhdGFzdG9y",
- "ZS52MS5BbGxvY2F0ZUlkc1Jlc3BvbnNlImXaQQ9wcm9qZWN0X2lkLGtleXOC",
- "0+STAioiJS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH06YWxsb2NhdGVJZHM6",
- "ASqK0+STAh0SDAoKcHJvamVjdF9pZBINCgtkYXRhYmFzZV9pZBLDAQoKUmVz",
- "ZXJ2ZUlkcxImLmdvb2dsZS5kYXRhc3RvcmUudjEuUmVzZXJ2ZUlkc1JlcXVl",
- "c3QaJy5nb29nbGUuZGF0YXN0b3JlLnYxLlJlc2VydmVJZHNSZXNwb25zZSJk",
- "2kEPcHJvamVjdF9pZCxrZXlzgtPkkwIpIiQvdjEvcHJvamVjdHMve3Byb2pl",
- "Y3RfaWR9OnJlc2VydmVJZHM6ASqK0+STAh0SDAoKcHJvamVjdF9pZBINCgtk",
- "YXRhYmFzZV9pZBp2ykEYZGF0YXN0b3JlLmdvb2dsZWFwaXMuY29t0kFYaHR0",
- "cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9jbG91ZC1wbGF0Zm9ybSxo",
- "dHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2RhdGFzdG9yZUK/AQoX",
- "Y29tLmdvb2dsZS5kYXRhc3RvcmUudjFCDkRhdGFzdG9yZVByb3RvUAFaO2Ns",
- "b3VkLmdvb2dsZS5jb20vZ28vZGF0YXN0b3JlL2FwaXYxL2RhdGFzdG9yZXBi",
- "O2RhdGFzdG9yZXBiqgIZR29vZ2xlLkNsb3VkLkRhdGFzdG9yZS5WMcoCGUdv",
- "b2dsZVxDbG91ZFxEYXRhc3RvcmVcVjHqAhxHb29nbGU6OkNsb3VkOjpEYXRh",
- "c3RvcmU6OlYxYgZwcm90bzM="));
+ "ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBEl4KHGNvbmZsaWN0",
+ "X3Jlc29sdXRpb25fc3RyYXRlZ3kYCiABKA4yOC5nb29nbGUuZGF0YXN0b3Jl",
+ "LnYxLk11dGF0aW9uLkNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5EjgKDXBy",
+ "b3BlcnR5X21hc2sYCSABKAsyIS5nb29nbGUuZGF0YXN0b3JlLnYxLlByb3Bl",
+ "cnR5TWFzaxJIChNwcm9wZXJ0eV90cmFuc2Zvcm1zGAwgAygLMiYuZ29vZ2xl",
+ "LmRhdGFzdG9yZS52MS5Qcm9wZXJ0eVRyYW5zZm9ybUID4EEBIlIKGkNvbmZs",
+ "aWN0UmVzb2x1dGlvblN0cmF0ZWd5EhgKFFNUUkFURUdZX1VOU1BFQ0lGSUVE",
+ "EAASEAoMU0VSVkVSX1ZBTFVFEAESCAoERkFJTBADQgsKCW9wZXJhdGlvbkId",
+ "Chtjb25mbGljdF9kZXRlY3Rpb25fc3RyYXRlZ3ki4wMKEVByb3BlcnR5VHJh",
+ "bnNmb3JtEhUKCHByb3BlcnR5GAEgASgJQgPgQQESUQoTc2V0X3RvX3NlcnZl",
+ "cl92YWx1ZRgCIAEoDjIyLmdvb2dsZS5kYXRhc3RvcmUudjEuUHJvcGVydHlU",
+ "cmFuc2Zvcm0uU2VydmVyVmFsdWVIABIvCglpbmNyZW1lbnQYAyABKAsyGi5n",
+ "b29nbGUuZGF0YXN0b3JlLnYxLlZhbHVlSAASLQoHbWF4aW11bRgEIAEoCzIa",
+ "Lmdvb2dsZS5kYXRhc3RvcmUudjEuVmFsdWVIABItCgdtaW5pbXVtGAUgASgL",
+ "MhouZ29vZ2xlLmRhdGFzdG9yZS52MS5WYWx1ZUgAEkIKF2FwcGVuZF9taXNz",
+ "aW5nX2VsZW1lbnRzGAYgASgLMh8uZ29vZ2xlLmRhdGFzdG9yZS52MS5BcnJh",
+ "eVZhbHVlSAASQAoVcmVtb3ZlX2FsbF9mcm9tX2FycmF5GAcgASgLMh8uZ29v",
+ "Z2xlLmRhdGFzdG9yZS52MS5BcnJheVZhbHVlSAAiPQoLU2VydmVyVmFsdWUS",
+ "HAoYU0VSVkVSX1ZBTFVFX1VOU1BFQ0lGSUVEEAASEAoMUkVRVUVTVF9USU1F",
+ "EAFCEAoOdHJhbnNmb3JtX3R5cGUi/AEKDk11dGF0aW9uUmVzdWx0EiUKA2tl",
+ "eRgDIAEoCzIYLmdvb2dsZS5kYXRhc3RvcmUudjEuS2V5Eg8KB3ZlcnNpb24Y",
+ "BCABKAMSLwoLY3JlYXRlX3RpbWUYByABKAsyGi5nb29nbGUucHJvdG9idWYu",
+ "VGltZXN0YW1wEi8KC3VwZGF0ZV90aW1lGAYgASgLMhouZ29vZ2xlLnByb3Rv",
+ "YnVmLlRpbWVzdGFtcBIZChFjb25mbGljdF9kZXRlY3RlZBgFIAEoCBI1ChF0",
+ "cmFuc2Zvcm1fcmVzdWx0cxgIIAMoCzIaLmdvb2dsZS5kYXRhc3RvcmUudjEu",
+ "VmFsdWUiHQoMUHJvcGVydHlNYXNrEg0KBXBhdGhzGAEgAygJIsoCCgtSZWFk",
+ "T3B0aW9ucxJMChByZWFkX2NvbnNpc3RlbmN5GAEgASgOMjAuZ29vZ2xlLmRh",
+ "dGFzdG9yZS52MS5SZWFkT3B0aW9ucy5SZWFkQ29uc2lzdGVuY3lIABIVCgt0",
+ "cmFuc2FjdGlvbhgCIAEoDEgAEkIKD25ld190cmFuc2FjdGlvbhgDIAEoCzIn",
+ "Lmdvb2dsZS5kYXRhc3RvcmUudjEuVHJhbnNhY3Rpb25PcHRpb25zSAASLwoJ",
+ "cmVhZF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgA",
+ "Ik0KD1JlYWRDb25zaXN0ZW5jeRIgChxSRUFEX0NPTlNJU1RFTkNZX1VOU1BF",
+ "Q0lGSUVEEAASCgoGU1RST05HEAESDAoIRVZFTlRVQUwQAkISChBjb25zaXN0",
+ "ZW5jeV90eXBlIpICChJUcmFuc2FjdGlvbk9wdGlvbnMSRwoKcmVhZF93cml0",
+ "ZRgBIAEoCzIxLmdvb2dsZS5kYXRhc3RvcmUudjEuVHJhbnNhY3Rpb25PcHRp",
+ "b25zLlJlYWRXcml0ZUgAEkUKCXJlYWRfb25seRgCIAEoCzIwLmdvb2dsZS5k",
+ "YXRhc3RvcmUudjEuVHJhbnNhY3Rpb25PcHRpb25zLlJlYWRPbmx5SAAaKQoJ",
+ "UmVhZFdyaXRlEhwKFHByZXZpb3VzX3RyYW5zYWN0aW9uGAEgASgMGjkKCFJl",
+ "YWRPbmx5Ei0KCXJlYWRfdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5U",
+ "aW1lc3RhbXBCBgoEbW9kZTLhDQoJRGF0YXN0b3JlEsABCgZMb29rdXASIi5n",
+ "b29nbGUuZGF0YXN0b3JlLnYxLkxvb2t1cFJlcXVlc3QaIy5nb29nbGUuZGF0",
+ "YXN0b3JlLnYxLkxvb2t1cFJlc3BvbnNlIm3aQRxwcm9qZWN0X2lkLHJlYWRf",
+ "b3B0aW9ucyxrZXlzgtPkkwIlIiAvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9",
+ "Omxvb2t1cDoBKorT5JMCHRIMCgpwcm9qZWN0X2lkEg0KC2RhdGFiYXNlX2lk",
+ "EqkBCghSdW5RdWVyeRIkLmdvb2dsZS5kYXRhc3RvcmUudjEuUnVuUXVlcnlS",
+ "ZXF1ZXN0GiUuZ29vZ2xlLmRhdGFzdG9yZS52MS5SdW5RdWVyeVJlc3BvbnNl",
+ "IlCC0+STAiciIi92MS9wcm9qZWN0cy97cHJvamVjdF9pZH06cnVuUXVlcnk6",
+ "ASqK0+STAh0SDAoKcHJvamVjdF9pZBINCgtkYXRhYmFzZV9pZBLVAQoTUnVu",
+ "QWdncmVnYXRpb25RdWVyeRIvLmdvb2dsZS5kYXRhc3RvcmUudjEuUnVuQWdn",
+ "cmVnYXRpb25RdWVyeVJlcXVlc3QaMC5nb29nbGUuZGF0YXN0b3JlLnYxLlJ1",
+ "bkFnZ3JlZ2F0aW9uUXVlcnlSZXNwb25zZSJbgtPkkwIyIi0vdjEvcHJvamVj",
+ "dHMve3Byb2plY3RfaWR9OnJ1bkFnZ3JlZ2F0aW9uUXVlcnk6ASqK0+STAh0S",
+ "DAoKcHJvamVjdF9pZBINCgtkYXRhYmFzZV9pZBLWAQoQQmVnaW5UcmFuc2Fj",
+ "dGlvbhIsLmdvb2dsZS5kYXRhc3RvcmUudjEuQmVnaW5UcmFuc2FjdGlvblJl",
+ "cXVlc3QaLS5nb29nbGUuZGF0YXN0b3JlLnYxLkJlZ2luVHJhbnNhY3Rpb25S",
+ "ZXNwb25zZSJl2kEKcHJvamVjdF9pZILT5JMCLyIqL3YxL3Byb2plY3RzL3tw",
+ "cm9qZWN0X2lkfTpiZWdpblRyYW5zYWN0aW9uOgEqitPkkwIdEgwKCnByb2pl",
+ "Y3RfaWQSDQoLZGF0YWJhc2VfaWQS5gEKBkNvbW1pdBIiLmdvb2dsZS5kYXRh",
+ "c3RvcmUudjEuQ29tbWl0UmVxdWVzdBojLmdvb2dsZS5kYXRhc3RvcmUudjEu",
+ "Q29tbWl0UmVzcG9uc2UikgHaQSVwcm9qZWN0X2lkLG1vZGUsdHJhbnNhY3Rp",
+ "b24sbXV0YXRpb25z2kEZcHJvamVjdF9pZCxtb2RlLG11dGF0aW9uc4LT5JMC",
+ "JSIgL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfTpjb21taXQ6ASqK0+STAh0S",
+ "DAoKcHJvamVjdF9pZBINCgtkYXRhYmFzZV9pZBLCAQoIUm9sbGJhY2sSJC5n",
+ "b29nbGUuZGF0YXN0b3JlLnYxLlJvbGxiYWNrUmVxdWVzdBolLmdvb2dsZS5k",
+ "YXRhc3RvcmUudjEuUm9sbGJhY2tSZXNwb25zZSJp2kEWcHJvamVjdF9pZCx0",
+ "cmFuc2FjdGlvboLT5JMCJyIiL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfTpy",
+ "b2xsYmFjazoBKorT5JMCHRIMCgpwcm9qZWN0X2lkEg0KC2RhdGFiYXNlX2lk",
+ "EscBCgtBbGxvY2F0ZUlkcxInLmdvb2dsZS5kYXRhc3RvcmUudjEuQWxsb2Nh",
+ "dGVJZHNSZXF1ZXN0GiguZ29vZ2xlLmRhdGFzdG9yZS52MS5BbGxvY2F0ZUlk",
+ "c1Jlc3BvbnNlImXaQQ9wcm9qZWN0X2lkLGtleXOC0+STAioiJS92MS9wcm9q",
+ "ZWN0cy97cHJvamVjdF9pZH06YWxsb2NhdGVJZHM6ASqK0+STAh0SDAoKcHJv",
+ "amVjdF9pZBINCgtkYXRhYmFzZV9pZBLDAQoKUmVzZXJ2ZUlkcxImLmdvb2ds",
+ "ZS5kYXRhc3RvcmUudjEuUmVzZXJ2ZUlkc1JlcXVlc3QaJy5nb29nbGUuZGF0",
+ "YXN0b3JlLnYxLlJlc2VydmVJZHNSZXNwb25zZSJk2kEPcHJvamVjdF9pZCxr",
+ "ZXlzgtPkkwIpIiQvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9OnJlc2VydmVJ",
+ "ZHM6ASqK0+STAh0SDAoKcHJvamVjdF9pZBINCgtkYXRhYmFzZV9pZBp2ykEY",
+ "ZGF0YXN0b3JlLmdvb2dsZWFwaXMuY29t0kFYaHR0cHM6Ly93d3cuZ29vZ2xl",
+ "YXBpcy5jb20vYXV0aC9jbG91ZC1wbGF0Zm9ybSxodHRwczovL3d3dy5nb29n",
+ "bGVhcGlzLmNvbS9hdXRoL2RhdGFzdG9yZUK/AQoXY29tLmdvb2dsZS5kYXRh",
+ "c3RvcmUudjFCDkRhdGFzdG9yZVByb3RvUAFaO2Nsb3VkLmdvb2dsZS5jb20v",
+ "Z28vZGF0YXN0b3JlL2FwaXYxL2RhdGFzdG9yZXBiO2RhdGFzdG9yZXBiqgIZ",
+ "R29vZ2xlLkNsb3VkLkRhdGFzdG9yZS5WMcoCGUdvb2dsZVxDbG91ZFxEYXRh",
+ "c3RvcmVcVjHqAhxHb29nbGU6OkNsb3VkOjpEYXRhc3RvcmU6OlYxYgZwcm90",
+ "bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Api.ClientReflection.Descriptor, global::Google.Api.FieldBehaviorReflection.Descriptor, global::Google.Api.RoutingReflection.Descriptor, global::Google.Cloud.Datastore.V1.AggregationResultReflection.Descriptor, global::Google.Cloud.Datastore.V1.EntityReflection.Descriptor, global::Google.Cloud.Datastore.V1.QueryReflection.Descriptor, global::Google.Cloud.Datastore.V1.QueryProfileReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
@@ -185,8 +203,9 @@ static DatastoreReflection() {
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.AllocateIdsResponse), global::Google.Cloud.Datastore.V1.AllocateIdsResponse.Parser, new[]{ "Keys" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.ReserveIdsRequest), global::Google.Cloud.Datastore.V1.ReserveIdsRequest.Parser, new[]{ "ProjectId", "DatabaseId", "Keys" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.ReserveIdsResponse), global::Google.Cloud.Datastore.V1.ReserveIdsResponse.Parser, null, null, null, null, null),
- new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.Mutation), global::Google.Cloud.Datastore.V1.Mutation.Parser, new[]{ "Insert", "Update", "Upsert", "Delete", "BaseVersion", "UpdateTime", "PropertyMask" }, new[]{ "Operation", "ConflictDetectionStrategy" }, null, null, null),
- new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.MutationResult), global::Google.Cloud.Datastore.V1.MutationResult.Parser, new[]{ "Key", "Version", "CreateTime", "UpdateTime", "ConflictDetected" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.Mutation), global::Google.Cloud.Datastore.V1.Mutation.Parser, new[]{ "Insert", "Update", "Upsert", "Delete", "BaseVersion", "UpdateTime", "ConflictResolutionStrategy", "PropertyMask", "PropertyTransforms" }, new[]{ "Operation", "ConflictDetectionStrategy" }, new[]{ typeof(global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy) }, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.PropertyTransform), global::Google.Cloud.Datastore.V1.PropertyTransform.Parser, new[]{ "Property", "SetToServerValue", "Increment", "Maximum", "Minimum", "AppendMissingElements", "RemoveAllFromArray" }, new[]{ "TransformType" }, new[]{ typeof(global::Google.Cloud.Datastore.V1.PropertyTransform.Types.ServerValue) }, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.MutationResult), global::Google.Cloud.Datastore.V1.MutationResult.Parser, new[]{ "Key", "Version", "CreateTime", "UpdateTime", "ConflictDetected", "TransformResults" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.PropertyMask), global::Google.Cloud.Datastore.V1.PropertyMask.Parser, new[]{ "Paths" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.ReadOptions), global::Google.Cloud.Datastore.V1.ReadOptions.Parser, new[]{ "ReadConsistency", "Transaction", "NewTransaction", "ReadTime" }, new[]{ "ConsistencyType" }, new[]{ typeof(global::Google.Cloud.Datastore.V1.ReadOptions.Types.ReadConsistency) }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.TransactionOptions), global::Google.Cloud.Datastore.V1.TransactionOptions.Parser, new[]{ "ReadWrite", "ReadOnly" }, new[]{ "Mode" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Datastore.V1.TransactionOptions.Types.ReadWrite), global::Google.Cloud.Datastore.V1.TransactionOptions.Types.ReadWrite.Parser, new[]{ "PreviousTransaction" }, null, null, null, null),
@@ -5343,7 +5362,9 @@ public Mutation() {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Mutation(Mutation other) : this() {
+ conflictResolutionStrategy_ = other.conflictResolutionStrategy_;
propertyMask_ = other.propertyMask_ != null ? other.propertyMask_.Clone() : null;
+ propertyTransforms_ = other.propertyTransforms_.Clone();
switch (other.OperationCase) {
case OperationOneofCase.Insert:
Insert = other.Insert.Clone();
@@ -5489,6 +5510,23 @@ public void ClearBaseVersion() {
}
}
+ /// Field number for the "conflict_resolution_strategy" field.
+ public const int ConflictResolutionStrategyFieldNumber = 10;
+ private global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy conflictResolutionStrategy_ = global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy.StrategyUnspecified;
+ ///
+ /// The strategy to use when a conflict is detected. Defaults to
+ /// `SERVER_VALUE`.
+ /// If this is set, then `conflict_detection_strategy` must also be set.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy ConflictResolutionStrategy {
+ get { return conflictResolutionStrategy_; }
+ set {
+ conflictResolutionStrategy_ = value;
+ }
+ }
+
/// Field number for the "property_mask" field.
public const int PropertyMaskFieldNumber = 9;
private global::Google.Cloud.Datastore.V1.PropertyMask propertyMask_;
@@ -5511,6 +5549,24 @@ public void ClearBaseVersion() {
}
}
+ /// Field number for the "property_transforms" field.
+ public const int PropertyTransformsFieldNumber = 12;
+ private static readonly pb::FieldCodec _repeated_propertyTransforms_codec
+ = pb::FieldCodec.ForMessage(98, global::Google.Cloud.Datastore.V1.PropertyTransform.Parser);
+ private readonly pbc::RepeatedField propertyTransforms_ = new pbc::RepeatedField();
+ ///
+ /// Optional. The transforms to perform on the entity.
+ ///
+ /// This field can be set only when the operation is `insert`, `update`,
+ /// or `upsert`. If present, the transforms are be applied to the entity
+ /// regardless of the property mask, in order, after the operation.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public pbc::RepeatedField PropertyTransforms {
+ get { return propertyTransforms_; }
+ }
+
private object operation_;
/// Enum of possible cases for the "operation" oneof.
public enum OperationOneofCase {
@@ -5576,7 +5632,9 @@ public bool Equals(Mutation other) {
if (!object.Equals(Delete, other.Delete)) return false;
if (BaseVersion != other.BaseVersion) return false;
if (!object.Equals(UpdateTime, other.UpdateTime)) return false;
+ if (ConflictResolutionStrategy != other.ConflictResolutionStrategy) return false;
if (!object.Equals(PropertyMask, other.PropertyMask)) return false;
+ if(!propertyTransforms_.Equals(other.propertyTransforms_)) return false;
if (OperationCase != other.OperationCase) return false;
if (ConflictDetectionStrategyCase != other.ConflictDetectionStrategyCase) return false;
return Equals(_unknownFields, other._unknownFields);
@@ -5592,7 +5650,9 @@ public override int GetHashCode() {
if (operationCase_ == OperationOneofCase.Delete) hash ^= Delete.GetHashCode();
if (HasBaseVersion) hash ^= BaseVersion.GetHashCode();
if (conflictDetectionStrategyCase_ == ConflictDetectionStrategyOneofCase.UpdateTime) hash ^= UpdateTime.GetHashCode();
+ if (ConflictResolutionStrategy != global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy.StrategyUnspecified) hash ^= ConflictResolutionStrategy.GetHashCode();
if (propertyMask_ != null) hash ^= PropertyMask.GetHashCode();
+ hash ^= propertyTransforms_.GetHashCode();
hash ^= (int) operationCase_;
hash ^= (int) conflictDetectionStrategyCase_;
if (_unknownFields != null) {
@@ -5637,10 +5697,15 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(74);
output.WriteMessage(PropertyMask);
}
+ if (ConflictResolutionStrategy != global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy.StrategyUnspecified) {
+ output.WriteRawTag(80);
+ output.WriteEnum((int) ConflictResolutionStrategy);
+ }
if (conflictDetectionStrategyCase_ == ConflictDetectionStrategyOneofCase.UpdateTime) {
output.WriteRawTag(90);
output.WriteMessage(UpdateTime);
}
+ propertyTransforms_.WriteTo(output, _repeated_propertyTransforms_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -5675,10 +5740,15 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(74);
output.WriteMessage(PropertyMask);
}
+ if (ConflictResolutionStrategy != global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy.StrategyUnspecified) {
+ output.WriteRawTag(80);
+ output.WriteEnum((int) ConflictResolutionStrategy);
+ }
if (conflictDetectionStrategyCase_ == ConflictDetectionStrategyOneofCase.UpdateTime) {
output.WriteRawTag(90);
output.WriteMessage(UpdateTime);
}
+ propertyTransforms_.WriteTo(ref output, _repeated_propertyTransforms_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -5707,9 +5777,13 @@ public int CalculateSize() {
if (conflictDetectionStrategyCase_ == ConflictDetectionStrategyOneofCase.UpdateTime) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(UpdateTime);
}
+ if (ConflictResolutionStrategy != global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy.StrategyUnspecified) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ConflictResolutionStrategy);
+ }
if (propertyMask_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(PropertyMask);
}
+ size += propertyTransforms_.CalculateSize(_repeated_propertyTransforms_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -5722,12 +5796,16 @@ public void MergeFrom(Mutation other) {
if (other == null) {
return;
}
+ if (other.ConflictResolutionStrategy != global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy.StrategyUnspecified) {
+ ConflictResolutionStrategy = other.ConflictResolutionStrategy;
+ }
if (other.propertyMask_ != null) {
if (propertyMask_ == null) {
PropertyMask = new global::Google.Cloud.Datastore.V1.PropertyMask();
}
PropertyMask.MergeFrom(other.PropertyMask);
}
+ propertyTransforms_.Add(other.propertyTransforms_);
switch (other.OperationCase) {
case OperationOneofCase.Insert:
if (Insert == null) {
@@ -5829,6 +5907,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(PropertyMask);
break;
}
+ case 80: {
+ ConflictResolutionStrategy = (global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy) input.ReadEnum();
+ break;
+ }
case 90: {
global::Google.Protobuf.WellKnownTypes.Timestamp subBuilder = new global::Google.Protobuf.WellKnownTypes.Timestamp();
if (conflictDetectionStrategyCase_ == ConflictDetectionStrategyOneofCase.UpdateTime) {
@@ -5838,6 +5920,10 @@ public void MergeFrom(pb::CodedInputStream input) {
UpdateTime = subBuilder;
break;
}
+ case 98: {
+ propertyTransforms_.AddEntriesFrom(input, _repeated_propertyTransforms_codec);
+ break;
+ }
}
}
#endif
@@ -5900,6 +5986,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(PropertyMask);
break;
}
+ case 80: {
+ ConflictResolutionStrategy = (global::Google.Cloud.Datastore.V1.Mutation.Types.ConflictResolutionStrategy) input.ReadEnum();
+ break;
+ }
case 90: {
global::Google.Protobuf.WellKnownTypes.Timestamp subBuilder = new global::Google.Protobuf.WellKnownTypes.Timestamp();
if (conflictDetectionStrategyCase_ == ConflictDetectionStrategyOneofCase.UpdateTime) {
@@ -5909,11 +5999,687 @@ public void MergeFrom(pb::CodedInputStream input) {
UpdateTime = subBuilder;
break;
}
+ case 98: {
+ propertyTransforms_.AddEntriesFrom(ref input, _repeated_propertyTransforms_codec);
+ break;
+ }
}
}
}
#endif
+ #region Nested types
+ /// Container for nested types declared in the Mutation message type.
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public static partial class Types {
+ ///
+ /// The possible ways to resolve a conflict detected in a mutation.
+ ///
+ public enum ConflictResolutionStrategy {
+ ///
+ /// Unspecified. Defaults to `SERVER_VALUE`.
+ ///
+ [pbr::OriginalName("STRATEGY_UNSPECIFIED")] StrategyUnspecified = 0,
+ ///
+ /// The server entity is kept.
+ ///
+ [pbr::OriginalName("SERVER_VALUE")] ServerValue = 1,
+ ///
+ /// The whole commit request fails.
+ ///
+ [pbr::OriginalName("FAIL")] Fail = 3,
+ }
+
+ }
+ #endregion
+
+ }
+
+ ///
+ /// A transformation of an entity property.
+ ///
+ [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
+ public sealed partial class PropertyTransform : pb::IMessage
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ , pb::IBufferMessage
+ #endif
+ {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new PropertyTransform());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Google.Cloud.Datastore.V1.DatastoreReflection.Descriptor.MessageTypes[17]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PropertyTransform() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PropertyTransform(PropertyTransform other) : this() {
+ property_ = other.property_;
+ switch (other.TransformTypeCase) {
+ case TransformTypeOneofCase.SetToServerValue:
+ SetToServerValue = other.SetToServerValue;
+ break;
+ case TransformTypeOneofCase.Increment:
+ Increment = other.Increment.Clone();
+ break;
+ case TransformTypeOneofCase.Maximum:
+ Maximum = other.Maximum.Clone();
+ break;
+ case TransformTypeOneofCase.Minimum:
+ Minimum = other.Minimum.Clone();
+ break;
+ case TransformTypeOneofCase.AppendMissingElements:
+ AppendMissingElements = other.AppendMissingElements.Clone();
+ break;
+ case TransformTypeOneofCase.RemoveAllFromArray:
+ RemoveAllFromArray = other.RemoveAllFromArray.Clone();
+ break;
+ }
+
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public PropertyTransform Clone() {
+ return new PropertyTransform(this);
+ }
+
+ /// Field number for the "property" field.
+ public const int PropertyFieldNumber = 1;
+ private string property_ = "";
+ ///
+ /// Optional. The name of the property.
+ ///
+ /// Property paths (a list of property names separated by dots (`.`)) may be
+ /// used to refer to properties inside entity values. For example `foo.bar`
+ /// means the property `bar` inside the entity property `foo`.
+ ///
+ /// If a property name contains a dot `.` or a backlslash `\`, then that name
+ /// must be escaped.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public string Property {
+ get { return property_; }
+ set {
+ property_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "set_to_server_value" field.
+ public const int SetToServerValueFieldNumber = 2;
+ ///
+ /// Sets the property to the given server value.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::Google.Cloud.Datastore.V1.PropertyTransform.Types.ServerValue SetToServerValue {
+ get { return HasSetToServerValue ? (global::Google.Cloud.Datastore.V1.PropertyTransform.Types.ServerValue) transformType_ : global::Google.Cloud.Datastore.V1.PropertyTransform.Types.ServerValue.Unspecified; }
+ set {
+ transformType_ = value;
+ transformTypeCase_ = TransformTypeOneofCase.SetToServerValue;
+ }
+ }
+ /// Gets whether the "set_to_server_value" field is set
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool HasSetToServerValue {
+ get { return transformTypeCase_ == TransformTypeOneofCase.SetToServerValue; }
+ }
+ /// Clears the value of the oneof if it's currently set to "set_to_server_value"
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearSetToServerValue() {
+ if (HasSetToServerValue) {
+ ClearTransformType();
+ }
+ }
+
+ /// Field number for the "increment" field.
+ public const int IncrementFieldNumber = 3;
+ ///
+ /// Adds the given value to the property's current value.
+ ///
+ /// This must be an integer or a double value.
+ /// If the property is not an integer or double, or if the property does not
+ /// yet exist, the transformation will set the property to the given value.
+ /// If either of the given value or the current property value are doubles,
+ /// both values will be interpreted as doubles. Double arithmetic and
+ /// representation of double values follows IEEE 754 semantics.
+ /// If there is positive/negative integer overflow, the property is resolved
+ /// to the largest magnitude positive/negative integer.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::Google.Cloud.Datastore.V1.Value Increment {
+ get { return transformTypeCase_ == TransformTypeOneofCase.Increment ? (global::Google.Cloud.Datastore.V1.Value) transformType_ : null; }
+ set {
+ transformType_ = value;
+ transformTypeCase_ = value == null ? TransformTypeOneofCase.None : TransformTypeOneofCase.Increment;
+ }
+ }
+
+ /// Field number for the "maximum" field.
+ public const int MaximumFieldNumber = 4;
+ ///
+ /// Sets the property to the maximum of its current value and the given
+ /// value.
+ ///
+ /// This must be an integer or a double value.
+ /// If the property is not an integer or double, or if the property does not
+ /// yet exist, the transformation will set the property to the given value.
+ /// If a maximum operation is applied where the property and the input value
+ /// are of mixed types (that is - one is an integer and one is a double)
+ /// the property takes on the type of the larger operand. If the operands are
+ /// equivalent (e.g. 3 and 3.0), the property does not change.
+ /// 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ /// zero input value is always the stored value.
+ /// The maximum of any numeric value x and NaN is NaN.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::Google.Cloud.Datastore.V1.Value Maximum {
+ get { return transformTypeCase_ == TransformTypeOneofCase.Maximum ? (global::Google.Cloud.Datastore.V1.Value) transformType_ : null; }
+ set {
+ transformType_ = value;
+ transformTypeCase_ = value == null ? TransformTypeOneofCase.None : TransformTypeOneofCase.Maximum;
+ }
+ }
+
+ /// Field number for the "minimum" field.
+ public const int MinimumFieldNumber = 5;
+ ///
+ /// Sets the property to the minimum of its current value and the given
+ /// value.
+ ///
+ /// This must be an integer or a double value.
+ /// If the property is not an integer or double, or if the property does not
+ /// yet exist, the transformation will set the property to the input value.
+ /// If a minimum operation is applied where the property and the input value
+ /// are of mixed types (that is - one is an integer and one is a double)
+ /// the property takes on the type of the smaller operand. If the operands
+ /// are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ /// and -0.0 are all zero. The minimum of a zero stored value and zero input
+ /// value is always the stored value. The minimum of any numeric value x and
+ /// NaN is NaN.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::Google.Cloud.Datastore.V1.Value Minimum {
+ get { return transformTypeCase_ == TransformTypeOneofCase.Minimum ? (global::Google.Cloud.Datastore.V1.Value) transformType_ : null; }
+ set {
+ transformType_ = value;
+ transformTypeCase_ = value == null ? TransformTypeOneofCase.None : TransformTypeOneofCase.Minimum;
+ }
+ }
+
+ /// Field number for the "append_missing_elements" field.
+ public const int AppendMissingElementsFieldNumber = 6;
+ ///
+ /// Appends the given elements in order if they are not already present in
+ /// the current property value.
+ /// If the property is not an array, or if the property does not yet exist,
+ /// it is first set to the empty array.
+ ///
+ /// Equivalent numbers of different types (e.g. 3L and 3.0) are
+ /// considered equal when checking if a value is missing.
+ /// NaN is equal to NaN, and the null value is equal to the null value.
+ /// If the input contains multiple equivalent values, only the first will
+ /// be considered.
+ ///
+ /// The corresponding transform result will be the null value.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::Google.Cloud.Datastore.V1.ArrayValue AppendMissingElements {
+ get { return transformTypeCase_ == TransformTypeOneofCase.AppendMissingElements ? (global::Google.Cloud.Datastore.V1.ArrayValue) transformType_ : null; }
+ set {
+ transformType_ = value;
+ transformTypeCase_ = value == null ? TransformTypeOneofCase.None : TransformTypeOneofCase.AppendMissingElements;
+ }
+ }
+
+ /// Field number for the "remove_all_from_array" field.
+ public const int RemoveAllFromArrayFieldNumber = 7;
+ ///
+ /// Removes all of the given elements from the array in the property.
+ /// If the property is not an array, or if the property does not yet exist,
+ /// it is set to the empty array.
+ ///
+ /// Equivalent numbers of different types (e.g. 3L and 3.0) are
+ /// considered equal when deciding whether an element should be removed.
+ /// NaN is equal to NaN, and the null value is equal to the null value.
+ /// This will remove all equivalent values if there are duplicates.
+ ///
+ /// The corresponding transform result will be the null value.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public global::Google.Cloud.Datastore.V1.ArrayValue RemoveAllFromArray {
+ get { return transformTypeCase_ == TransformTypeOneofCase.RemoveAllFromArray ? (global::Google.Cloud.Datastore.V1.ArrayValue) transformType_ : null; }
+ set {
+ transformType_ = value;
+ transformTypeCase_ = value == null ? TransformTypeOneofCase.None : TransformTypeOneofCase.RemoveAllFromArray;
+ }
+ }
+
+ private object transformType_;
+ /// Enum of possible cases for the "transform_type" oneof.
+ public enum TransformTypeOneofCase {
+ None = 0,
+ SetToServerValue = 2,
+ Increment = 3,
+ Maximum = 4,
+ Minimum = 5,
+ AppendMissingElements = 6,
+ RemoveAllFromArray = 7,
+ }
+ private TransformTypeOneofCase transformTypeCase_ = TransformTypeOneofCase.None;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public TransformTypeOneofCase TransformTypeCase {
+ get { return transformTypeCase_; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void ClearTransformType() {
+ transformTypeCase_ = TransformTypeOneofCase.None;
+ transformType_ = null;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override bool Equals(object other) {
+ return Equals(other as PropertyTransform);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Equals(PropertyTransform other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Property != other.Property) return false;
+ if (SetToServerValue != other.SetToServerValue) return false;
+ if (!object.Equals(Increment, other.Increment)) return false;
+ if (!object.Equals(Maximum, other.Maximum)) return false;
+ if (!object.Equals(Minimum, other.Minimum)) return false;
+ if (!object.Equals(AppendMissingElements, other.AppendMissingElements)) return false;
+ if (!object.Equals(RemoveAllFromArray, other.RemoveAllFromArray)) return false;
+ if (TransformTypeCase != other.TransformTypeCase) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Property.Length != 0) hash ^= Property.GetHashCode();
+ if (HasSetToServerValue) hash ^= SetToServerValue.GetHashCode();
+ if (transformTypeCase_ == TransformTypeOneofCase.Increment) hash ^= Increment.GetHashCode();
+ if (transformTypeCase_ == TransformTypeOneofCase.Maximum) hash ^= Maximum.GetHashCode();
+ if (transformTypeCase_ == TransformTypeOneofCase.Minimum) hash ^= Minimum.GetHashCode();
+ if (transformTypeCase_ == TransformTypeOneofCase.AppendMissingElements) hash ^= AppendMissingElements.GetHashCode();
+ if (transformTypeCase_ == TransformTypeOneofCase.RemoveAllFromArray) hash ^= RemoveAllFromArray.GetHashCode();
+ hash ^= (int) transformTypeCase_;
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void WriteTo(pb::CodedOutputStream output) {
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ output.WriteRawMessage(this);
+ #else
+ if (Property.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Property);
+ }
+ if (HasSetToServerValue) {
+ output.WriteRawTag(16);
+ output.WriteEnum((int) SetToServerValue);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Increment) {
+ output.WriteRawTag(26);
+ output.WriteMessage(Increment);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Maximum) {
+ output.WriteRawTag(34);
+ output.WriteMessage(Maximum);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Minimum) {
+ output.WriteRawTag(42);
+ output.WriteMessage(Minimum);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.AppendMissingElements) {
+ output.WriteRawTag(50);
+ output.WriteMessage(AppendMissingElements);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.RemoveAllFromArray) {
+ output.WriteRawTag(58);
+ output.WriteMessage(RemoveAllFromArray);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ #endif
+ }
+
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
+ if (Property.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Property);
+ }
+ if (HasSetToServerValue) {
+ output.WriteRawTag(16);
+ output.WriteEnum((int) SetToServerValue);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Increment) {
+ output.WriteRawTag(26);
+ output.WriteMessage(Increment);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Maximum) {
+ output.WriteRawTag(34);
+ output.WriteMessage(Maximum);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Minimum) {
+ output.WriteRawTag(42);
+ output.WriteMessage(Minimum);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.AppendMissingElements) {
+ output.WriteRawTag(50);
+ output.WriteMessage(AppendMissingElements);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.RemoveAllFromArray) {
+ output.WriteRawTag(58);
+ output.WriteMessage(RemoveAllFromArray);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(ref output);
+ }
+ }
+ #endif
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public int CalculateSize() {
+ int size = 0;
+ if (Property.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Property);
+ }
+ if (HasSetToServerValue) {
+ size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SetToServerValue);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Increment) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Increment);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Maximum) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Maximum);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.Minimum) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Minimum);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.AppendMissingElements) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(AppendMissingElements);
+ }
+ if (transformTypeCase_ == TransformTypeOneofCase.RemoveAllFromArray) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemoveAllFromArray);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(PropertyTransform other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Property.Length != 0) {
+ Property = other.Property;
+ }
+ switch (other.TransformTypeCase) {
+ case TransformTypeOneofCase.SetToServerValue:
+ SetToServerValue = other.SetToServerValue;
+ break;
+ case TransformTypeOneofCase.Increment:
+ if (Increment == null) {
+ Increment = new global::Google.Cloud.Datastore.V1.Value();
+ }
+ Increment.MergeFrom(other.Increment);
+ break;
+ case TransformTypeOneofCase.Maximum:
+ if (Maximum == null) {
+ Maximum = new global::Google.Cloud.Datastore.V1.Value();
+ }
+ Maximum.MergeFrom(other.Maximum);
+ break;
+ case TransformTypeOneofCase.Minimum:
+ if (Minimum == null) {
+ Minimum = new global::Google.Cloud.Datastore.V1.Value();
+ }
+ Minimum.MergeFrom(other.Minimum);
+ break;
+ case TransformTypeOneofCase.AppendMissingElements:
+ if (AppendMissingElements == null) {
+ AppendMissingElements = new global::Google.Cloud.Datastore.V1.ArrayValue();
+ }
+ AppendMissingElements.MergeFrom(other.AppendMissingElements);
+ break;
+ case TransformTypeOneofCase.RemoveAllFromArray:
+ if (RemoveAllFromArray == null) {
+ RemoveAllFromArray = new global::Google.Cloud.Datastore.V1.ArrayValue();
+ }
+ RemoveAllFromArray.MergeFrom(other.RemoveAllFromArray);
+ break;
+ }
+
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public void MergeFrom(pb::CodedInputStream input) {
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ input.ReadRawMessage(this);
+ #else
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ Property = input.ReadString();
+ break;
+ }
+ case 16: {
+ transformType_ = input.ReadEnum();
+ transformTypeCase_ = TransformTypeOneofCase.SetToServerValue;
+ break;
+ }
+ case 26: {
+ global::Google.Cloud.Datastore.V1.Value subBuilder = new global::Google.Cloud.Datastore.V1.Value();
+ if (transformTypeCase_ == TransformTypeOneofCase.Increment) {
+ subBuilder.MergeFrom(Increment);
+ }
+ input.ReadMessage(subBuilder);
+ Increment = subBuilder;
+ break;
+ }
+ case 34: {
+ global::Google.Cloud.Datastore.V1.Value subBuilder = new global::Google.Cloud.Datastore.V1.Value();
+ if (transformTypeCase_ == TransformTypeOneofCase.Maximum) {
+ subBuilder.MergeFrom(Maximum);
+ }
+ input.ReadMessage(subBuilder);
+ Maximum = subBuilder;
+ break;
+ }
+ case 42: {
+ global::Google.Cloud.Datastore.V1.Value subBuilder = new global::Google.Cloud.Datastore.V1.Value();
+ if (transformTypeCase_ == TransformTypeOneofCase.Minimum) {
+ subBuilder.MergeFrom(Minimum);
+ }
+ input.ReadMessage(subBuilder);
+ Minimum = subBuilder;
+ break;
+ }
+ case 50: {
+ global::Google.Cloud.Datastore.V1.ArrayValue subBuilder = new global::Google.Cloud.Datastore.V1.ArrayValue();
+ if (transformTypeCase_ == TransformTypeOneofCase.AppendMissingElements) {
+ subBuilder.MergeFrom(AppendMissingElements);
+ }
+ input.ReadMessage(subBuilder);
+ AppendMissingElements = subBuilder;
+ break;
+ }
+ case 58: {
+ global::Google.Cloud.Datastore.V1.ArrayValue subBuilder = new global::Google.Cloud.Datastore.V1.ArrayValue();
+ if (transformTypeCase_ == TransformTypeOneofCase.RemoveAllFromArray) {
+ subBuilder.MergeFrom(RemoveAllFromArray);
+ }
+ input.ReadMessage(subBuilder);
+ RemoveAllFromArray = subBuilder;
+ break;
+ }
+ }
+ }
+ #endif
+ }
+
+ #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
+ break;
+ case 10: {
+ Property = input.ReadString();
+ break;
+ }
+ case 16: {
+ transformType_ = input.ReadEnum();
+ transformTypeCase_ = TransformTypeOneofCase.SetToServerValue;
+ break;
+ }
+ case 26: {
+ global::Google.Cloud.Datastore.V1.Value subBuilder = new global::Google.Cloud.Datastore.V1.Value();
+ if (transformTypeCase_ == TransformTypeOneofCase.Increment) {
+ subBuilder.MergeFrom(Increment);
+ }
+ input.ReadMessage(subBuilder);
+ Increment = subBuilder;
+ break;
+ }
+ case 34: {
+ global::Google.Cloud.Datastore.V1.Value subBuilder = new global::Google.Cloud.Datastore.V1.Value();
+ if (transformTypeCase_ == TransformTypeOneofCase.Maximum) {
+ subBuilder.MergeFrom(Maximum);
+ }
+ input.ReadMessage(subBuilder);
+ Maximum = subBuilder;
+ break;
+ }
+ case 42: {
+ global::Google.Cloud.Datastore.V1.Value subBuilder = new global::Google.Cloud.Datastore.V1.Value();
+ if (transformTypeCase_ == TransformTypeOneofCase.Minimum) {
+ subBuilder.MergeFrom(Minimum);
+ }
+ input.ReadMessage(subBuilder);
+ Minimum = subBuilder;
+ break;
+ }
+ case 50: {
+ global::Google.Cloud.Datastore.V1.ArrayValue subBuilder = new global::Google.Cloud.Datastore.V1.ArrayValue();
+ if (transformTypeCase_ == TransformTypeOneofCase.AppendMissingElements) {
+ subBuilder.MergeFrom(AppendMissingElements);
+ }
+ input.ReadMessage(subBuilder);
+ AppendMissingElements = subBuilder;
+ break;
+ }
+ case 58: {
+ global::Google.Cloud.Datastore.V1.ArrayValue subBuilder = new global::Google.Cloud.Datastore.V1.ArrayValue();
+ if (transformTypeCase_ == TransformTypeOneofCase.RemoveAllFromArray) {
+ subBuilder.MergeFrom(RemoveAllFromArray);
+ }
+ input.ReadMessage(subBuilder);
+ RemoveAllFromArray = subBuilder;
+ break;
+ }
+ }
+ }
+ }
+ #endif
+
+ #region Nested types
+ /// Container for nested types declared in the PropertyTransform message type.
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public static partial class Types {
+ ///
+ /// A value that is calculated by the server.
+ ///
+ public enum ServerValue {
+ ///
+ /// Unspecified. This value must not be used.
+ ///
+ [pbr::OriginalName("SERVER_VALUE_UNSPECIFIED")] Unspecified = 0,
+ ///
+ /// The time at which the server processed the request, with millisecond
+ /// precision. If used on multiple properties (same or different entities)
+ /// in a transaction, all the properties will get the same server timestamp.
+ ///
+ [pbr::OriginalName("REQUEST_TIME")] RequestTime = 1,
+ }
+
+ }
+ #endregion
+
}
///
@@ -5934,7 +6700,7 @@ public sealed partial class MutationResult : pb::IMessage
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Cloud.Datastore.V1.DatastoreReflection.Descriptor.MessageTypes[17]; }
+ get { return global::Google.Cloud.Datastore.V1.DatastoreReflection.Descriptor.MessageTypes[18]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -5959,6 +6725,7 @@ public MutationResult(MutationResult other) : this() {
createTime_ = other.createTime_ != null ? other.createTime_.Clone() : null;
updateTime_ = other.updateTime_ != null ? other.updateTime_.Clone() : null;
conflictDetected_ = other.conflictDetected_;
+ transformResults_ = other.transformResults_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -6052,6 +6819,22 @@ public bool ConflictDetected {
}
}
+ /// Field number for the "transform_results" field.
+ public const int TransformResultsFieldNumber = 8;
+ private static readonly pb::FieldCodec _repeated_transformResults_codec
+ = pb::FieldCodec.ForMessage(66, global::Google.Cloud.Datastore.V1.Value.Parser);
+ private readonly pbc::RepeatedField transformResults_ = new pbc::RepeatedField();
+ ///
+ /// The results of applying each
+ /// [PropertyTransform][google.datastore.v1.PropertyTransform], in the same
+ /// order of the request.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public pbc::RepeatedField TransformResults {
+ get { return transformResults_; }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -6072,6 +6855,7 @@ public bool Equals(MutationResult other) {
if (!object.Equals(CreateTime, other.CreateTime)) return false;
if (!object.Equals(UpdateTime, other.UpdateTime)) return false;
if (ConflictDetected != other.ConflictDetected) return false;
+ if(!transformResults_.Equals(other.transformResults_)) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -6084,6 +6868,7 @@ public override int GetHashCode() {
if (createTime_ != null) hash ^= CreateTime.GetHashCode();
if (updateTime_ != null) hash ^= UpdateTime.GetHashCode();
if (ConflictDetected != false) hash ^= ConflictDetected.GetHashCode();
+ hash ^= transformResults_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -6122,6 +6907,7 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(58);
output.WriteMessage(CreateTime);
}
+ transformResults_.WriteTo(output, _repeated_transformResults_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -6152,6 +6938,7 @@ public void WriteTo(pb::CodedOutputStream output) {
output.WriteRawTag(58);
output.WriteMessage(CreateTime);
}
+ transformResults_.WriteTo(ref output, _repeated_transformResults_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -6177,6 +6964,7 @@ public int CalculateSize() {
if (ConflictDetected != false) {
size += 1 + 1;
}
+ size += transformResults_.CalculateSize(_repeated_transformResults_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -6213,6 +7001,7 @@ public void MergeFrom(MutationResult other) {
if (other.ConflictDetected != false) {
ConflictDetected = other.ConflictDetected;
}
+ transformResults_.Add(other.transformResults_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -6257,6 +7046,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(CreateTime);
break;
}
+ case 66: {
+ transformResults_.AddEntriesFrom(input, _repeated_transformResults_codec);
+ break;
+ }
}
}
#endif
@@ -6301,6 +7094,10 @@ public void MergeFrom(pb::CodedInputStream input) {
input.ReadMessage(CreateTime);
break;
}
+ case 66: {
+ transformResults_.AddEntriesFrom(ref input, _repeated_transformResults_codec);
+ break;
+ }
}
}
}
@@ -6327,7 +7124,7 @@ public sealed partial class PropertyMask : pb::IMessage
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Cloud.Datastore.V1.DatastoreReflection.Descriptor.MessageTypes[18]; }
+ get { return global::Google.Cloud.Datastore.V1.DatastoreReflection.Descriptor.MessageTypes[19]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -6522,7 +7319,7 @@ public sealed partial class ReadOptions : pb::IMessage
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
- get { return global::Google.Cloud.Datastore.V1.DatastoreReflection.Descriptor.MessageTypes[19]; }
+ get { return global::Google.Cloud.Datastore.V1.DatastoreReflection.Descriptor.MessageTypes[20]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -6978,7 +7775,7 @@ public sealed partial class TransactionOptions : pb::IMessage