diff --git a/bigquery/go.mod b/bigquery/go.mod index dca976a5b02..0c05dee25ec 100644 --- a/bigquery/go.mod +++ b/bigquery/go.mod @@ -10,6 +10,6 @@ require ( github.com/googleapis/gax-go/v2 v2.0.5 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/bigquery/go.sum b/bigquery/go.sum index b99ce1353e9..612b98a3757 100644 --- a/bigquery/go.sum +++ b/bigquery/go.sum @@ -476,8 +476,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8= diff --git a/bigtable/go.mod b/bigtable/go.mod index 7d640dcd5cd..f316826d829 100644 --- a/bigtable/go.mod +++ b/bigtable/go.mod @@ -11,7 +11,7 @@ require ( golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 rsc.io/binaryregexp v0.2.0 ) diff --git a/bigtable/go.sum b/bigtable/go.sum index 6fef9337227..e3dc4bc67d3 100644 --- a/bigtable/go.sum +++ b/bigtable/go.sum @@ -489,8 +489,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1 h1:j6XxA85m/6txkUCHvzlV5f+HBNl/1r5cZ2A/3IEFOO8= diff --git a/datastore/go.mod b/datastore/go.mod index e9086b4921f..19d50d02784 100644 --- a/datastore/go.mod +++ b/datastore/go.mod @@ -9,6 +9,6 @@ require ( github.com/googleapis/gax-go/v2 v2.0.5 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/datastore/go.sum b/datastore/go.sum index 808140403f9..a6d5d5176af 100644 --- a/datastore/go.sum +++ b/datastore/go.sum @@ -483,8 +483,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/firestore/go.mod b/firestore/go.mod index 70dc31400e1..09b4ec2c0a1 100644 --- a/firestore/go.mod +++ b/firestore/go.mod @@ -9,6 +9,6 @@ require ( github.com/googleapis/gax-go/v2 v2.0.5 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/firestore/go.sum b/firestore/go.sum index 105be983f1f..51862e01a03 100644 --- a/firestore/go.sum +++ b/firestore/go.sum @@ -455,8 +455,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/go.mod b/go.mod index 4a6e758e0e3..e49262254da 100644 --- a/go.mod +++ b/go.mod @@ -18,6 +18,6 @@ require ( golang.org/x/text v0.3.3 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/go.sum b/go.sum index a56a93e8254..adbb9acdf20 100644 --- a/go.sum +++ b/go.sum @@ -465,8 +465,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c h1:Lq4llNryJoaVFRm google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU= diff --git a/internal/examples/fake/go.mod b/internal/examples/fake/go.mod index 6ac5904a497..5302af5682d 100644 --- a/internal/examples/fake/go.mod +++ b/internal/examples/fake/go.mod @@ -5,6 +5,6 @@ go 1.15 require ( cloud.google.com/go v0.68.0 google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/internal/examples/fake/go.sum b/internal/examples/fake/go.sum index 7167a774ece..e9ef89e5015 100644 --- a/internal/examples/fake/go.sum +++ b/internal/examples/fake/go.sum @@ -347,8 +347,8 @@ google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da h1:DTQYk4u7nICKkkVZsBv0/0po0ChISxAJ5CTAfUhO0PQ= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/internal/examples/mock/go.mod b/internal/examples/mock/go.mod index 5a05b8c9cfe..71c5bdf76bc 100644 --- a/internal/examples/mock/go.mod +++ b/internal/examples/mock/go.mod @@ -10,7 +10,7 @@ require ( golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f // indirect golang.org/x/text v0.3.3 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.31.1 // indirect google.golang.org/protobuf v1.25.0 // indirect ) diff --git a/internal/examples/mock/go.sum b/internal/examples/mock/go.sum index 9b0c2c246d5..d3d74bac07c 100644 --- a/internal/examples/mock/go.sum +++ b/internal/examples/mock/go.sum @@ -77,8 +77,8 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= 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/internal/godocfx/go.sum b/internal/godocfx/go.sum index 600715cbb0c..ad1f778e8a2 100644 --- a/internal/godocfx/go.sum +++ b/internal/godocfx/go.sum @@ -284,8 +284,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200827165113-ac2560b5e952 h1:y857ZwFJ60XFsJ00vOc7ouVMLOZp7C+7h03pESkILFY= google.golang.org/genproto v0.0.0-20200827165113-ac2560b5e952/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/logging/go.mod b/logging/go.mod index b0de6186630..ea12b0580fa 100644 --- a/logging/go.mod +++ b/logging/go.mod @@ -12,6 +12,6 @@ require ( golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/logging/go.sum b/logging/go.sum index 1b28fca7ab0..8b75acee867 100644 --- a/logging/go.sum +++ b/logging/go.sum @@ -461,8 +461,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/pubsub/go.mod b/pubsub/go.mod index d0252f24502..5869f86816b 100644 --- a/pubsub/go.mod +++ b/pubsub/go.mod @@ -13,6 +13,6 @@ require ( golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/pubsub/go.sum b/pubsub/go.sum index dfe6507e0ce..693aee35367 100644 --- a/pubsub/go.sum +++ b/pubsub/go.sum @@ -397,8 +397,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/spanner/go.mod b/spanner/go.mod index 15d352781b0..e8ab15d11a1 100644 --- a/spanner/go.mod +++ b/spanner/go.mod @@ -11,7 +11,7 @@ require ( golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 google.golang.org/protobuf v1.25.0 ) diff --git a/spanner/go.sum b/spanner/go.sum index 93da1d57084..51e2a71a6af 100644 --- a/spanner/go.sum +++ b/spanner/go.sum @@ -455,8 +455,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/spanner/oc_test.go b/spanner/oc_test.go index 52b7461c962..638b32abb2d 100644 --- a/spanner/oc_test.go +++ b/spanner/oc_test.go @@ -57,31 +57,31 @@ func TestOCStats_SessionPool(t *testing.T) { "OpenSessionCount", OpenSessionCountView, "open_session_count", - "&{25}", + "25", }, { "MaxAllowedSessionsCount", MaxAllowedSessionsCountView, "max_allowed_sessions", - "&{400}", + "400", }, { "MaxInUseSessionsCount", MaxInUseSessionsCountView, "max_in_use_sessions", - "&{1}", + "1", }, { "AcquiredSessionsCount", AcquiredSessionsCountView, "num_acquired_sessions", - "&{1}", + "1", }, { "ReleasedSessionsCount", ReleasedSessionsCountView, "num_released_sessions", - "&{1}", + "1", }, } { t.Run(test.name, func(t *testing.T) { @@ -123,7 +123,16 @@ func testSimpleMetric(t *testing.T, v *view.View, measure, value string) { row := stat.Rows[0] m := getTagMap(row.Tags) checkCommonTags(t, m) - if got, want := fmt.Sprintf("%v", row.Data), value; got != want { + var data string + switch row.Data.(type) { + default: + data = fmt.Sprintf("%v", row.Data) + case *view.CountData: + data = fmt.Sprintf("%v", row.Data.(*view.CountData).Value) + case *view.LastValueData: + data = fmt.Sprintf("%v", row.Data.(*view.LastValueData).Value) + } + if got, want := data, value; got != want { t.Fatalf("Incorrect data: got %v, want %v", got, want) } case <-time.After(1 * time.Second): @@ -179,17 +188,18 @@ func TestOCStats_SessionPool_SessionsCount(t *testing.T) { // view.AggregationData does not have a way to extract the value. So // we have to convert it to a string and then compare with expected // values. - got := fmt.Sprintf("%v", row.Data) + data := row.Data.(*view.LastValueData) + got := fmt.Sprintf("%v", data.Value) var want string switch m[tagKeyType] { case "num_write_prepared_sessions": - want = "&{20}" + want = "20" case "num_read_sessions": - want = "&{80}" + want = "80" case "num_sessions_being_prepared": - want = "&{0}" + want = "0" case "num_in_use_sessions": - want = "&{0}" + want = "0" default: t.Fatalf("Incorrect type: %v", m[tagKeyType]) } @@ -242,7 +252,8 @@ func TestOCStats_SessionPool_GetSessionTimeoutsCount(t *testing.T) { row := stat.Rows[0] m := getTagMap(row.Tags) checkCommonTags(t, m) - if got, want := fmt.Sprintf("%v", row.Data), "&{1}"; got != want { + data := row.Data.(*view.CountData).Value + if got, want := fmt.Sprintf("%v", data), "1"; got != want { t.Fatalf("Incorrect data: got %v, want %v", got, want) } case <-time.After(1 * time.Second): diff --git a/spanner/spansql/parser.go b/spanner/spansql/parser.go index 7254b0b69bb..a6fe8fd7c2f 100644 --- a/spanner/spansql/parser.go +++ b/spanner/spansql/parser.go @@ -184,9 +184,13 @@ type token struct { line, offset int typ tokenType - int64 int64 float64 float64 string string // unquoted form for stringToken/bytesToken/quotedID + + // int64Token is parsed as a number only when it is known to be a literal. + // This permits correct handling of operators preceding such a token, + // which cannot be identified as part of the int64 until later. + int64Base int } type tokenType int @@ -415,7 +419,9 @@ digitLoop: p.cur.float64, err = strconv.ParseFloat(sign+p.cur.value[d0:], 64) } else { p.cur.typ = int64Token - p.cur.int64, err = strconv.ParseInt(sign+p.cur.value[d0:], base, 64) + p.cur.value = sign + p.cur.value[d0:] + p.cur.int64Base = base + // This is parsed on demand. } if err != nil { p.errorf("bad numeric literal %q: %v", p.cur.value, err) @@ -776,7 +782,7 @@ func (p *parser) advance() { p.cur.typ = unknownToken // TODO: array, struct, date, timestamp literals switch p.s[0] { - case ',', ';', '(', ')', '{', '}', '*': + case ',', ';', '(', ')', '{', '}', '*', '+', '-': // Single character symbol. p.cur.value, p.s = p.s[:1], p.s[1:] p.offset++ @@ -825,8 +831,8 @@ func (p *parser) advance() { p.offset += i return } - if len(p.s) >= 2 && (p.s[0] == '+' || p.s[0] == '-' || p.s[0] == '.') && ('0' <= p.s[1] && p.s[1] <= '9') { - // [-+.] followed by a digit. + if len(p.s) >= 2 && p.s[0] == '.' && ('0' <= p.s[1] && p.s[1] <= '9') { + // dot followed by a digit. p.consumeNumber() return } @@ -1588,7 +1594,11 @@ func (p *parser) parseType() (Type, *parseError) { if tok.value == "MAX" { t.Len = MaxLen } else if tok.typ == int64Token { - t.Len = tok.int64 + n, err := strconv.ParseInt(tok.value, tok.int64Base, 64) + if err != nil { + return Type{}, p.errorf("%v", err) + } + t.Len = n } else { return Type{}, p.errorf("got %q, want MAX or int64", tok.value) } @@ -2025,7 +2035,11 @@ func (p *parser) parseLiteralOrParam() (LiteralOrParam, *parseError) { return nil, tok.err } if tok.typ == int64Token { - return IntegerLiteral(tok.int64), nil + n, err := strconv.ParseInt(tok.value, tok.int64Base, 64) + if err != nil { + return nil, p.errorf("%v", err) + } + return IntegerLiteral(n), nil } // TODO: check character sets. if strings.HasPrefix(tok.value, "@") { @@ -2343,6 +2357,7 @@ func (p *parser) parseArithOp() (Expr, *parseError) { var unaryArithOperators = map[string]ArithOperator{ "-": Neg, "~": BitNot, + "+": Plus, } func (p *parser) parseUnaryArithOp() (Expr, *parseError) { @@ -2350,7 +2365,35 @@ func (p *parser) parseUnaryArithOp() (Expr, *parseError) { if tok.err != nil { return nil, tok.err } - if op, ok := unaryArithOperators[tok.value]; ok { + + op := tok.value + + if op == "-" || op == "+" { + // If the next token is a numeric token, combine and parse as a literal. + ntok := p.next() + if ntok.err == nil { + switch ntok.typ { + case int64Token: + comb := op + ntok.value + n, err := strconv.ParseInt(comb, ntok.int64Base, 64) + if err != nil { + return nil, p.errorf("%v", err) + } + return IntegerLiteral(n), nil + case float64Token: + f := ntok.float64 + if op == "-" { + f = -f + } + return FloatLiteral(f), nil + } + } + // It is not possible for the p.back() lower down to fire + // because - and + are in unaryArithOperators. + p.back() + } + + if op, ok := unaryArithOperators[op]; ok { e, err := p.parseLit() if err != nil { return nil, err @@ -2370,7 +2413,11 @@ func (p *parser) parseLit() (Expr, *parseError) { switch tok.typ { case int64Token: - return IntegerLiteral(tok.int64), nil + n, err := strconv.ParseInt(tok.value, tok.int64Base, 64) + if err != nil { + return nil, p.errorf("%v", err) + } + return IntegerLiteral(n), nil case float64Token: return FloatLiteral(tok.float64), nil case stringToken: diff --git a/spanner/spansql/parser_test.go b/spanner/spansql/parser_test.go index 54d88817537..dcf90c502af 100644 --- a/spanner/spansql/parser_test.go +++ b/spanner/spansql/parser_test.go @@ -225,7 +225,10 @@ func TestParseExpr(t *testing.T) { {`4e2`, FloatLiteral(4e2)}, {`X + Y * Z`, ArithOp{LHS: ID("X"), Op: Add, RHS: ArithOp{LHS: ID("Y"), Op: Mul, RHS: ID("Z")}}}, {`X + Y + Z`, ArithOp{LHS: ArithOp{LHS: ID("X"), Op: Add, RHS: ID("Y")}, Op: Add, RHS: ID("Z")}}, - {`X * -Y`, ArithOp{LHS: ID("X"), Op: Mul, RHS: ArithOp{Op: Neg, RHS: ID("Y")}}}, + {`+X * -Y`, ArithOp{LHS: ArithOp{Op: Plus, RHS: ID("X")}, Op: Mul, RHS: ArithOp{Op: Neg, RHS: ID("Y")}}}, + // Don't require space around +/- operators. + {`ID+100`, ArithOp{LHS: ID("ID"), Op: Add, RHS: IntegerLiteral(100)}}, + {`ID-100`, ArithOp{LHS: ID("ID"), Op: Sub, RHS: IntegerLiteral(100)}}, {`ID&0x3fff`, ArithOp{LHS: ID("ID"), Op: BitAnd, RHS: IntegerLiteral(0x3fff)}}, {`SHA1("Hello" || " " || "World")`, Func{Name: "SHA1", Args: []Expr{ArithOp{LHS: ArithOp{LHS: StringLiteral("Hello"), Op: Concat, RHS: StringLiteral(" ")}, Op: Concat, RHS: StringLiteral("World")}}}}, {`Count > 0`, ComparisonOp{LHS: ID("Count"), Op: Gt, RHS: IntegerLiteral(0)}}, @@ -322,8 +325,8 @@ func TestParseExpr(t *testing.T) { if !reflect.DeepEqual(got, test.want) { t.Errorf("[%s]: incorrect parse\n got <%T> %#v\nwant <%T> %#v", test.in, got, got, test.want, test.want) } - if p.s != "" { - t.Errorf("[%s]: Unparsed [%s]", test.in, p.s) + if rem := p.Rem(); rem != "" { + t.Errorf("[%s]: Unparsed [%s]", test.in, rem) } } } @@ -613,12 +616,16 @@ func tableByName(t *testing.T, ddl *DDL, name ID) *CreateTable { func TestParseFailures(t *testing.T) { expr := func(p *parser) error { - _, err := p.parseExpr() - return err + if _, pe := p.parseExpr(); pe != nil { + return pe + } + return nil } query := func(p *parser) error { - _, err := p.parseQuery() - return err + if _, pe := p.parseQuery(); pe != nil { + return pe + } + return nil } tests := []struct { diff --git a/spanner/spansql/sql.go b/spanner/spansql/sql.go index 1ee9acfe4e0..621286c4393 100644 --- a/spanner/spansql/sql.go +++ b/spanner/spansql/sql.go @@ -351,6 +351,11 @@ func (ao ArithOp) addSQL(sb *strings.Builder) { ao.RHS.addSQL(sb) sb.WriteString(")") return + case Plus: + sb.WriteString("+(") + ao.RHS.addSQL(sb) + sb.WriteString(")") + return case BitNot: sb.WriteString("~(") ao.RHS.addSQL(sb) diff --git a/spanner/spansql/types.go b/spanner/spansql/types.go index fdb4a85e8b3..984db851151 100644 --- a/spanner/spansql/types.go +++ b/spanner/spansql/types.go @@ -391,7 +391,7 @@ type LiteralOrParam interface { type ArithOp struct { Op ArithOperator - LHS, RHS Expr // only RHS is set for Neg, BitNot + LHS, RHS Expr // only RHS is set for Neg, Plus, BitNot } func (ArithOp) isExpr() {} @@ -400,6 +400,7 @@ type ArithOperator int const ( Neg ArithOperator = iota // unary - + Plus // unary + BitNot // unary ~ Mul // * Div // / @@ -415,7 +416,7 @@ const ( type LogicalOp struct { Op LogicalOperator - LHS, RHS BoolExpr // only RHS is set for Neg, BitNot + LHS, RHS BoolExpr // only RHS is set for Not } func (LogicalOp) isBoolExpr() {} diff --git a/storage/go.mod b/storage/go.mod index a6bf159ce24..42ce6bbbd44 100644 --- a/storage/go.mod +++ b/storage/go.mod @@ -10,6 +10,6 @@ require ( golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 golang.org/x/tools v0.0.0-20201013201025-64a9e34f3752 // indirect google.golang.org/api v0.33.0 - google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 + google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 google.golang.org/grpc v1.32.0 ) diff --git a/storage/go.sum b/storage/go.sum index 9b62064c69b..2b8025e7380 100644 --- a/storage/go.sum +++ b/storage/go.sum @@ -437,8 +437,8 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201002142447-3860012362da/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474 h1:TbNifhX2UFPFG5PL1RUfAajMT29pJ1hq6FME8V8ZdgE= -google.golang.org/genproto v0.0.0-20201013134114-7f9ee70cb474/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9 h1:fG84H9C3EXfuDlzkG+VEPDYHHExklP6scH1QZ5gQTqU= +google.golang.org/genproto v0.0.0-20201014134559-03b6142f0dc9/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=