diff --git a/go.mod b/go.mod index 7f1f2e28..9f3265f7 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/KohlsTechnology/prometheus_bigquery_remote_storage_adapter go 1.24 require ( - cloud.google.com/go/bigquery v1.67.0 + cloud.google.com/go/bigquery v1.68.0 github.com/gogo/protobuf v1.3.2 github.com/golang/snappy v1.0.0 github.com/pkg/errors v0.9.1 @@ -16,11 +16,11 @@ require ( ) require ( - cloud.google.com/go v0.118.3 // indirect + cloud.google.com/go v0.121.0 // indirect cloud.google.com/go/auth v0.16.1 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect cloud.google.com/go/compute/metadata v0.6.0 // indirect - cloud.google.com/go/iam v1.4.1 // indirect + cloud.google.com/go/iam v1.5.2 // indirect github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/apache/arrow/go/v15 v15.0.2 // indirect @@ -57,15 +57,15 @@ require ( golang.org/x/mod v0.23.0 // indirect golang.org/x/net v0.39.0 // indirect golang.org/x/oauth2 v0.29.0 // indirect - golang.org/x/sync v0.13.0 // indirect + golang.org/x/sync v0.14.0 // indirect golang.org/x/sys v0.32.0 // indirect golang.org/x/text v0.24.0 // indirect golang.org/x/time v0.11.0 // indirect golang.org/x/tools v0.30.0 // indirect golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250425173222-7b384671a197 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250428153025-10db94c68c34 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34 // indirect google.golang.org/grpc v1.72.0 // indirect google.golang.org/protobuf v1.36.6 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 9f06602b..1ee79953 100644 --- a/go.sum +++ b/go.sum @@ -2,33 +2,33 @@ cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.118.3 h1:jsypSnrE/w4mJysioGdMBg4MiW/hHx/sArFpaBWHdME= -cloud.google.com/go v0.118.3/go.mod h1:Lhs3YLnBlwJ4KA6nuObNMZ/fCbOQBPuWKPoE0Wa/9Vc= +cloud.google.com/go v0.121.0 h1:pgfwva8nGw7vivjZiRfrmglGWiCJBP+0OmDpenG/Fwg= +cloud.google.com/go v0.121.0/go.mod h1:rS7Kytwheu/y9buoDmu5EIpMMCI4Mb8ND4aeN4Vwj7Q= cloud.google.com/go/auth v0.16.1 h1:XrXauHMd30LhQYVRHLGvJiYeczweKQXZxsTbV9TiguU= cloud.google.com/go/auth v0.16.1/go.mod h1:1howDHJ5IETh/LwYs3ZxvlkXF48aSqqJUM+5o02dNOI= cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= -cloud.google.com/go/bigquery v1.67.0 h1:GXleMyn/cu5+DPLy9Rz5f5IULWTLrepwbQnP/5qrVbY= -cloud.google.com/go/bigquery v1.67.0/go.mod h1:HQeP1AHFuAz0Y55heDSb0cjZIhnEkuwFRBGo6EEKHug= +cloud.google.com/go/bigquery v1.68.0 h1:F+CPqdcMxZGUDBACzGtOJ1E6E0MWSYcKeFthxnhpYIU= +cloud.google.com/go/bigquery v1.68.0/go.mod h1:1UAksG8IFXJomQV38xUsRB+2m2c1H9U0etvoGHgyhDk= cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= -cloud.google.com/go/datacatalog v1.24.3 h1:3bAfstDB6rlHyK0TvqxEwaeOvoN9UgCs2bn03+VXmss= -cloud.google.com/go/datacatalog v1.24.3/go.mod h1:Z4g33XblDxWGHngDzcpfeOU0b1ERlDPTuQoYG6NkF1s= -cloud.google.com/go/iam v1.4.1 h1:cFC25Nv+u5BkTR/BT1tXdoF2daiVbZ1RLx2eqfQ9RMM= -cloud.google.com/go/iam v1.4.1/go.mod h1:2vUEJpUG3Q9p2UdsyksaKpDzlwOrnMzS30isdReIcLM= -cloud.google.com/go/longrunning v0.6.5 h1:sD+t8DO8j4HKW4QfouCklg7ZC1qC4uzVZt8iz3uTW+Q= -cloud.google.com/go/longrunning v0.6.5/go.mod h1:Et04XK+0TTLKa5IPYryKf5DkpwImy6TluQ1QTLwlKmY= +cloud.google.com/go/datacatalog v1.26.0 h1:eFgygb3DTufTWWUB8ARk+dSuXz+aefNJXTlkWlQcWwE= +cloud.google.com/go/datacatalog v1.26.0/go.mod h1:bLN2HLBAwB3kLTFT5ZKLHVPj/weNz6bR0c7nYp0LE14= +cloud.google.com/go/iam v1.5.2 h1:qgFRAGEmd8z6dJ/qyEchAuL9jpswyODjA2lS+w234g8= +cloud.google.com/go/iam v1.5.2/go.mod h1:SE1vg0N81zQqLzQEwxL2WI6yhetBdbNQuTvIKCSkUHE= +cloud.google.com/go/longrunning v0.6.7 h1:IGtfDWHhQCgCjwQjV9iiLnUta9LBCo8R9QmAFsS/PrE= +cloud.google.com/go/longrunning v0.6.7/go.mod h1:EAFV3IZAKmM56TyiE6VAP3VoTzhZzySwI/YI1s/nRsY= cloud.google.com/go/monitoring v1.24.0 h1:csSKiCJ+WVRgNkRzzz3BPoGjFhjPY23ZTcaenToJxMM= cloud.google.com/go/monitoring v1.24.0/go.mod h1:Bd1PRK5bmQBQNnuGwHBfUamAV1ys9049oEPHnn4pcsc= -cloud.google.com/go/storage v1.50.0 h1:3TbVkzTooBvnZsk7WaAQfOsNrdoM8QHusXA1cpk6QJs= -cloud.google.com/go/storage v1.50.0/go.mod h1:l7XeiD//vx5lfqE3RavfmU9yvk5Pp0Zhcv482poyafY= +cloud.google.com/go/storage v1.53.0 h1:gg0ERZwL17pJ+Cz3cD2qS60w1WMDnwcm5YPAIQBHUAw= +cloud.google.com/go/storage v1.53.0/go.mod h1:7/eO2a/srr9ImZW9k5uufcNahT2+fPb8w5it1i5boaA= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.50.0 h1:5IT7xOdq17MtcdtL/vtl6mGfzhaq4m4vpollPRmlsBQ= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.50.0/go.mod h1:ZV4VOm0/eHR06JLrXWe09068dHpr3TRpY9Uo7T+anuA= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0 h1:ig/FpDD2JofP/NExKQUbn7uOSZzJAQqogfqluZK4ed4= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.50.0/go.mod h1:otE2jQekW/PqXk1Awf5lmfokJx4uwuqcj1ab5SpGeW0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 h1:ErKg/3iS1AKcTkf3yixlZ54f9U1rljCkQyEXWUnIUxc= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0/go.mod h1:yAZHSGnqScoU556rBOVkwLze6WP5N+U11RHuWaGVxwY= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0 h1:fYE9p3esPxA/C0rQ0AHhP0drtPXDRhaWiwg1DPqO7IU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0/go.mod h1:BnBReJLvVYx2CS/UHOgVz2BXKXD9wsQPxZug20nZhd0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0 h1:6/0iUd0xrnX7qt+mLNRwg5c0PGv8wpE8K90ryANQwMI= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0/go.mod h1:otE2jQekW/PqXk1Awf5lmfokJx4uwuqcj1ab5SpGeW0= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= @@ -151,8 +151,8 @@ github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/contrib/detectors/gcp v1.34.0 h1:JRxssobiPg23otYU5SbWtQC//snGVIM3Tx6QRzlQBao= -go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= +go.opentelemetry.io/contrib/detectors/gcp v1.35.0 h1:bGvFt68+KTiAKFlacHW6AhA56GF2rS0bdD3aJYEnmzA= +go.opentelemetry.io/contrib/detectors/gcp v1.35.0/go.mod h1:qGWP8/+ILwMRIUf9uIVLloR1uo5ZYAslM4O6OqUi1DA= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= @@ -204,8 +204,8 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -247,10 +247,10 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE= google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250425173222-7b384671a197 h1:29cjnHVylHwTzH66WfFZqgSQgnxzvWE+jvBwpZCLRxY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250425173222-7b384671a197/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/api v0.0.0-20250428153025-10db94c68c34 h1:0PeQib/pH3nB/5pEmFeVQJotzGohV0dq4Vcp09H5yhE= +google.golang.org/genproto/googleapis/api v0.0.0-20250428153025-10db94c68c34/go.mod h1:0awUlEkap+Pb1UMeJwJQQAdJQrt3moU7J2moTy69irI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34 h1:h6p3mQqrmT1XkHVTfzLdNz1u7IhINeZkz67/xTbOuWs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= diff --git a/vendor/cloud.google.com/go/bigquery/CHANGES.md b/vendor/cloud.google.com/go/bigquery/CHANGES.md index 395016ee..4bfc89cb 100644 --- a/vendor/cloud.google.com/go/bigquery/CHANGES.md +++ b/vendor/cloud.google.com/go/bigquery/CHANGES.md @@ -3,6 +3,33 @@ +## [1.68.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.67.0...bigquery/v1.68.0) (2025-05-12) + + +### Features + +* **bigquery/analyticshub:** Support new feature Sharing Cloud Pubsub Streams via AH (GA) and Subscriber Email logging feature ([#11908](https://github.com/googleapis/google-cloud-go/issues/11908)) ([a21d596](https://github.com/googleapis/google-cloud-go/commit/a21d5965fa3f4322da9563425350ba1079279d5a)) +* **bigquery/storage:** Increased the number of partitions can be written in a single request ([43bc515](https://github.com/googleapis/google-cloud-go/commit/43bc51591e4ffe7efc76449bb00e3747cda2c944)) +* **bigquery:** Add performance insights ([#12101](https://github.com/googleapis/google-cloud-go/issues/12101)) ([aef68ab](https://github.com/googleapis/google-cloud-go/commit/aef68abaa336e0ecd1f488ef6cb3d6b0e8930835)) +* **bigquery:** Add some missing fields to BQ stats ([#12212](https://github.com/googleapis/google-cloud-go/issues/12212)) ([77b08e8](https://github.com/googleapis/google-cloud-go/commit/77b08e8e72ece0d56ff8f86dcbfe44b944ab083f)) +* **bigquery:** Add WriteTruncateData write disposition ([#12013](https://github.com/googleapis/google-cloud-go/issues/12013)) ([b1126a3](https://github.com/googleapis/google-cloud-go/commit/b1126a3580a0c81c1d7df7cf138d17c748adefbc)) +* **bigquery:** New client(s) ([#12228](https://github.com/googleapis/google-cloud-go/issues/12228)) ([f229bd9](https://github.com/googleapis/google-cloud-go/commit/f229bd9b90830d96781d3f9059b64dbfece1690b)) +* **bigquery:** Support managed iceberg tables ([#11931](https://github.com/googleapis/google-cloud-go/issues/11931)) ([35e0774](https://github.com/googleapis/google-cloud-go/commit/35e0774bf17166dbaa88eba286f40ad91d9aa68a)) +* **bigquery:** Support per-job reservation assignment ([#12078](https://github.com/googleapis/google-cloud-go/issues/12078)) ([c9cebcc](https://github.com/googleapis/google-cloud-go/commit/c9cebcceebc5fb5eecacf99e18652e0c2a53cc6c)) + + +### Bug Fixes + +* **bigquery:** Cache total rows count ([#12230](https://github.com/googleapis/google-cloud-go/issues/12230)) ([202dce0](https://github.com/googleapis/google-cloud-go/commit/202dce02888c5d1d2821732145d5780e5c07ba05)), refs [#11874](https://github.com/googleapis/google-cloud-go/issues/11874) [#11873](https://github.com/googleapis/google-cloud-go/issues/11873) +* **bigquery:** Parse timestamps with timezone info ([#11950](https://github.com/googleapis/google-cloud-go/issues/11950)) ([530d522](https://github.com/googleapis/google-cloud-go/commit/530d522a1f8622e51310680cce31ff1dae007f81)) +* **bigquery:** Update google.golang.org/api to 0.229.0 ([3319672](https://github.com/googleapis/google-cloud-go/commit/3319672f3dba84a7150772ccb5433e02dab7e201)) +* **bigquery:** Upgrade gRPC service registration func ([7c01015](https://github.com/googleapis/google-cloud-go/commit/7c01015f2aafb5eeb0237accced76b059bc7635d)) + + +### Documentation + +* **bigquery/storage:** Updated the number of partitions (from 100 to 900) can be inserted, updated and deleted in a single request ([43bc515](https://github.com/googleapis/google-cloud-go/commit/43bc51591e4ffe7efc76449bb00e3747cda2c944)) + ## [1.67.0](https://github.com/googleapis/google-cloud-go/compare/bigquery/v1.66.2...bigquery/v1.67.0) (2025-03-14) diff --git a/vendor/cloud.google.com/go/bigquery/copy.go b/vendor/cloud.google.com/go/bigquery/copy.go index a8226e97..c8e7e123 100644 --- a/vendor/cloud.google.com/go/bigquery/copy.go +++ b/vendor/cloud.google.com/go/bigquery/copy.go @@ -73,6 +73,13 @@ type CopyConfig struct { // Experimental: this option is experimental and may be modified or removed in future versions, // regardless of any other documented package stability guarantees. JobTimeout time.Duration + + // The reservation that job would use. User can specify a reservation to + // execute the job. If reservation is not set, reservation is determined + // based on the rules defined by the reservation assignments. The expected + // format is + // `projects/{project}/locations/{location}/reservations/{reservation}`. + Reservation string } func (c *CopyConfig) toBQ() *bq.JobConfiguration { @@ -91,6 +98,7 @@ func (c *CopyConfig) toBQ() *bq.JobConfiguration { OperationType: string(c.OperationType), }, JobTimeoutMs: c.JobTimeout.Milliseconds(), + Reservation: c.Reservation, } } @@ -103,6 +111,7 @@ func bqToCopyConfig(q *bq.JobConfiguration, c *Client) *CopyConfig { DestinationEncryptionConfig: bqToEncryptionConfig(q.Copy.DestinationEncryptionConfiguration), OperationType: TableCopyOperationType(q.Copy.OperationType), JobTimeout: time.Duration(q.JobTimeoutMs) * time.Millisecond, + Reservation: q.Reservation, } for _, t := range q.Copy.SourceTables { cc.Srcs = append(cc.Srcs, bqToTable(t, c)) diff --git a/vendor/cloud.google.com/go/bigquery/extract.go b/vendor/cloud.google.com/go/bigquery/extract.go index ee4cbc49..1687f7b0 100644 --- a/vendor/cloud.google.com/go/bigquery/extract.go +++ b/vendor/cloud.google.com/go/bigquery/extract.go @@ -57,6 +57,13 @@ type ExtractConfig struct { // Experimental: this option is experimental and may be modified or removed in future versions, // regardless of any other documented package stability guarantees. JobTimeout time.Duration + + // The reservation that job would use. User can specify a reservation to + // execute the job. If reservation is not set, reservation is determined + // based on the rules defined by the reservation assignments. The expected + // format is + // `projects/{project}/locations/{location}/reservations/{reservation}`. + Reservation string } func (e *ExtractConfig) toBQ() *bq.JobConfiguration { @@ -77,6 +84,7 @@ func (e *ExtractConfig) toBQ() *bq.JobConfiguration { UseAvroLogicalTypes: e.UseAvroLogicalTypes, }, JobTimeoutMs: e.JobTimeout.Milliseconds(), + Reservation: e.Reservation, } if e.Src != nil { cfg.Extract.SourceTable = e.Src.toBQ() @@ -106,6 +114,7 @@ func bqToExtractConfig(q *bq.JobConfiguration, c *Client) *ExtractConfig { SrcModel: bqToModel(qe.SourceModel, c), UseAvroLogicalTypes: qe.UseAvroLogicalTypes, JobTimeout: time.Duration(q.JobTimeoutMs) * time.Millisecond, + Reservation: q.Reservation, } } diff --git a/vendor/cloud.google.com/go/bigquery/internal/version.go b/vendor/cloud.google.com/go/bigquery/internal/version.go index 72f19e84..aa8d8ca7 100644 --- a/vendor/cloud.google.com/go/bigquery/internal/version.go +++ b/vendor/cloud.google.com/go/bigquery/internal/version.go @@ -16,4 +16,4 @@ package internal // Version is the current tagged release of the library. -const Version = "1.67.0" +const Version = "1.68.0" diff --git a/vendor/cloud.google.com/go/bigquery/iterator.go b/vendor/cloud.google.com/go/bigquery/iterator.go index 4a2fae60..0b496744 100644 --- a/vendor/cloud.google.com/go/bigquery/iterator.go +++ b/vendor/cloud.google.com/go/bigquery/iterator.go @@ -229,6 +229,7 @@ type rowSource struct { cachedRows []*bq.TableRow cachedSchema *bq.TableSchema cachedNextToken string + cachedTotalRows uint64 } // fetchPageResult represents a page of rows returned from the backend. @@ -382,6 +383,7 @@ func fetchCachedPage(src *rowSource, schema Schema, startIndex uint64, pageSize // We can't progress with no schema, destroy references and return a miss. src.cachedRows = nil src.cachedNextToken = "" + src.cachedTotalRows = 0 return nil, errNoCacheData } schema = bqToSchema(src.cachedSchema) @@ -400,23 +402,26 @@ func fetchCachedPage(src *rowSource, schema Schema, startIndex uint64, pageSize src.cachedRows = nil src.cachedSchema = nil src.cachedNextToken = "" + src.cachedTotalRows = 0 return nil, err } result := &fetchPageResult{ pageToken: src.cachedNextToken, rows: converted, schema: schema, - totalRows: uint64(len(converted)), + totalRows: src.cachedTotalRows, } // clear cache references and return response. src.cachedRows = nil src.cachedSchema = nil src.cachedNextToken = "" + src.cachedTotalRows = 0 return result, nil } // All other cases are invalid. Destroy any cache references on the way out the door. src.cachedRows = nil src.cachedSchema = nil src.cachedNextToken = "" + src.cachedTotalRows = 0 return nil, errNoCacheData } diff --git a/vendor/cloud.google.com/go/bigquery/job.go b/vendor/cloud.google.com/go/bigquery/job.go index ba69e647..4bdd2b04 100644 --- a/vendor/cloud.google.com/go/bigquery/job.go +++ b/vendor/cloud.google.com/go/bigquery/job.go @@ -381,13 +381,36 @@ func (j *Job) waitForQuery(ctx context.Context, projectID string) (Schema, uint6 // JobStatistics contains statistics about a job. type JobStatistics struct { - CreationTime time.Time - StartTime time.Time - EndTime time.Time + // CreationTime is the creation time of this job. + // This field will be present on all jobs. + CreationTime time.Time + + // StartTime is the start time of this job. + // This field will be present when the job transitions from the PENDING state to either RUNNING or DONE. + StartTime time.Time + + // EndTime is the end time of this job. + // This field will be present whenever a job is in the DONE state. + EndTime time.Time + + // TotalBytesProcessed is the total bytes processed for the job. TotalBytesProcessed int64 + // Details is the jobType-specific statistics for the job Details Statistics + // TotalSlotDuration is the slot duration for the job. + TotalSlotDuration time.Duration + + // ReservationUsage attributes slot consumption to reservations. + // This field reported misleading information and will no longer be populated. + ReservationUsage []*ReservationUsage + + // ReservationID is the name of the primary reservation assigned to this job. + // Note that this could be different than reservations reported in the reservation + // usage field if parent reservations were used to execute this job. + ReservationID string + // NumChildJobs indicates the number of child jobs run as part of a script. NumChildJobs int64 @@ -398,14 +421,19 @@ type JobStatistics struct { // a script. ScriptStatistics *ScriptStatistics - // ReservationUsage attributes slot consumption to reservations. - ReservationUsage []*ReservationUsage - // TransactionInfo indicates the transaction ID associated with the job, if any. TransactionInfo *TransactionInfo // SessionInfo contains information about the session if this job is part of one. SessionInfo *SessionInfo + + // FinalExecutionDuration is the duration of the execution of the final + // attempt of this job, as BigQuery may internally re-attempt to execute the job. + FinalExecutionDuration time.Duration + + // Edition is the name of edition corresponding to the reservation for this job + // at the time of this update. + Edition ReservationEdition } // Statistics is one of ExtractStatistics, LoadStatistics or QueryStatistics. @@ -509,6 +537,9 @@ type QueryStatistics struct { // Statistics for the EXPORT DATA statement as part of Query Job. ExportDataStatistics *ExportDataStatistics + + // Performance insights. + PerformanceInsights *PerformanceInsights } // ExportDataStatistics represents statistics for @@ -697,6 +728,23 @@ type QueryTimelineSample struct { SlotMillis int64 } +// ReservationEdition is used to specify the name of edition corresponding to the reservation. +type ReservationEdition string + +var ( + // ReservationEditionUnspecified is the default value, which will be treated as ReservationEditionEnterprise + ReservationEditionUnspecified ReservationEdition = "RESERVATION_EDITION_UNSPECIFIED" + + // ReservationEditionStandard represents the Standard edition. + ReservationEditionStandard ReservationEdition = "STANDARD" + + // ReservationEditionEnterprise represents the Enterprise edition. + ReservationEditionEnterprise ReservationEdition = "ENTERPRISE" + + // ReservationEditionEnterprisePlus represents the Enterprise Plus edition. + ReservationEditionEnterprisePlus ReservationEdition = "ENTERPRISE_PLUS" +) + // ReservationUsage contains information about a job's usage of a single reservation. type ReservationUsage struct { // SlotMillis reports the slot milliseconds utilized within in the given reservation. @@ -797,6 +845,194 @@ func bqToDMLStatistics(q *bq.DmlStatistics) *DMLStatistics { } } +// PerformanceInsights contains performance insights for the job. +type PerformanceInsights struct { + // Average execution of previous runs. + AvgPreviousExecution time.Duration + + // Standalone query stage performance insights, for exploring potential improvements. + StagePerformanceStandaloneInsights []*StagePerformanceStandaloneInsight + + // jobs.query stage performance insights compared to previous runs, for diagnosing performance regression. + StagePerformanceChangeInsights []*StagePerformanceChangeInsight +} + +func bqToPerformanceInsights(in *bq.PerformanceInsights) *PerformanceInsights { + if in == nil { + return nil + } + + var standaloneInsights []*StagePerformanceStandaloneInsight + if sis := in.StagePerformanceStandaloneInsights; len(sis) > 0 { + standaloneInsights = make([]*StagePerformanceStandaloneInsight, 0, len(sis)) + for _, si := range sis { + standaloneInsights = append(standaloneInsights, bqToStagePerformanceStandaloneInsight(si)) + } + } + + var changeInsights []*StagePerformanceChangeInsight + if cis := in.StagePerformanceChangeInsights; len(cis) > 0 { + changeInsights = make([]*StagePerformanceChangeInsight, 0, len(cis)) + for _, ci := range cis { + changeInsights = append(changeInsights, bqToStagePerformanceChangeInsight(ci)) + } + } + + return &PerformanceInsights{ + AvgPreviousExecution: time.Duration(in.AvgPreviousExecutionMs) * time.Millisecond, + StagePerformanceStandaloneInsights: standaloneInsights, + StagePerformanceChangeInsights: changeInsights, + } +} + +// StagePerformanceStandaloneInsight describes standalone performance insights for a specific stage. +type StagePerformanceStandaloneInsight struct { + // The stage id that the insight mapped to. + StageID int64 + + // If present, the stage had the following reasons for being disqualified from BI Engine execution. + BIEngineReasons []*BIEngineReason + + // High cardinality joins in the stage. + HighCardinalityJoins []*HighCardinalityJoin + + // True if the stage has a slot contention issue. + SlotContention bool + + // True if the stage has insufficient shuffle quota. + InsufficientShuffleQuota bool + + // Partition skew in the stage. + PartitionSkew *PartitionSkew +} + +func bqToStagePerformanceStandaloneInsight(in *bq.StagePerformanceStandaloneInsight) *StagePerformanceStandaloneInsight { + if in == nil { + return nil + } + + var biEngineReasons []*BIEngineReason + if bers := in.BiEngineReasons; len(bers) > 0 { + biEngineReasons = make([]*BIEngineReason, 0, len(bers)) + for _, r := range bers { + biEngineReasons = append(biEngineReasons, bqToBIEngineReason(r)) + } + } + + var highCardinalityJoins []*HighCardinalityJoin + if hcjs := in.HighCardinalityJoins; len(hcjs) > 0 { + highCardinalityJoins = make([]*HighCardinalityJoin, 0, len(hcjs)) + for _, hcj := range hcjs { + highCardinalityJoins = append(highCardinalityJoins, bqToHighCardinalityJoin(hcj)) + } + } + + return &StagePerformanceStandaloneInsight{ + StageID: in.StageId, + BIEngineReasons: biEngineReasons, + HighCardinalityJoins: highCardinalityJoins, + SlotContention: in.SlotContention, + InsufficientShuffleQuota: in.InsufficientShuffleQuota, + PartitionSkew: bqToPartitionSkew(in.PartitionSkew), + } +} + +// StagePerformanceChangeInsight contains performance insights compared to the previous executions for a specific stage. +type StagePerformanceChangeInsight struct { + // The stage id that the insight mapped to. + StageID int64 + + InputDataChange *InputDataChange +} + +func bqToStagePerformanceChangeInsight(in *bq.StagePerformanceChangeInsight) *StagePerformanceChangeInsight { + if in == nil { + return nil + } + + return &StagePerformanceChangeInsight{ + StageID: in.StageId, + InputDataChange: bqToInputDataChange(in.InputDataChange), + } +} + +// HighCardinalityJoin contains high cardinality join detailed information. +type HighCardinalityJoin struct { + // Count of left input rows. + LeftRows int64 + + // Count of right input rows. + RightRows int64 + + // Count of the output rows. + OutputRows int64 + + // The index of the join operator in the ExplainQueryStep lists. + StepIndex int64 +} + +func bqToHighCardinalityJoin(in *bq.HighCardinalityJoin) *HighCardinalityJoin { + if in == nil { + return nil + } + + return &HighCardinalityJoin{ + LeftRows: in.LeftRows, + RightRows: in.RightRows, + OutputRows: in.OutputRows, + StepIndex: in.StepIndex, + } +} + +// PartitionSkew contains partition skew detailed information. +type PartitionSkew struct { + // Source stages which produce skewed data. + SkewSources []*SkewSource +} + +func bqToPartitionSkew(in *bq.PartitionSkew) *PartitionSkew { + if in == nil { + return nil + } + + var skewSources []*SkewSource + if sss := in.SkewSources; len(sss) > 0 { + skewSources = make([]*SkewSource, 0, len(sss)) + for _, s := range sss { + skewSources = append(skewSources, bqToSkewSource(s)) + } + } + return &PartitionSkew{SkewSources: skewSources} +} + +// SkewSource contains details about source stages which produce skewed data. +type SkewSource struct { + // Stage id of the skew source stage. + StageID int64 +} + +func bqToSkewSource(in *bq.SkewSource) *SkewSource { + if in == nil { + return nil + } + + return &SkewSource{StageID: in.StageId} +} + +// InputDataChange contains details about the input data change insight. +type InputDataChange struct { + // Records read difference percentage compared to a previous run. + RecordsReadDiffPercentage float64 +} + +func bqToInputDataChange(in *bq.InputDataChange) *InputDataChange { + if in == nil { + return nil + } + + return &InputDataChange{RecordsReadDiffPercentage: in.RecordsReadDiffPercentage} +} + func (*ExtractStatistics) implementsStatistics() {} func (*LoadStatistics) implementsStatistics() {} func (*QueryStatistics) implementsStatistics() {} @@ -1014,16 +1250,20 @@ func (j *Job) setStatistics(s *bq.JobStatistics, c *Client) { return } js := &JobStatistics{ - CreationTime: unixMillisToTime(s.CreationTime), - StartTime: unixMillisToTime(s.StartTime), - EndTime: unixMillisToTime(s.EndTime), - TotalBytesProcessed: s.TotalBytesProcessed, - NumChildJobs: s.NumChildJobs, - ParentJobID: s.ParentJobId, - ScriptStatistics: bqToScriptStatistics(s.ScriptStatistics), - ReservationUsage: bqToReservationUsage(s.ReservationUsage), - TransactionInfo: bqToTransactionInfo(s.TransactionInfo), - SessionInfo: bqToSessionInfo(s.SessionInfo), + CreationTime: unixMillisToTime(s.CreationTime), + StartTime: unixMillisToTime(s.StartTime), + EndTime: unixMillisToTime(s.EndTime), + TotalBytesProcessed: s.TotalBytesProcessed, + TotalSlotDuration: time.Duration(s.TotalSlotMs) * time.Millisecond, + ReservationUsage: bqToReservationUsage(s.ReservationUsage), + ReservationID: s.ReservationId, + NumChildJobs: s.NumChildJobs, + ParentJobID: s.ParentJobId, + ScriptStatistics: bqToScriptStatistics(s.ScriptStatistics), + TransactionInfo: bqToTransactionInfo(s.TransactionInfo), + SessionInfo: bqToSessionInfo(s.SessionInfo), + FinalExecutionDuration: time.Duration(s.FinalExecutionDurationMs) * time.Millisecond, + Edition: ReservationEdition(s.Edition), } switch { case s.Extract != nil: @@ -1066,6 +1306,7 @@ func (j *Job) setStatistics(s *bq.JobStatistics, c *Client) { Timeline: timelineFromProto(s.Query.Timeline), ReferencedTables: tables, UndeclaredQueryParameterNames: names, + PerformanceInsights: bqToPerformanceInsights(s.Query.PerformanceInsights), } } j.lastStatus.Statistics = js diff --git a/vendor/cloud.google.com/go/bigquery/load.go b/vendor/cloud.google.com/go/bigquery/load.go index d5c53002..b0dced03 100644 --- a/vendor/cloud.google.com/go/bigquery/load.go +++ b/vendor/cloud.google.com/go/bigquery/load.go @@ -110,6 +110,13 @@ type LoadConfig struct { // For more information, see: // https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#columnnamecharactermap ColumnNameCharacterMap ColumnNameCharacterMap + + // The reservation that job would use. User can specify a reservation to + // execute the job. If reservation is not set, reservation is determined + // based on the rules defined by the reservation assignments. The expected + // format is + // `projects/{project}/locations/{location}/reservations/{reservation}`. + Reservation string } func (l *LoadConfig) toBQ() (*bq.JobConfiguration, io.Reader) { @@ -140,6 +147,7 @@ func (l *LoadConfig) toBQ() (*bq.JobConfiguration, io.Reader) { config.Load.ConnectionProperties = append(config.Load.ConnectionProperties, v.toBQ()) } media := l.Src.populateLoadConfig(config.Load) + config.Reservation = l.Reservation return config, media } @@ -160,6 +168,7 @@ func bqToLoadConfig(q *bq.JobConfiguration, c *Client) *LoadConfig { ReferenceFileSchemaURI: q.Load.ReferenceFileSchemaUri, CreateSession: q.Load.CreateSession, ColumnNameCharacterMap: ColumnNameCharacterMap(q.Load.ColumnNameCharacterMap), + Reservation: q.Reservation, } if q.JobTimeoutMs > 0 { lc.JobTimeout = time.Duration(q.JobTimeoutMs) * time.Millisecond diff --git a/vendor/cloud.google.com/go/bigquery/params.go b/vendor/cloud.google.com/go/bigquery/params.go index e256a7c3..7738ad5d 100644 --- a/vendor/cloud.google.com/go/bigquery/params.go +++ b/vendor/cloud.google.com/go/bigquery/params.go @@ -29,10 +29,11 @@ import ( bq "google.golang.org/api/bigquery/v2" ) -// See https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#timestamp-type. +// See https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#timestamp_type. var ( - timestampFormat = "2006-01-02 15:04:05.999999-07:00" - dateTimeFormat = "2006-01-02 15:04:05" + timestampFormat = "2006-01-02 15:04:05.999999-07:00" + dateTimeFormat = "2006-01-02 15:04:05" + dateTimeTZFormat = "2006-01-02 15:04:05 MST" ) var ( @@ -661,7 +662,7 @@ func convertParamValue(qval *bq.QueryParameterValue, qtype *bq.QueryParameterTyp if isNullScalar(qval) { return NullTimestamp{Valid: false}, nil } - formats := []string{timestampFormat, time.RFC3339Nano, dateTimeFormat} + formats := []string{timestampFormat, time.RFC3339Nano, dateTimeFormat, dateTimeTZFormat} var lastParseErr error for _, format := range formats { t, err := time.Parse(format, qval.Value) diff --git a/vendor/cloud.google.com/go/bigquery/query.go b/vendor/cloud.google.com/go/bigquery/query.go index f14f650c..4dba3374 100644 --- a/vendor/cloud.google.com/go/bigquery/query.go +++ b/vendor/cloud.google.com/go/bigquery/query.go @@ -152,6 +152,13 @@ type QueryConfig struct { // Force usage of Storage API if client is available. For test scenarios forceStorageAPI bool + + // The reservation that job would use. User can specify a reservation to + // execute the job. If reservation is not set, reservation is determined + // based on the rules defined by the reservation assignments. The expected + // format is + // `projects/{project}/locations/{location}/reservations/{reservation}`. + Reservation string } func (qc *QueryConfig) toBQ() (*bq.JobConfiguration, error) { @@ -224,9 +231,10 @@ func (qc *QueryConfig) toBQ() (*bq.JobConfiguration, error) { qconf.ConnectionProperties = bqcp } jc := &bq.JobConfiguration{ - Labels: qc.Labels, - DryRun: qc.DryRun, - Query: qconf, + Labels: qc.Labels, + DryRun: qc.DryRun, + Reservation: qc.Reservation, + Query: qconf, } if qc.JobTimeout > 0 { jc.JobTimeoutMs = qc.JobTimeout.Milliseconds() @@ -255,6 +263,7 @@ func bqToQueryConfig(q *bq.JobConfiguration, c *Client) (*QueryConfig, error) { CreateSession: qq.CreateSession, } qc.UseStandardSQL = !qc.UseLegacySQL + qc.Reservation = q.Reservation if len(qq.TableDefinitions) > 0 { qc.TableDefinitions = make(map[string]ExternalData) @@ -418,6 +427,7 @@ func (q *Query) Read(ctx context.Context) (it *RowIterator, err error) { cachedRows: resp.Rows, cachedSchema: resp.Schema, cachedNextToken: resp.PageToken, + cachedTotalRows: resp.TotalRows, } return newRowIterator(ctx, rowSource, fetchPage), nil } @@ -469,6 +479,7 @@ func (q *Query) probeFastPath() (*bq.QueryRequest, error) { UseLegacySql: &pfalse, MaximumBytesBilled: q.QueryConfig.MaxBytesBilled, RequestId: uid.NewSpace("request", nil).New(), + Reservation: q.Reservation, Labels: q.Labels, FormatOptions: &bq.DataFormatOptions{ UseInt64Timestamp: true, diff --git a/vendor/cloud.google.com/go/bigquery/table.go b/vendor/cloud.google.com/go/bigquery/table.go index e88bb557..4465f2db 100644 --- a/vendor/cloud.google.com/go/bigquery/table.go +++ b/vendor/cloud.google.com/go/bigquery/table.go @@ -164,6 +164,9 @@ type TableMetadata struct { // where 12345 is parent id. The value is the friendly short name of the // tag value, e.g. "production". ResourceTags map[string]string + + // Specifies the configuration of a BigQuery table for Apache Iceberg (formerly BigLake Managed Table). + BigLakeConfiguration *BigLakeConfiguration } // TableConstraints defines the primary key and foreign key of a table. @@ -285,10 +288,14 @@ const ( // Data is appended atomically on successful completion of a job. WriteAppend TableWriteDisposition = "WRITE_APPEND" - // WriteTruncate overrides the existing data in the destination table. + // WriteTruncate overwrites the existing data in the destination table. // Data is overwritten atomically on successful completion of a job. WriteTruncate TableWriteDisposition = "WRITE_TRUNCATE" + // WriteTruncateData overwrites the data, but keeps the constraints and + // reuses the schema for an existing table. + WriteTruncateData TableWriteDisposition = "WRITE_TRUNCATE_DATA" + // WriteEmpty fails writes if the destination table already contains data. WriteEmpty TableWriteDisposition = "WRITE_EMPTY" ) @@ -380,6 +387,71 @@ func bqToMaterializedViewDefinition(q *bq.MaterializedViewDefinition) *Materiali } } +// BigLakeFileFormat represents the file format for Managed Tables for Apache Iceberg. +type BigLakeFileFormat string + +var ( + // UnspecifiedBigLakeFileFormat represents the default value. + UnspecifiedBigLakeFileFormat BigLakeFileFormat = "FILE_FORMAT_UNSPECIFIED" + // ParquetBigLakeFileFormat represents Apache Parquet Format. + ParquetBigLakeFileFormat BigLakeFileFormat = "PARQUET" +) + +// BigLakeTableFormat represents the table metadata format for Managed Tables for Apache Iceberg. +type BigLakeTableFormat string + +var ( + // UnspecifiedBigLakeTableFormat represents the default value. + UnspecifiedBigLakeTableFormat BigLakeTableFormat = "TABLE_FORMAT_UNSPECIFIED" + // IcebergBigLakeTableFormat represent Apache Iceberg Format. + IcebergBigLakeTableFormat BigLakeTableFormat = "ICEBERG" +) + +// BigLakeConfiguration is used to configure aspects of BigQuery tables for +// Apache Iceberg (previously known as BigLake managed tables). +type BigLakeConfiguration struct { + // Optional. The connection specifying the credentials to be used to read and + // write to external storage, such as Cloud Storage. The connection_id can + // have the form `{project}.{location}.{connection_id}` or + // `projects/{project}/locations/{location}/connections/{connection_id}". + ConnectionID string + + // Optional. The fully qualified location prefix of the external folder where + // table data is stored. The '*' wildcard character is not allowed. The URI + // should be in the format `gs://bucket/path_to_table/` + StorageURI string + + // Optional. The file format the table data is stored in. + FileFormat BigLakeFileFormat + + // Optional. The table format the metadata only snapshots are stored in. + TableFormat BigLakeTableFormat +} + +func (blc *BigLakeConfiguration) toBQ() *bq.BigLakeConfiguration { + if blc == nil { + return nil + } + return &bq.BigLakeConfiguration{ + ConnectionId: blc.ConnectionID, + StorageUri: blc.StorageURI, + FileFormat: string(blc.FileFormat), + TableFormat: string(blc.TableFormat), + } +} + +func bqToBigLakeConfiguration(in *bq.BigLakeConfiguration) *BigLakeConfiguration { + if in == nil { + return nil + } + return &BigLakeConfiguration{ + ConnectionID: in.ConnectionId, + StorageURI: in.StorageUri, + FileFormat: BigLakeFileFormat(in.FileFormat), + TableFormat: BigLakeTableFormat(in.TableFormat), + } +} + // SnapshotDefinition provides metadata related to the origin of a snapshot. type SnapshotDefinition struct { @@ -769,6 +841,7 @@ func (tm *TableMetadata) toBQ() (*bq.Table, error) { t.RequirePartitionFilter = tm.RequirePartitionFilter t.SnapshotDefinition = tm.SnapshotDefinition.toBQ() t.CloneDefinition = tm.CloneDefinition.toBQ() + t.BiglakeConfiguration = tm.BigLakeConfiguration.toBQ() if !validExpiration(tm.ExpirationTime) { return nil, fmt.Errorf("invalid expiration time: %v.\n"+ @@ -917,6 +990,7 @@ func bqToTableMetadata(t *bq.Table, c *Client) (*TableMetadata, error) { RequirePartitionFilter: t.RequirePartitionFilter, SnapshotDefinition: bqToSnapshotDefinition(t.SnapshotDefinition, c), CloneDefinition: bqToCloneDefinition(t.CloneDefinition, c), + BigLakeConfiguration: bqToBigLakeConfiguration(t.BiglakeConfiguration), } if t.MaterializedView != nil { md.MaterializedView = bqToMaterializedViewDefinition(t.MaterializedView) @@ -1145,6 +1219,10 @@ func (tm *TableMetadataToUpdate) toBQ() (*bq.Table, error) { } forceSend("ResourceTags") } + if tm.BigLakeConfiguration != nil { + t.BiglakeConfiguration = tm.BigLakeConfiguration.toBQ() + forceSend("BigLakeConfiguration") + } labels, forces, nulls := tm.update() t.Labels = labels t.ForceSendFields = append(t.ForceSendFields, forces...) @@ -1239,6 +1317,9 @@ type TableMetadataToUpdate struct { // tag value, e.g. "production". ResourceTags map[string]string + // Update the configuration of a BigQuery table for Apache Iceberg (formerly BigLake Managed Table). + BigLakeConfiguration *BigLakeConfiguration + labelUpdater } diff --git a/vendor/cloud.google.com/go/bigquery/value.go b/vendor/cloud.google.com/go/bigquery/value.go index 4f7a9ef9..1652a9e5 100644 --- a/vendor/cloud.google.com/go/bigquery/value.go +++ b/vendor/cloud.google.com/go/bigquery/value.go @@ -838,6 +838,18 @@ func parseCivilDateTime(s string) (civil.DateTime, error) { return civil.ParseDateTime(parts[0] + "T" + parts[1]) } +func parseCivilDate(s string) (civil.Date, error) { + cdt, err := civil.ParseDate(s) + if err != nil { + t, err := time.Parse("2006-1-2", s) + if err != nil { + return civil.Date{}, err + } + return civil.DateOf(t), err + } + return cdt, nil +} + const ( // NumericPrecisionDigits is the maximum number of digits in a NUMERIC value. NumericPrecisionDigits = 38 @@ -984,7 +996,7 @@ func convertBasicType(val string, typ FieldType) (Value, error) { } return time.UnixMicro(i).UTC(), nil case DateFieldType: - return civil.ParseDate(val) + return parseCivilDate(val) case TimeFieldType: return civil.ParseTime(val) case DateTimeFieldType: diff --git a/vendor/cloud.google.com/go/civil/civil.go b/vendor/cloud.google.com/go/civil/civil.go index 9e9541df..4e0528cf 100644 --- a/vendor/cloud.google.com/go/civil/civil.go +++ b/vendor/cloud.google.com/go/civil/civil.go @@ -22,6 +22,7 @@ package civil import ( + "database/sql/driver" "fmt" "time" ) @@ -158,6 +159,46 @@ func (d *Date) UnmarshalText(data []byte) error { return err } +// Value implements the database/sql/driver Valuer interface. +func (d Date) Value() (driver.Value, error) { + return d.String(), nil +} + +// Scan implements the database/sql Scanner interface. +func (d *Date) Scan(v any) error { + switch vt := v.(type) { + case time.Time: + *d = DateOf(vt) + case *time.Time: + if vt != nil { + *d = DateOf(*vt) + } + case string: + var err error + *d, err = ParseDate(vt) + return err + case *string: + var err error + if vt != nil { + *d, err = ParseDate(*vt) + } + return err + case []byte: + var err error + *d, err = ParseDate(string(vt)) + return err + case *[]byte: + var err error + if vt != nil { + *d, err = ParseDate(string(*vt)) + } + return err + default: + return fmt.Errorf("unsupported scan type for Date: %T", v) + } + return nil +} + // A Time represents a time with nanosecond precision. // // This type does not include location information, and therefore does not @@ -262,6 +303,46 @@ func (t *Time) UnmarshalText(data []byte) error { return err } +// Value implements the database/sql/driver Valuer interface. +func (t Time) Value() (driver.Value, error) { + return t.String(), nil +} + +// Scan implements the database/sql Scanner interface. +func (t *Time) Scan(v any) error { + switch vt := v.(type) { + case time.Time: + *t = TimeOf(vt) + case *time.Time: + if vt != nil { + *t = TimeOf(*vt) + } + case string: + var err error + *t, err = ParseTime(vt) + return err + case *string: + var err error + if vt != nil { + *t, err = ParseTime(*vt) + } + return err + case []byte: + var err error + *t, err = ParseTime(string(vt)) + return err + case *[]byte: + var err error + if vt != nil { + *t, err = ParseTime(string(*vt)) + } + return err + default: + return fmt.Errorf("unsupported scan type for Time: %T", v) + } + return nil +} + // A DateTime represents a date and time. // // This type does not include location information, and therefore does not @@ -365,3 +446,43 @@ func (dt *DateTime) UnmarshalText(data []byte) error { *dt, err = ParseDateTime(string(data)) return err } + +// Value implements the database/sql/driver Valuer interface. +func (dt DateTime) Value() (driver.Value, error) { + return dt.String(), nil +} + +// Scan implements the database/sql Scanner interface. +func (dt *DateTime) Scan(v any) error { + switch vt := v.(type) { + case time.Time: + *dt = DateTimeOf(vt) + case *time.Time: + if vt != nil { + *dt = DateTimeOf(*vt) + } + case string: + var err error + *dt, err = ParseDateTime(vt) + return err + case *string: + var err error + if vt != nil { + *dt, err = ParseDateTime(*vt) + } + return err + case []byte: + var err error + *dt, err = ParseDateTime(string(vt)) + return err + case *[]byte: + var err error + if vt != nil { + *dt, err = ParseDateTime(string(*vt)) + } + return err + default: + return fmt.Errorf("unsupported scan type for DateTime: %T", v) + } + return nil +} diff --git a/vendor/cloud.google.com/go/iam/CHANGES.md b/vendor/cloud.google.com/go/iam/CHANGES.md index c92ba141..7839f3b8 100644 --- a/vendor/cloud.google.com/go/iam/CHANGES.md +++ b/vendor/cloud.google.com/go/iam/CHANGES.md @@ -1,6 +1,36 @@ # Changes +## [1.5.2](https://github.com/googleapis/google-cloud-go/compare/iam/v1.5.1...iam/v1.5.2) (2025-04-15) + + +### Bug Fixes + +* **iam:** Update google.golang.org/api to 0.229.0 ([3319672](https://github.com/googleapis/google-cloud-go/commit/3319672f3dba84a7150772ccb5433e02dab7e201)) + +## [1.5.1](https://github.com/googleapis/google-cloud-go/compare/iam/v1.5.0...iam/v1.5.1) (2025-04-15) + + +### Documentation + +* **iam:** Formatting update for ListPolicyBindingsRequest ([dfdf404](https://github.com/googleapis/google-cloud-go/commit/dfdf404138728724aa6305c5c465ecc6fe5b1264)) +* **iam:** Minor doc update for ListPrincipalAccessBoundaryPoliciesResponse ([20f762c](https://github.com/googleapis/google-cloud-go/commit/20f762c528726a3f038d3e1f37e8a4952118badf)) +* **iam:** Minor doc update for ListPrincipalAccessBoundaryPoliciesResponse ([20f762c](https://github.com/googleapis/google-cloud-go/commit/20f762c528726a3f038d3e1f37e8a4952118badf)) + +## [1.5.0](https://github.com/googleapis/google-cloud-go/compare/iam/v1.4.2...iam/v1.5.0) (2025-03-31) + + +### Features + +* **iam:** New client(s) ([#11933](https://github.com/googleapis/google-cloud-go/issues/11933)) ([d5cb2e5](https://github.com/googleapis/google-cloud-go/commit/d5cb2e58334c6963cc46885f565fe3b19c52cb63)) + +## [1.4.2](https://github.com/googleapis/google-cloud-go/compare/iam/v1.4.1...iam/v1.4.2) (2025-03-13) + + +### Bug Fixes + +* **iam:** Update golang.org/x/net to 0.37.0 ([1144978](https://github.com/googleapis/google-cloud-go/commit/11449782c7fb4896bf8b8b9cde8e7441c84fb2fd)) + ## [1.4.1](https://github.com/googleapis/google-cloud-go/compare/iam/v1.4.0...iam/v1.4.1) (2025-03-06) diff --git a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json index b1a50e87..9dfae797 100644 --- a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json +++ b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json @@ -959,16 +959,6 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, - "cloud.google.com/go/dataform/apiv1alpha2": { - "api_shortname": "dataform", - "distribution_name": "cloud.google.com/go/dataform/apiv1alpha2", - "description": "Dataform API", - "language": "go", - "client_library_type": "generated", - "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/dataform/latest/apiv1alpha2", - "release_level": "preview", - "library_type": "GAPIC_AUTO" - }, "cloud.google.com/go/dataform/apiv1beta1": { "api_shortname": "dataform", "distribution_name": "cloud.google.com/go/dataform/apiv1beta1", @@ -1079,16 +1069,6 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, - "cloud.google.com/go/debugger/apiv2": { - "api_shortname": "clouddebugger", - "distribution_name": "cloud.google.com/go/debugger/apiv2", - "description": "Stackdriver Debugger API", - "language": "go", - "client_library_type": "generated", - "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/latest/debugger/apiv2", - "release_level": "preview", - "library_type": "GAPIC_AUTO" - }, "cloud.google.com/go/deploy/apiv1": { "api_shortname": "clouddeploy", "distribution_name": "cloud.google.com/go/deploy/apiv1", @@ -1109,6 +1089,16 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/devicestreaming/apiv1": { + "api_shortname": "devicestreaming", + "distribution_name": "cloud.google.com/go/devicestreaming/apiv1", + "description": "Device Streaming API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/devicestreaming/latest/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/dialogflow/apiv2": { "api_shortname": "dialogflow", "distribution_name": "cloud.google.com/go/dialogflow/apiv2", @@ -1299,6 +1289,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/financialservices/apiv1": { + "api_shortname": "financialservices", + "distribution_name": "cloud.google.com/go/financialservices/apiv1", + "description": "Financial Services API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/financialservices/latest/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/firestore": { "api_shortname": "firestore", "distribution_name": "cloud.google.com/go/firestore", @@ -1459,6 +1459,26 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/iam/apiv3": { + "api_shortname": "iam", + "distribution_name": "cloud.google.com/go/iam/apiv3", + "description": "Identity and Access Management (IAM) API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/iam/latest/apiv3", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, + "cloud.google.com/go/iam/apiv3beta": { + "api_shortname": "iam", + "distribution_name": "cloud.google.com/go/iam/apiv3beta", + "description": "Identity and Access Management (IAM) API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/iam/latest/apiv3beta", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/iam/credentials/apiv1": { "api_shortname": "iamcredentials", "distribution_name": "cloud.google.com/go/iam/credentials/apiv1", @@ -1599,6 +1619,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/lustre/apiv1": { + "api_shortname": "lustre", + "distribution_name": "cloud.google.com/go/lustre/apiv1", + "description": "Google Cloud Managed Lustre API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/lustre/latest/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/managedidentities/apiv1": { "api_shortname": "managedidentities", "distribution_name": "cloud.google.com/go/managedidentities/apiv1", @@ -1632,7 +1662,7 @@ "cloud.google.com/go/maps/areainsights/apiv1": { "api_shortname": "areainsights", "distribution_name": "cloud.google.com/go/maps/areainsights/apiv1", - "description": "Places Insights API", + "description": "Places Aggregate API", "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/maps/latest/areainsights/apiv1", @@ -1789,6 +1819,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/modelarmor/apiv1": { + "api_shortname": "modelarmor", + "distribution_name": "cloud.google.com/go/modelarmor/apiv1", + "description": "Model Armor API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/modelarmor/latest/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/monitoring/apiv3/v2": { "api_shortname": "monitoring", "distribution_name": "cloud.google.com/go/monitoring/apiv3/v2", @@ -2129,13 +2169,13 @@ "release_level": "stable", "library_type": "GAPIC_MANUAL" }, - "cloud.google.com/go/pubsub/apiv1": { + "cloud.google.com/go/pubsub/v2/apiv1": { "api_shortname": "pubsub", - "distribution_name": "cloud.google.com/go/pubsub/apiv1", + "distribution_name": "cloud.google.com/go/pubsub/v2/apiv1", "description": "Cloud Pub/Sub API", "language": "go", "client_library_type": "generated", - "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/pubsub/latest/apiv1", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/pubsub/latest/v2/apiv1", "release_level": "stable", "library_type": "GAPIC_AUTO" }, @@ -2269,20 +2309,10 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, - "cloud.google.com/go/resourcesettings/apiv1": { - "api_shortname": "resourcesettings", - "distribution_name": "cloud.google.com/go/resourcesettings/apiv1", - "description": "Resource Settings API", - "language": "go", - "client_library_type": "generated", - "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/resourcesettings/latest/apiv1", - "release_level": "stable", - "library_type": "GAPIC_AUTO" - }, "cloud.google.com/go/retail/apiv2": { "api_shortname": "retail", "distribution_name": "cloud.google.com/go/retail/apiv2", - "description": "Vertex AI Search for Retail API", + "description": "Vertex AI Search for commerce API", "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/retail/latest/apiv2", @@ -2292,7 +2322,7 @@ "cloud.google.com/go/retail/apiv2alpha": { "api_shortname": "retail", "distribution_name": "cloud.google.com/go/retail/apiv2alpha", - "description": "Vertex AI Search for Retail API", + "description": "Vertex AI Search for commerce API", "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/retail/latest/apiv2alpha", @@ -2302,7 +2332,7 @@ "cloud.google.com/go/retail/apiv2beta": { "api_shortname": "retail", "distribution_name": "cloud.google.com/go/retail/apiv2beta", - "description": "Vertex AI Search for Retail API", + "description": "Vertex AI Search for commerce API", "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/retail/latest/apiv2beta", @@ -2599,6 +2629,16 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/shopping/merchant/issueresolution/apiv1beta": { + "api_shortname": "merchantapi", + "distribution_name": "cloud.google.com/go/shopping/merchant/issueresolution/apiv1beta", + "description": "Merchant API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/merchant/issueresolution/apiv1beta", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/shopping/merchant/lfp/apiv1beta": { "api_shortname": "merchantapi", "distribution_name": "cloud.google.com/go/shopping/merchant/lfp/apiv1beta", @@ -2619,6 +2659,16 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/shopping/merchant/ordertracking/apiv1beta": { + "api_shortname": "merchantapi", + "distribution_name": "cloud.google.com/go/shopping/merchant/ordertracking/apiv1beta", + "description": "Merchant API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/merchant/ordertracking/apiv1beta", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/shopping/merchant/products/apiv1beta": { "api_shortname": "merchantapi", "distribution_name": "cloud.google.com/go/shopping/merchant/products/apiv1beta", @@ -2679,6 +2729,16 @@ "release_level": "stable", "library_type": "GAPIC_MANUAL" }, + "cloud.google.com/go/spanner/adapter/apiv1": { + "api_shortname": "spanner", + "distribution_name": "cloud.google.com/go/spanner/adapter/apiv1", + "description": "Cloud Spanner API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/spanner/latest/adapter/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/spanner/admin/database/apiv1": { "api_shortname": "spanner", "distribution_name": "cloud.google.com/go/spanner/admin/database/apiv1", diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index f8c3c092..cfafed5b 100644 --- a/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -12,6 +12,8 @@ package errgroup import ( "context" "fmt" + "runtime" + "runtime/debug" "sync" ) @@ -31,6 +33,10 @@ type Group struct { errOnce sync.Once err error + + mu sync.Mutex + panicValue any // = PanicError | PanicValue; non-nil if some Group.Go goroutine panicked. + abnormal bool // some Group.Go goroutine terminated abnormally (panic or goexit). } func (g *Group) done() { @@ -50,13 +56,22 @@ func WithContext(ctx context.Context) (*Group, context.Context) { return &Group{cancel: cancel}, ctx } -// Wait blocks until all function calls from the Go method have returned, then -// returns the first non-nil error (if any) from them. +// Wait blocks until all function calls from the Go method have returned +// normally, then returns the first non-nil error (if any) from them. +// +// If any of the calls panics, Wait panics with a [PanicValue]; +// and if any of them calls [runtime.Goexit], Wait calls runtime.Goexit. func (g *Group) Wait() error { g.wg.Wait() if g.cancel != nil { g.cancel(g.err) } + if g.panicValue != nil { + panic(g.panicValue) + } + if g.abnormal { + runtime.Goexit() + } return g.err } @@ -65,18 +80,56 @@ func (g *Group) Wait() error { // It blocks until the new goroutine can be added without the number of // active goroutines in the group exceeding the configured limit. // -// The first call to return a non-nil error cancels the group's context, if the -// group was created by calling WithContext. The error will be returned by Wait. +// It blocks until the new goroutine can be added without the number of +// goroutines in the group exceeding the configured limit. +// +// The first goroutine in the group that returns a non-nil error, panics, or +// invokes [runtime.Goexit] will cancel the associated Context, if any. func (g *Group) Go(f func() error) { if g.sem != nil { g.sem <- token{} } + g.add(f) +} + +func (g *Group) add(f func() error) { g.wg.Add(1) go func() { defer g.done() + normalReturn := false + defer func() { + if normalReturn { + return + } + v := recover() + g.mu.Lock() + defer g.mu.Unlock() + if !g.abnormal { + if g.cancel != nil { + g.cancel(g.err) + } + g.abnormal = true + } + if v != nil && g.panicValue == nil { + switch v := v.(type) { + case error: + g.panicValue = PanicError{ + Recovered: v, + Stack: debug.Stack(), + } + default: + g.panicValue = PanicValue{ + Recovered: v, + Stack: debug.Stack(), + } + } + } + }() - if err := f(); err != nil { + err := f() + normalReturn = true + if err != nil { g.errOnce.Do(func() { g.err = err if g.cancel != nil { @@ -101,19 +154,7 @@ func (g *Group) TryGo(f func() error) bool { } } - g.wg.Add(1) - go func() { - defer g.done() - - if err := f(); err != nil { - g.errOnce.Do(func() { - g.err = err - if g.cancel != nil { - g.cancel(g.err) - } - }) - } - }() + g.add(f) return true } @@ -135,3 +176,33 @@ func (g *Group) SetLimit(n int) { } g.sem = make(chan token, n) } + +// PanicError wraps an error recovered from an unhandled panic +// when calling a function passed to Go or TryGo. +type PanicError struct { + Recovered error + Stack []byte // result of call to [debug.Stack] +} + +func (p PanicError) Error() string { + // A Go Error method conventionally does not include a stack dump, so omit it + // here. (Callers who care can extract it from the Stack field.) + return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) +} + +func (p PanicError) Unwrap() error { return p.Recovered } + +// PanicValue wraps a value that does not implement the error interface, +// recovered from an unhandled panic when calling a function passed to Go or +// TryGo. +type PanicValue struct { + Recovered any + Stack []byte // result of call to [debug.Stack] +} + +func (p PanicValue) String() string { + if len(p.Stack) > 0 { + return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack) + } + return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) +} diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go index 8b462f3d..0b789e2c 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go index db7806cb..f8404817 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go index 08505ba3..5d583b86 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go index a462e7d0..53e9dd1e 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/field_info.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go index c93b4f52..d30fcee4 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go index a1c543a9..175974a8 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go index 2b54db30..b8c4aa71 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go b/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go index f388426b..d083dde3 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go b/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go index 498020e3..a69c1d47 100644 --- a/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/api/launch_stage.pb.go @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/modules.txt b/vendor/modules.txt index 9eecf30c..856a73bb 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,4 +1,4 @@ -# cloud.google.com/go v0.118.3 +# cloud.google.com/go v0.121.0 ## explicit; go 1.23.0 cloud.google.com/go/civil cloud.google.com/go/internal @@ -28,7 +28,7 @@ cloud.google.com/go/auth/internal/transport/cert # cloud.google.com/go/auth/oauth2adapt v0.2.8 ## explicit; go 1.23.0 cloud.google.com/go/auth/oauth2adapt -# cloud.google.com/go/bigquery v1.67.0 +# cloud.google.com/go/bigquery v1.68.0 ## explicit; go 1.23.0 cloud.google.com/go/bigquery cloud.google.com/go/bigquery/internal @@ -38,7 +38,7 @@ cloud.google.com/go/bigquery/storage/apiv1/storagepb # cloud.google.com/go/compute/metadata v0.6.0 ## explicit; go 1.21 cloud.google.com/go/compute/metadata -# cloud.google.com/go/iam v1.4.1 +# cloud.google.com/go/iam v1.5.2 ## explicit; go 1.23.0 cloud.google.com/go/iam cloud.google.com/go/iam/apiv1/iampb @@ -306,7 +306,7 @@ golang.org/x/oauth2/google/internal/stsexchange golang.org/x/oauth2/internal golang.org/x/oauth2/jws golang.org/x/oauth2/jwt -# golang.org/x/sync v0.13.0 +# golang.org/x/sync v0.14.0 ## explicit; go 1.23.0 golang.org/x/sync/errgroup golang.org/x/sync/semaphore @@ -374,12 +374,12 @@ google.golang.org/api/transport/http ## explicit; go 1.23.0 google.golang.org/genproto/googleapis/type/expr google.golang.org/genproto/protobuf/field_mask -# google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb +# google.golang.org/genproto/googleapis/api v0.0.0-20250428153025-10db94c68c34 ## explicit; go 1.23.0 google.golang.org/genproto/googleapis/api google.golang.org/genproto/googleapis/api/annotations google.golang.org/genproto/googleapis/api/httpbody -# google.golang.org/genproto/googleapis/rpc v0.0.0-20250425173222-7b384671a197 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20250428153025-10db94c68c34 ## explicit; go 1.23.0 google.golang.org/genproto/googleapis/rpc/code google.golang.org/genproto/googleapis/rpc/errdetails