From a290f75269ef58fc73c9261aff3408d07e49bcab Mon Sep 17 00:00:00 2001 From: Tommy Dew Date: Tue, 3 Sep 2024 16:42:46 +0800 Subject: [PATCH] support empty array in _from_api_repr_struct --- google/cloud/bigquery/query.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/google/cloud/bigquery/query.py b/google/cloud/bigquery/query.py index f1090a7dc..24dcb877b 100644 --- a/google/cloud/bigquery/query.py +++ b/google/cloud/bigquery/query.py @@ -689,7 +689,20 @@ def _from_api_repr_struct(cls, resource): struct_resource["parameterValue"] = array_value struct_value = StructQueryParameter.from_api_repr(struct_resource) converted.append(struct_value) - return cls(name, "STRUCT", converted) + return cls( + name, + StructQueryParameterType( + *[ + ScalarQueryParameterType( + struct_type["type"]["type"], name=struct_type["name"] + ) + for struct_type in resource["parameterType"]["arrayType"][ + "structTypes" + ] + ] + ), + values=converted, + ) @classmethod def _from_api_repr_scalar(cls, resource):