From c889631cd0114b32f127b1e6006c3e678547f8c3 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 26 Mar 2024 07:08:33 +0000 Subject: [PATCH] feat(datastore): update the api #### datastore:v1 The following keys were added: - schemas.ExecutionStats (Total Keys: 10) - schemas.ExplainMetrics (Total Keys: 4) - schemas.ExplainOptions (Total Keys: 3) - schemas.LookupRequest.properties.propertyMask.$ref (Total Keys: 1) - schemas.Mutation.properties.propertyMask.$ref (Total Keys: 1) - schemas.PlanSummary (Total Keys: 5) - schemas.PropertyMask (Total Keys: 4) - schemas.RunAggregationQueryRequest.properties.explainOptions.$ref (Total Keys: 1) - schemas.RunAggregationQueryResponse.properties.explainMetrics.$ref (Total Keys: 1) - schemas.RunQueryRequest.properties.explainOptions.$ref (Total Keys: 1) - schemas.RunQueryRequest.properties.propertyMask.$ref (Total Keys: 1) - schemas.RunQueryResponse.properties.explainMetrics.$ref (Total Keys: 1) #### datastore:v1beta3 The following keys were added: - schemas.ExecutionStats (Total Keys: 10) - schemas.ExplainMetrics (Total Keys: 4) - schemas.ExplainOptions (Total Keys: 3) - schemas.LookupRequest.properties.propertyMask.$ref (Total Keys: 1) - schemas.Mutation.properties.propertyMask.$ref (Total Keys: 1) - schemas.PlanSummary (Total Keys: 5) - schemas.PropertyMask (Total Keys: 4) - schemas.RunAggregationQueryRequest.properties.explainOptions.$ref (Total Keys: 1) - schemas.RunAggregationQueryResponse.properties.explainMetrics.$ref (Total Keys: 1) - schemas.RunQueryRequest.properties.explainOptions.$ref (Total Keys: 1) - schemas.RunQueryRequest.properties.propertyMask.$ref (Total Keys: 1) - schemas.RunQueryResponse.properties.explainMetrics.$ref (Total Keys: 1) --- docs/dyn/datastore_v1.projects.html | 55 ++++++++ docs/dyn/datastore_v1beta3.projects.html | 55 ++++++++ .../documents/datastore.v1.json | 118 +++++++++++++++++- .../documents/datastore.v1beta1.json | 2 +- .../documents/datastore.v1beta3.json | 118 +++++++++++++++++- 5 files changed, 345 insertions(+), 3 deletions(-) diff --git a/docs/dyn/datastore_v1.projects.html b/docs/dyn/datastore_v1.projects.html index 5927476408c..ac5c894e495 100644 --- a/docs/dyn/datastore_v1.projects.html +++ b/docs/dyn/datastore_v1.projects.html @@ -296,6 +296,11 @@

Method Details

}, }, }, + "propertyMask": { # The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity. # The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted. + "paths": [ # The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value. + "A String", + ], + }, "update": { # A Datastore data object. Must not exceed 1 MiB - 4 bytes. # The entity to update. The entity must already exist. Must have a complete key path. "key": { # A unique identifier for an entity. If a key's partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity's key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity's kind is its key path's last element's kind, or null if it has no key. "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `""`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition. @@ -585,6 +590,11 @@

Method Details

], }, ], + "propertyMask": { # The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity. # The properties to return. Defaults to returning all properties. If this field is set and an entity has a property not referenced in the mask, it will be absent from LookupResponse.found.entity.properties. The entity's key is always returned. + "paths": [ # The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value. + "A String", + ], + }, "readOptions": { # The options shared by read requests. # The options for this lookup request. "newTransaction": { # Options for beginning a new transaction. Transactions can be created explicitly with calls to Datastore.BeginTransaction or implicitly by setting ReadOptions.new_transaction in read requests. # Options for beginning a new transaction for this request. The new transaction identifier will be returned in the corresponding response as either LookupResponse.transaction or RunQueryResponse.transaction. "readOnly": { # Options specific to read-only transactions. # The transaction should only allow reads. @@ -930,6 +940,9 @@

Method Details

}, }, "databaseId": "A String", # The ID of the database against which to make the request. '(default)' is not allowed; please use empty string '' to refer the default database. + "explainOptions": { # Explain options for the query. # Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned. + "analyze": True or False, # Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics. + }, "gqlQuery": { # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). # The GQL query to run. This query must be an aggregation query. "allowLiterals": True or False, # When false, the query string must not contain any literals and instead must bind all values. For example, `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE a = @value` is. "namedBindings": { # For each non-reserved named binding site in the query string, there must be a named parameter with that name, but not necessarily the inverse. Key must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not be `""`. @@ -1088,6 +1101,23 @@

