Tested on latest (2.6.0) version, using python 3.8 on linux.
AttributeError: 'NoneType' object has no attribute 'mode'
(snip)
File "(snip)/site-packages/google/cloud/bigquery/job/query.py", line 632, in query_parameters
return self._configuration.query_parameters
File "(snip)/site-packages/google/cloud/bigquery/job/query.py", line 314, in query_parameters
return _from_api_repr_query_parameters(prop)
File "(snip)/site-packages/google/cloud/bigquery/job/query.py", line 79, in _from_api_repr_query_parameters
return [_query_param_from_api_repr(mapping) for mapping in resource]
File "(snip)/site-packages/google/cloud/bigquery/job/query.py", line 79, in <listcomp>
return [_query_param_from_api_repr(mapping) for mapping in resource]
File "(snip)/site-packages/google/cloud/bigquery/query.py", line 632, in _query_param_from_api_repr
return klass.from_api_repr(resource)
File "(snip)/site-packages/google/cloud/bigquery/query.py", line 257, in from_api_repr
return cls._from_api_repr_scalar(resource)
File "(snip)/site-packages/google/cloud/bigquery/query.py", line 239, in _from_api_repr_scalar
converted = [
File "(snip)/site-packages/google/cloud/bigquery/query.py", line 240, in <listcomp>
_QUERY_PARAMS_FROM_JSON[array_type](value, None) for value in values
File "(snip)/site-packages/google/cloud/bigquery/_helpers.py", line 48, in _int_from_json
if _not_null(value, field):
File "(snip)/site-packages/google/cloud/bigquery/_helpers.py", line 43, in _not_null
return value is not None or field.mode != "NULLABLE"
Tested on latest (2.6.0) version, using python 3.8 on linux.
If
ArrayQueryParametercontaning at least oneNonevalue is added toquery_parameters, when usingjob.query_parameters(result after submitting the job)'NoneType' object has no attribute 'mode'will be raised.This is because:
_from_api_repr_scalaris called onArrayQueryParameter_QUERY_PARAMS_FROM_JSON[array_type](value, None) for value in values, thevalueis None_int_from_json(None, None)_not_null(None, None)is calledreturn value is not None or field.mode != "NULLABLE"raises exceptionStack trace: