From 54e3a594a97f10fc85e202f7b8ac81d00a531b96 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):