diff --git a/DiscoveryJson/spanner.v1.json b/DiscoveryJson/spanner.v1.json
index ec90cc80c8..c9744b3a9f 100644
--- a/DiscoveryJson/spanner.v1.json
+++ b/DiscoveryJson/spanner.v1.json
@@ -2515,7 +2515,7 @@
]
},
"executeSql": {
- "description": "Executes an SQL statement, returning all results in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be fetched in streaming fashion by calling ExecuteStreamingSql instead.",
+ "description": "Executes an SQL statement, returning all results in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be fetched in streaming fashion by calling ExecuteStreamingSql instead. The query string can be SQL or [Graph Query Language (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).",
"flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeSql",
"httpMethod": "POST",
"id": "spanner.projects.instances.databases.sessions.executeSql",
@@ -2544,7 +2544,7 @@
]
},
"executeStreamingSql": {
- "description": "Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.",
+ "description": "Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB. The query string can be SQL or [Graph Query Language (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).",
"flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeStreamingSql",
"httpMethod": "POST",
"id": "spanner.projects.instances.databases.sessions.executeStreamingSql",
@@ -3319,7 +3319,7 @@
}
}
},
- "revision": "20241218",
+ "revision": "20241220",
"rootUrl": "https://spanner.googleapis.com/",
"schemas": {
"AsymmetricAutoscalingOption": {
@@ -4262,7 +4262,7 @@
"type": "string"
},
"text": {
- "description": "Required. Textual representation of the crontab. User can customize the backup frequency and the backup version time using the cron expression. The version time must be in UTC timzeone. The backup will contain an externally consistent copy of the database at the version time. Allowed frequencies are 12 hour, 1 day, 1 week and 1 month. Examples of valid cron specifications: * `0 2/12 * * * ` : every 12 hours at (2, 14) hours past midnight in UTC. * `0 2,14 * * * ` : every 12 hours at (2,14) hours past midnight in UTC. * `0 2 * * * ` : once a day at 2 past midnight in UTC. * `0 2 * * 0 ` : once a week every Sunday at 2 past midnight in UTC. * `0 2 8 * * ` : once a month on 8th day at 2 past midnight in UTC.",
+ "description": "Required. Textual representation of the crontab. User can customize the backup frequency and the backup version time using the cron expression. The version time must be in UTC timezone. The backup will contain an externally consistent copy of the database at the version time. Full backups must be scheduled a minimum of 12 hours apart and incremental backups must be scheduled a minimum of 4 hours apart. Examples of valid cron specifications: * `0 2/12 * * *` : every 12 hours at (2, 14) hours past midnight in UTC. * `0 2,14 * * *` : every 12 hours at (2,14) hours past midnight in UTC. * `0 */4 * * *` : (incremental backups only) every 4 hours at (0, 4, 8, 12, 16, 20) hours past midnight in UTC. * `0 2 * * *` : once a day at 2 past midnight in UTC. * `0 2 * * 0` : once a week every Sunday at 2 past midnight in UTC. * `0 2 8 * *` : once a month on 8th day at 2 past midnight in UTC.",
"type": "string"
},
"timeZone": {
@@ -4569,6 +4569,10 @@
"description": "The request for ExecuteBatchDml.",
"id": "ExecuteBatchDmlRequest",
"properties": {
+ "lastStatements": {
+ "description": "Optional. If set to true, this request marks the end of the transaction. The transaction should be committed or aborted after these statements execute, and attempts to execute any other requests against this transaction (including reads and queries) will be rejected. Setting this option may cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful execution of statements should not be assumed until a subsequent Commit call completes successfully.",
+ "type": "boolean"
+ },
"requestOptions": {
"$ref": "RequestOptions",
"description": "Common options for this request."
@@ -4626,6 +4630,10 @@
"$ref": "DirectedReadOptions",
"description": "Directed read options for this request."
},
+ "lastStatement": {
+ "description": "Optional. If set to true, this statement marks the end of the transaction. The transaction should be committed or aborted after this statement executes, and attempts to execute any other requests against this transaction (including reads and queries) will be rejected. For DML statements, setting this option may cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful execution of a DML statement should not be assumed until a subsequent Commit call completes successfully.",
+ "type": "boolean"
+ },
"paramTypes": {
"additionalProperties": {
"$ref": "Type"
@@ -4903,7 +4911,7 @@
"type": "string"
},
"defaultBackupScheduleType": {
- "description": "Optional. Controls the default backup behavior for new databases within the instance. Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances. In the `GetInstance` or `ListInstances` response, if the value of default_backup_schedule_type is unset or NONE, no default backup schedule will be created for new databases within the instance.",
+ "description": "Optional. Controls the default backup schedule behavior for new databases within the instance. By default, a backup schedule is created automatically when a new database is created in a new instance. Note that the `AUTOMATIC` value isn't permitted for free instances, as backups and backup schedules aren't supported for free instances. In the `GetInstance` or `ListInstances` response, if the value of `default_backup_schedule_type` isn't set, or set to `NONE`, Spanner doesn't create a default backup schedule for new databases in the instance.",
"enum": [
"DEFAULT_BACKUP_SCHEDULE_TYPE_UNSPECIFIED",
"NONE",
@@ -4911,8 +4919,8 @@
],
"enumDescriptions": [
"Not specified.",
- "No default backup schedule will be created automatically on creation of a database within the instance.",
- "A default backup schedule will be created automatically on creation of a database within the instance. Once created, the default backup schedule can be edited or deleted just like any other backup schedule. Currently, the default backup schedule creates a full backup every 24 hours and retains the backup for a period of 7 days."
+ "A default backup schedule isn't created automatically when a new database is created in the instance.",
+ "A default backup schedule is created automatically when a new database is created in the instance. The default backup schedule creates a full backup every 24 hours. These full backups are retained for 7 days. You can edit or delete the default backup schedule once it's created."
],
"type": "string"
},
@@ -7103,12 +7111,14 @@
"enum": [
"TYPE_ANNOTATION_CODE_UNSPECIFIED",
"PG_NUMERIC",
- "PG_JSONB"
+ "PG_JSONB",
+ "PG_OID"
],
"enumDescriptions": [
"Not specified.",
"PostgreSQL compatible NUMERIC type. This annotation needs to be applied to Type instances having NUMERIC type code to specify that values of this type should be treated as PostgreSQL NUMERIC values. Currently this annotation is always needed for NUMERIC when a client interacts with PostgreSQL-enabled Spanner databases.",
- "PostgreSQL compatible JSONB type. This annotation needs to be applied to Type instances having JSON type code to specify that values of this type should be treated as PostgreSQL JSONB values. Currently this annotation is always needed for JSON when a client interacts with PostgreSQL-enabled Spanner databases."
+ "PostgreSQL compatible JSONB type. This annotation needs to be applied to Type instances having JSON type code to specify that values of this type should be treated as PostgreSQL JSONB values. Currently this annotation is always needed for JSON when a client interacts with PostgreSQL-enabled Spanner databases.",
+ "PostgreSQL compatible OID type. This annotation can be used by a client interacting with PostgreSQL-enabled Spanner database to specify that a value should be treated using the semantics of the OID type."
],
"type": "string"
}
@@ -7169,7 +7179,7 @@
"type": "string"
},
"protoDescriptors": {
- "description": "Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized [google.protobufFileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \\ --include_imports \\ --descriptor_set_out=descriptors.data \\ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description).",
+ "description": "Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \\ --include_imports \\ --descriptor_set_out=descriptors.data \\ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description).",
"format": "byte",
"type": "string"
},
diff --git a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs
index ecb1b759dd..25074338a6 100644
--- a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs
+++ b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs
@@ -4337,7 +4337,8 @@ protected override void InitParameters()
/// fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return
/// `ABORTED`. If this occurs, the application should restart the transaction from the beginning.
/// See Transaction for more details. Larger result sets can be fetched in streaming fashion by
- /// calling ExecuteStreamingSql instead.
+ /// calling ExecuteStreamingSql instead. The query string can be SQL or [Graph Query Language
+ /// (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).
///
/// The body of the request.
/// Required. The session in which the SQL query should be performed.
@@ -4352,7 +4353,8 @@ public virtual ExecuteSqlRequest ExecuteSql(Google.Apis.Spanner.v1.Data.ExecuteS
/// fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return
/// `ABORTED`. If this occurs, the application should restart the transaction from the beginning.
/// See Transaction for more details. Larger result sets can be fetched in streaming fashion by
- /// calling ExecuteStreamingSql instead.
+ /// calling ExecuteStreamingSql instead. The query string can be SQL or [Graph Query Language
+ /// (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).
///
public class ExecuteSqlRequest : SpannerBaseServiceRequest
{
@@ -4401,7 +4403,8 @@ protected override void InitParameters()
///
/// Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit
/// on the size of the returned result set. However, no individual row in the result set can exceed
- /// 100 MiB, and no column value can exceed 10 MiB.
+ /// 100 MiB, and no column value can exceed 10 MiB. The query string can be SQL or [Graph Query
+ /// Language (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).
///
/// The body of the request.
/// Required. The session in which the SQL query should be performed.
@@ -4413,7 +4416,8 @@ public virtual ExecuteStreamingSqlRequest ExecuteStreamingSql(Google.Apis.Spanne
///
/// Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit
/// on the size of the returned result set. However, no individual row in the result set can exceed
- /// 100 MiB, and no column value can exceed 10 MiB.
+ /// 100 MiB, and no column value can exceed 10 MiB. The query string can be SQL or [Graph Query
+ /// Language (GQL)](https://cloud.google.com/spanner/docs/reference/standard-sql/graph-intro).
///
public class ExecuteStreamingSqlRequest : SpannerBaseServiceRequest
{
@@ -9925,12 +9929,14 @@ public class CrontabSpec : Google.Apis.Requests.IDirectResponseSchema
///
/// Required. Textual representation of the crontab. User can customize the backup frequency and the backup
- /// version time using the cron expression. The version time must be in UTC timzeone. The backup will contain an
- /// externally consistent copy of the database at the version time. Allowed frequencies are 12 hour, 1 day, 1
- /// week and 1 month. Examples of valid cron specifications: * `0 2/12 * * * ` : every 12 hours at (2, 14) hours
- /// past midnight in UTC. * `0 2,14 * * * ` : every 12 hours at (2,14) hours past midnight in UTC. * `0 2 * * *
- /// ` : once a day at 2 past midnight in UTC. * `0 2 * * 0 ` : once a week every Sunday at 2 past midnight in
- /// UTC. * `0 2 8 * * ` : once a month on 8th day at 2 past midnight in UTC.
+ /// version time using the cron expression. The version time must be in UTC timezone. The backup will contain an
+ /// externally consistent copy of the database at the version time. Full backups must be scheduled a minimum of
+ /// 12 hours apart and incremental backups must be scheduled a minimum of 4 hours apart. Examples of valid cron
+ /// specifications: * `0 2/12 * * *` : every 12 hours at (2, 14) hours past midnight in UTC. * `0 2,14 * * *` :
+ /// every 12 hours at (2,14) hours past midnight in UTC. * `0 */4 * * *` : (incremental backups only) every 4
+ /// hours at (0, 4, 8, 12, 16, 20) hours past midnight in UTC. * `0 2 * * *` : once a day at 2 past midnight in
+ /// UTC. * `0 2 * * 0` : once a week every Sunday at 2 past midnight in UTC. * `0 2 8 * *` : once a month on 8th
+ /// day at 2 past midnight in UTC.
///
[Newtonsoft.Json.JsonPropertyAttribute("text")]
public virtual string Text { get; set; }
@@ -10336,6 +10342,16 @@ public class ExcludeReplicas : Google.Apis.Requests.IDirectResponseSchema
/// The request for ExecuteBatchDml.
public class ExecuteBatchDmlRequest : Google.Apis.Requests.IDirectResponseSchema
{
+ ///
+ /// Optional. If set to true, this request marks the end of the transaction. The transaction should be committed
+ /// or aborted after these statements execute, and attempts to execute any other requests against this
+ /// transaction (including reads and queries) will be rejected. Setting this option may cause some error
+ /// reporting to be deferred until commit time (e.g. validation of unique constraints). Given this, successful
+ /// execution of statements should not be assumed until a subsequent Commit call completes successfully.
+ ///
+ [Newtonsoft.Json.JsonPropertyAttribute("lastStatements")]
+ public virtual System.Nullable LastStatements { get; set; }
+
/// Common options for this request.
[Newtonsoft.Json.JsonPropertyAttribute("requestOptions")]
public virtual RequestOptions RequestOptions { get; set; }
@@ -10428,6 +10444,17 @@ public class ExecuteSqlRequest : Google.Apis.Requests.IDirectResponseSchema
[Newtonsoft.Json.JsonPropertyAttribute("directedReadOptions")]
public virtual DirectedReadOptions DirectedReadOptions { get; set; }
+ ///
+ /// Optional. If set to true, this statement marks the end of the transaction. The transaction should be
+ /// committed or aborted after this statement executes, and attempts to execute any other requests against this
+ /// transaction (including reads and queries) will be rejected. For DML statements, setting this option may
+ /// cause some error reporting to be deferred until commit time (e.g. validation of unique constraints). Given
+ /// this, successful execution of a DML statement should not be assumed until a subsequent Commit call completes
+ /// successfully.
+ ///
+ [Newtonsoft.Json.JsonPropertyAttribute("lastStatement")]
+ public virtual System.Nullable LastStatement { get; set; }
+
///
/// It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example,
/// values of type `BYTES` and values of type `STRING` both appear in params as JSON strings. In these cases,
@@ -10862,10 +10889,12 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset
}
///
- /// Optional. Controls the default backup behavior for new databases within the instance. Note that `AUTOMATIC`
- /// is not permitted for free instances, as backups and backup schedules are not allowed for free instances. In
- /// the `GetInstance` or `ListInstances` response, if the value of default_backup_schedule_type is unset or
- /// NONE, no default backup schedule will be created for new databases within the instance.
+ /// Optional. Controls the default backup schedule behavior for new databases within the instance. By default, a
+ /// backup schedule is created automatically when a new database is created in a new instance. Note that the
+ /// `AUTOMATIC` value isn't permitted for free instances, as backups and backup schedules aren't supported for
+ /// free instances. In the `GetInstance` or `ListInstances` response, if the value of
+ /// `default_backup_schedule_type` isn't set, or set to `NONE`, Spanner doesn't create a default backup schedule
+ /// for new databases in the instance.
///
[Newtonsoft.Json.JsonPropertyAttribute("defaultBackupScheduleType")]
public virtual string DefaultBackupScheduleType { get; set; }
@@ -14129,7 +14158,7 @@ public class UpdateDatabaseDdlRequest : Google.Apis.Requests.IDirectResponseSche
///
/// Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized
- /// [google.protobufFileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto).
+ /// [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto).
/// To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports
/// and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run
/// ```
diff --git a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj
index f10fa578c8..539f406ee0 100644
--- a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj
+++ b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj
@@ -3,7 +3,7 @@
Google.Apis.Spanner.v1 Client Library
- 1.68.0.3639
+ 1.68.0.3641
Google LLC
Copyright 2025 Google LLC
Google