Repository navigation
BigQuery: query_parameters fails if None is bound as parameter #9027
Copy link
Copy link
Closed
Labels
api: bigqueryIssues related to the BigQuery API.Issues related to the BigQuery API.priority: p2Moderately-important priority. Fix may not be included in next release.Moderately-important priority. Fix may not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Description
OS Type & Version: Ubuntu 19.04 x64
Python version: Python 3.7.3
Packges: latest up to this date:
'google-cloud-bigquery==1.18.0',
Steps to reproduce
- Create a query, bind
None(NULL) as parameter - Execute it
- Call query_parameters
Code example
from google.cloud import bigquery
client = bigquery.Client.from_service_account_json(
<...>
)
job = client.query(
"SELECT LOWER(@none_value)",
job_config=bigquery.QueryJobConfig(
query_parameters=[
bigquery.ScalarQueryParameter('none_value', 'STRING', None)
]
)
)
result = list(job.result())
query_parameters = job.query_parametersStack trace
Traceback (most recent call last):
File "test.py", line 16, in <module>
query_parameters = job.query_parameters
File "/test/venv/lib/python3.7/site-packages/google/cloud/bigquery/job.py", line 2472, in query_parameters
return self._configuration.query_parameters
File "/test/venv/lib/python3.7/site-packages/google/cloud/bigquery/job.py", line 2200, in query_parameters
return _from_api_repr_query_parameters(prop)
File "/test/venv/lib/python3.7/site-packages/google/cloud/bigquery/job.py", line 1965, in _from_api_repr_query_parameters
return [_query_param_from_api_repr(mapping) for mapping in resource]
File "/test/venv/lib/python3.7/site-packages/google/cloud/bigquery/job.py", line 1965, in <listcomp>
return [_query_param_from_api_repr(mapping) for mapping in resource]
File "/test/venv/lib/python3.7/site-packages/google/cloud/bigquery/query.py", line 625, in _query_param_from_api_repr
return klass.from_api_repr(resource)
File "/test/venv/lib/python3.7/site-packages/google/cloud/bigquery/query.py", line 129, in from_api_repr
value = resource["parameterValue"]["value"]
KeyError: 'parameterValue'
This is related to #7309
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
api: bigqueryIssues related to the BigQuery API.Issues related to the BigQuery API.priority: p2Moderately-important priority. Fix may not be included in next release.Moderately-important priority. Fix may not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Activity
plamut commentedon Aug 14, 2019
I can confirm this, reproduced the issue with bigquery version
1.18.0.