Method Details

"moreResults": "A String", # The state of the query after the current batch. Only COUNT(*) aggregations are supported in the initial launch. Therefore, expected result type is limited to `NO_MORE_RESULTS`. "readTime": "A String", # Read timestamp this batch was returned from. In a single transaction, subsequent query result batches for the same query can have a greater timestamp. Each batch's read timestamp is valid for all preceding batches. }, + "explainMetrics": { # Explain metrics for the query. # Query explain metrics. This is only present when the RunAggregationQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream. + "executionStats": { # Execution statistics for the query. # Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true. + "debugStats": { # Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { "indexes_entries_scanned": "1000", "documents_scanned": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } } + "a_key": "", # Properties of the object. + }, + "executionDuration": "A String", # Total time to execute the query in the backend. + "readOperations": "A String", # Total billable read operations. + "resultsReturned": "A String", # Total number of results returned, including documents, projections, aggregation results, keys. + }, + "planSummary": { # Planning phase information for the query. # Planning phase information for the query. + "indexesUsed": [ # The indexes selected for the query. For example: [ {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} ] + { + "a_key": "", # Properties of the object. + }, + ], + }, + }, "query": { # Datastore query for running an aggregation over a Query. # The parsed form of the `GqlQuery` from the request, if it was set. "aggregations": [ # Optional. Series of aggregations to apply over the results of the `nested_query`. Requires: * A minimum of one and maximum of five aggregations per query. { # Defines an aggregation that produces a single result. @@ -1203,6 +1233,9 @@

Method Details

{ # The request for Datastore.RunQuery. "databaseId": "A String", # The ID of the database against which to make the request. '(default)' is not allowed; please use empty string '' to refer the default database. + "explainOptions": { # Explain options for the query. # Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned. + "analyze": True or False, # Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics. + }, "gqlQuery": { # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). # The GQL query to run. This query must be a non-aggregation query. "allowLiterals": True or False, # When false, the query string must not contain any literals and instead must bind all values. For example, `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE a = @value` is. "namedBindings": { # For each non-reserved named binding site in the query string, there must be a named parameter with that name, but not necessarily the inverse. Key must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not be `""`. @@ -1292,6 +1325,11 @@

Method Details

"namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong. "projectId": "A String", # The ID of the project to which the entities belong. }, + "propertyMask": { # The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity. # The properties to return. This field must not be set for a projection query. See LookupRequest.property_mask. + "paths": [ # The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value. + "A String", + ], + }, "query": { # A query for entities. # The query to run. "distinctOn": [ # The properties to make distinct. The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned). Requires: * If `order` is specified, the set of distinct on properties must appear before the non-distinct on properties in `order`. { # A reference to a property relative to the kind expressions. @@ -1466,6 +1504,23 @@

Method Details

"skippedResults": 42, # The number of results skipped, typically because of an offset. "snapshotVersion": "A String", # The version number of the snapshot this batch was returned from. This applies to the range of results from the query's `start_cursor` (or the beginning of the query if no cursor was given) to this batch's `end_cursor` (not the query's `end_cursor`). In a single transaction, subsequent query result batches for the same query can have a greater snapshot version number. Each batch's snapshot version is valid for all preceding batches. The value will be zero for eventually consistent queries. }, + "explainMetrics": { # Explain metrics for the query. # Query explain metrics. This is only present when the RunQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream. + "executionStats": { # Execution statistics for the query. # Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true. + "debugStats": { # Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { "indexes_entries_scanned": "1000", "documents_scanned": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } } + "a_key": "", # Properties of the object. + }, + "executionDuration": "A String", # Total time to execute the query in the backend. + "readOperations": "A String", # Total billable read operations. + "resultsReturned": "A String", # Total number of results returned, including documents, projections, aggregation results, keys. + }, + "planSummary": { # Planning phase information for the query. # Planning phase information for the query. + "indexesUsed": [ # The indexes selected for the query. For example: [ {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} ] + { + "a_key": "", # Properties of the object. + }, + ], + }, + }, "query": { # A query for entities. # The parsed form of the `GqlQuery` from the request, if it was set. "distinctOn": [ # The properties to make distinct. The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned). Requires: * If `order` is specified, the set of distinct on properties must appear before the non-distinct on properties in `order`. { # A reference to a property relative to the kind expressions. diff --git a/docs/dyn/datastore_v1beta3.projects.html b/docs/dyn/datastore_v1beta3.projects.html index b5e36b989a0..00450ec0c8f 100644 --- a/docs/dyn/datastore_v1beta3.projects.html +++ b/docs/dyn/datastore_v1beta3.projects.html @@ -272,6 +272,11 @@

Method Details

}, }, }, + "propertyMask": { # The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity. # The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted. + "paths": [ # The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value. + "A String", + ], + }, "update": { # A Datastore data object. Must not exceed 1 MiB - 4 bytes. # The entity to update. The entity must already exist. Must have a complete key path. "key": { # A unique identifier for an entity. If a key's partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity's key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity's kind is its key path's last element's kind, or null if it has no key. "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `""`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition. @@ -440,6 +445,11 @@

Method Details

], }, ], + "propertyMask": { # The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity. # The properties to return. Defaults to returning all properties. If this field is set and an entity has a property not referenced in the mask, it will be absent from LookupResponse.found.entity.properties. The entity's key is always returned. + "paths": [ # The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value. + "A String", + ], + }, "readOptions": { # The options shared by read requests. # The options for this lookup request. "readConsistency": "A String", # The non-transactional read consistency to use. "readTime": "A String", # Reads entities as they were at the given time. This value is only supported for Cloud Firestore in Datastore mode. 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. @@ -767,6 +777,9 @@

Method Details

"startCursor": "A String", # A starting point for the query results. Query cursors are returned in query result batches and [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). }, }, + "explainOptions": { # Explain options for the query. # Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned. + "analyze": True or False, # Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics. + }, "gqlQuery": { # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). # The GQL query to run. This query must be an aggregation query. "allowLiterals": True or False, # When false, the query string must not contain any literals and instead must bind all values. For example, `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE a = @value` is. "namedBindings": { # For each non-reserved named binding site in the query string, there must be a named parameter with that name, but not necessarily the inverse. Key must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not be `""`. @@ -913,6 +926,23 @@

Method Details

"moreResults": "A String", # The state of the query after the current batch. Only COUNT(*) aggregations are supported in the initial launch. Therefore, expected result type is limited to `NO_MORE_RESULTS`. "readTime": "A String", # Read timestamp this batch was returned from. In a single transaction, subsequent query result batches for the same query can have a greater timestamp. Each batch's read timestamp is valid for all preceding batches. }, + "explainMetrics": { # Explain metrics for the query. # Query explain metrics. This is only present when the RunAggregationQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream. + "executionStats": { # Execution statistics for the query. # Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true. + "debugStats": { # Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { "indexes_entries_scanned": "1000", "documents_scanned": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } } + "a_key": "", # Properties of the object. + }, + "executionDuration": "A String", # Total time to execute the query in the backend. + "readOperations": "A String", # Total billable read operations. + "resultsReturned": "A String", # Total number of results returned, including documents, projections, aggregation results, keys. + }, + "planSummary": { # Planning phase information for the query. # Planning phase information for the query. + "indexesUsed": [ # The indexes selected for the query. For example: [ {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} ] + { + "a_key": "", # Properties of the object. + }, + ], + }, + }, "query": { # Datastore query for running an aggregation over a Query. # The parsed form of the `GqlQuery` from the request, if it was set. "aggregations": [ # Optional. Series of aggregations to apply over the results of the `nested_query`. Requires: * A minimum of one and maximum of five aggregations per query. { # Defines an aggregation that produces a single result. @@ -1025,6 +1055,9 @@

Method Details

The object takes the form of: { # The request for Datastore.RunQuery. + "explainOptions": { # Explain options for the query. # Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned. + "analyze": True or False, # Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics. + }, "gqlQuery": { # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). # The GQL query to run. This query must be a non-aggregation query. "allowLiterals": True or False, # When false, the query string must not contain any literals and instead must bind all values. For example, `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE a = @value` is. "namedBindings": { # For each non-reserved named binding site in the query string, there must be a named parameter with that name, but not necessarily the inverse. Key must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not be `""`. @@ -1111,6 +1144,11 @@

Method Details

"namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong. "projectId": "A String", # The ID of the project to which the entities belong. }, + "propertyMask": { # The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity. # The properties to return. This field must not be set for a projection query. See LookupRequest.property_mask. + "paths": [ # The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value. + "A String", + ], + }, "query": { # A query for entities. # The query to run. "distinctOn": [ # The properties to make distinct. The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned). Requires: * If `order` is specified, the set of distinct on properties must appear before the non-distinct on properties in `order`. { # A reference to a property relative to the kind expressions. @@ -1274,6 +1312,23 @@

Method Details

"skippedResults": 42, # The number of results skipped, typically because of an offset. "snapshotVersion": "A String", # The version number of the snapshot this batch was returned from. This applies to the range of results from the query's `start_cursor` (or the beginning of the query if no cursor was given) to this batch's `end_cursor` (not the query's `end_cursor`). In a single transaction, subsequent query result batches for the same query can have a greater snapshot version number. Each batch's snapshot version is valid for all preceding batches. The value will be zero for eventually consistent queries. }, + "explainMetrics": { # Explain metrics for the query. # Query explain metrics. This is only present when the RunQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream. + "executionStats": { # Execution statistics for the query. # Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true. + "debugStats": { # Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { "indexes_entries_scanned": "1000", "documents_scanned": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } } + "a_key": "", # Properties of the object. + }, + "executionDuration": "A String", # Total time to execute the query in the backend. + "readOperations": "A String", # Total billable read operations. + "resultsReturned": "A String", # Total number of results returned, including documents, projections, aggregation results, keys. + }, + "planSummary": { # Planning phase information for the query. # Planning phase information for the query. + "indexesUsed": [ # The indexes selected for the query. For example: [ {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} ] + { + "a_key": "", # Properties of the object. + }, + ], + }, + }, "query": { # A query for entities. # The parsed form of the `GqlQuery` from the request, if it was set. "distinctOn": [ # The properties to make distinct. The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned). Requires: * If `order` is specified, the set of distinct on properties must appear before the non-distinct on properties in `order`. { # A reference to a property relative to the kind expressions. diff --git a/googleapiclient/discovery_cache/documents/datastore.v1.json b/googleapiclient/discovery_cache/documents/datastore.v1.json index 8540c3911c0..dfd49e1f586 100644 --- a/googleapiclient/discovery_cache/documents/datastore.v1.json +++ b/googleapiclient/discovery_cache/documents/datastore.v1.json @@ -654,7 +654,7 @@ } } }, -"revision": "20240307", +"revision": "20240317", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -993,6 +993,62 @@ }, "type": "object" }, +"ExecutionStats": { +"description": "Execution statistics for the query.", +"id": "ExecutionStats", +"properties": { +"debugStats": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { \"indexes_entries_scanned\": \"1000\", \"documents_scanned\": \"20\", \"billing_details\" : { \"documents_billable\": \"20\", \"index_entries_billable\": \"1000\", \"min_query_cost\": \"0\" } }", +"type": "object" +}, +"executionDuration": { +"description": "Total time to execute the query in the backend.", +"format": "google-duration", +"type": "string" +}, +"readOperations": { +"description": "Total billable read operations.", +"format": "int64", +"type": "string" +}, +"resultsReturned": { +"description": "Total number of results returned, including documents, projections, aggregation results, keys.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ExplainMetrics": { +"description": "Explain metrics for the query.", +"id": "ExplainMetrics", +"properties": { +"executionStats": { +"$ref": "ExecutionStats", +"description": "Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true." +}, +"planSummary": { +"$ref": "PlanSummary", +"description": "Planning phase information for the query." +} +}, +"type": "object" +}, +"ExplainOptions": { +"description": "Explain options for the query.", +"id": "ExplainOptions", +"properties": { +"analyze": { +"description": "Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics.", +"type": "boolean" +} +}, +"type": "object" +}, "Filter": { "description": "A holder for any type of filter.", "id": "Filter", @@ -1823,6 +1879,10 @@ }, "type": "array" }, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to return. Defaults to returning all properties. If this field is set and an entity has a property not referenced in the mask, it will be absent from LookupResponse.found.entity.properties. The entity's key is always returned." +}, "readOptions": { "$ref": "ReadOptions", "description": "The options for this lookup request." @@ -1885,6 +1945,10 @@ "$ref": "Entity", "description": "The entity to insert. The entity must not already exist. The entity key's final path element may be incomplete." }, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted." +}, "update": { "$ref": "Entity", "description": "The entity to update. The entity must already exist. Must have a complete key path." @@ -1970,6 +2034,24 @@ }, "type": "object" }, +"PlanSummary": { +"description": "Planning phase information for the query.", +"id": "PlanSummary", +"properties": { +"indexesUsed": { +"description": "The indexes selected for the query. For example: [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ]", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, "Projection": { "description": "A representation of a property in a projection.", "id": "Projection", @@ -2024,6 +2106,20 @@ }, "type": "object" }, +"PropertyMask": { +"description": "The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity.", +"id": "PropertyMask", +"properties": { +"paths": { +"description": "The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "PropertyOrder": { "description": "The desired order for a specific property.", "id": "PropertyOrder", @@ -2309,6 +2405,10 @@ "description": "The ID of the database against which to make the request. '(default)' is not allowed; please use empty string '' to refer the default database.", "type": "string" }, +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, "gqlQuery": { "$ref": "GqlQuery", "description": "The GQL query to run. This query must be an aggregation query." @@ -2332,6 +2432,10 @@ "$ref": "AggregationResultBatch", "description": "A batch of aggregation results. Always present." }, +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunAggregationQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, "query": { "$ref": "AggregationQuery", "description": "The parsed form of the `GqlQuery` from the request, if it was set." @@ -2352,6 +2456,10 @@ "description": "The ID of the database against which to make the request. '(default)' is not allowed; please use empty string '' to refer the default database.", "type": "string" }, +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, "gqlQuery": { "$ref": "GqlQuery", "description": "The GQL query to run. This query must be a non-aggregation query." @@ -2360,6 +2468,10 @@ "$ref": "PartitionId", "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." }, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to return. This field must not be set for a projection query. See LookupRequest.property_mask." +}, "query": { "$ref": "Query", "description": "The query to run." @@ -2379,6 +2491,10 @@ "$ref": "QueryResultBatch", "description": "A batch of query results (always present)." }, +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, "query": { "$ref": "Query", "description": "The parsed form of the `GqlQuery` from the request, if it was set." diff --git a/googleapiclient/discovery_cache/documents/datastore.v1beta1.json b/googleapiclient/discovery_cache/documents/datastore.v1beta1.json index f4ab2cb828f..3c05e205a3e 100644 --- a/googleapiclient/discovery_cache/documents/datastore.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/datastore.v1beta1.json @@ -168,7 +168,7 @@ } } }, -"revision": "20240307", +"revision": "20240317", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "GoogleDatastoreAdminV1CommonMetadata": { diff --git a/googleapiclient/discovery_cache/documents/datastore.v1beta3.json b/googleapiclient/discovery_cache/documents/datastore.v1beta3.json index 4ca03816f7f..4e9d1882c27 100644 --- a/googleapiclient/discovery_cache/documents/datastore.v1beta3.json +++ b/googleapiclient/discovery_cache/documents/datastore.v1beta3.json @@ -336,7 +336,7 @@ } } }, -"revision": "20240307", +"revision": "20240317", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -653,6 +653,62 @@ }, "type": "object" }, +"ExecutionStats": { +"description": "Execution statistics for the query.", +"id": "ExecutionStats", +"properties": { +"debugStats": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Debugging statistics from the execution of the query. Note that the debugging stats are subject to change as Firestore evolves. It could include: { \"indexes_entries_scanned\": \"1000\", \"documents_scanned\": \"20\", \"billing_details\" : { \"documents_billable\": \"20\", \"index_entries_billable\": \"1000\", \"min_query_cost\": \"0\" } }", +"type": "object" +}, +"executionDuration": { +"description": "Total time to execute the query in the backend.", +"format": "google-duration", +"type": "string" +}, +"readOperations": { +"description": "Total billable read operations.", +"format": "int64", +"type": "string" +}, +"resultsReturned": { +"description": "Total number of results returned, including documents, projections, aggregation results, keys.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ExplainMetrics": { +"description": "Explain metrics for the query.", +"id": "ExplainMetrics", +"properties": { +"executionStats": { +"$ref": "ExecutionStats", +"description": "Aggregated stats from the execution of the query. Only present when ExplainOptions.analyze is set to true." +}, +"planSummary": { +"$ref": "PlanSummary", +"description": "Planning phase information for the query." +} +}, +"type": "object" +}, +"ExplainOptions": { +"description": "Explain options for the query.", +"id": "ExplainOptions", +"properties": { +"analyze": { +"description": "Optional. Whether to execute this query. When false (the default), the query will be planned, returning only metrics from the planning stages. When true, the query will be planned and executed, returning the full query results along with both planning and execution stage metrics.", +"type": "boolean" +} +}, +"type": "object" +}, "Filter": { "description": "A holder for any type of filter.", "id": "Filter", @@ -1278,6 +1334,10 @@ }, "type": "array" }, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to return. Defaults to returning all properties. If this field is set and an entity has a property not referenced in the mask, it will be absent from LookupResponse.found.entity.properties. The entity's key is always returned." +}, "readOptions": { "$ref": "ReadOptions", "description": "The options for this lookup request." @@ -1335,6 +1395,10 @@ "$ref": "Entity", "description": "The entity to insert. The entity must not already exist. The entity key's final path element may be incomplete." }, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted." +}, "update": { "$ref": "Entity", "description": "The entity to update. The entity must already exist. Must have a complete key path." @@ -1416,6 +1480,24 @@ }, "type": "object" }, +"PlanSummary": { +"description": "Planning phase information for the query.", +"id": "PlanSummary", +"properties": { +"indexesUsed": { +"description": "The indexes selected for the query. For example: [ {\"query_scope\": \"Collection\", \"properties\": \"(foo ASC, __name__ ASC)\"}, {\"query_scope\": \"Collection\", \"properties\": \"(bar ASC, __name__ ASC)\"} ]", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, "Projection": { "description": "A representation of a property in a projection.", "id": "Projection", @@ -1470,6 +1552,20 @@ }, "type": "object" }, +"PropertyMask": { +"description": "The set of arbitrarily nested property paths used to restrict an operation to only a subset of properties in an entity.", +"id": "PropertyMask", +"properties": { +"paths": { +"description": "The paths to the properties covered by this mask. A path is a list of property names separated by dots (`.`), for example `foo.bar` means the property `bar` inside the entity property `foo` inside the entity associated with this path. If a property name contains a dot `.` or a backslash `\\`, then that name must be escaped. A path must not be empty, and may not reference a value inside an array value.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "PropertyOrder": { "description": "The desired order for a specific property.", "id": "PropertyOrder", @@ -1743,6 +1839,10 @@ "$ref": "AggregationQuery", "description": "The query to run." }, +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, "gqlQuery": { "$ref": "GqlQuery", "description": "The GQL query to run. This query must be an aggregation query." @@ -1766,6 +1866,10 @@ "$ref": "AggregationResultBatch", "description": "A batch of aggregation results. Always present." }, +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunAggregationQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, "query": { "$ref": "AggregationQuery", "description": "The parsed form of the `GqlQuery` from the request, if it was set." @@ -1777,6 +1881,10 @@ "description": "The request for Datastore.RunQuery.", "id": "RunQueryRequest", "properties": { +"explainOptions": { +"$ref": "ExplainOptions", +"description": "Optional. Explain options for the query. If set, additional query statistics will be returned. If not, only query results will be returned." +}, "gqlQuery": { "$ref": "GqlQuery", "description": "The GQL query to run. This query must be a non-aggregation query." @@ -1785,6 +1893,10 @@ "$ref": "PartitionId", "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID." }, +"propertyMask": { +"$ref": "PropertyMask", +"description": "The properties to return. This field must not be set for a projection query. See LookupRequest.property_mask." +}, "query": { "$ref": "Query", "description": "The query to run." @@ -1804,6 +1916,10 @@ "$ref": "QueryResultBatch", "description": "A batch of query results (always present)." }, +"explainMetrics": { +"$ref": "ExplainMetrics", +"description": "Query explain metrics. This is only present when the RunQueryRequest.explain_options is provided, and it is sent only once with the last response in the stream." +}, "query": { "$ref": "Query", "description": "The parsed form of the `GqlQuery` from the request, if it was set."