Skip to content

fix: allow null parameter types; loosen QueryParameterValue marshalling#67

Merged
ohaibbq merged 2 commits intodan/node-testfrom
dan/query-parameters
Feb 9, 2026
Merged

fix: allow null parameter types; loosen QueryParameterValue marshalling#67
ohaibbq merged 2 commits intodan/node-testfrom
dan/query-parameters

Conversation

@ohaibbq
Copy link
Copy Markdown

@ohaibbq ohaibbq commented Feb 7, 2026

We need to depend on the published generated protos for the BigQuery API. These protos type QueryParameterValue.Value as a string which is not compatible with how the Python/Node clients send the parameters. This implements custom marshalling to handle cases of null, boolean, and numeric values.

closes #58
closes goccy#312
closes goccy#234
closes goccy#137

@ohaibbq ohaibbq merged commit 6465e68 into dan/node-test Feb 9, 2026
13 of 14 checks passed
@djohnson-aperture
Copy link
Copy Markdown

djohnson-aperture commented Feb 10, 2026

There's a small edge case here. int is not interpreted correctly.

Error: failed to analyze: INVALID_ARGUMENT: Type not found: int [at 18:121]

Workaround is to replace int with int64. Once again, this does work with a production BigQuery table.

Edit:
Sorry I just realized that issues is in how the query property is parsed, not the parameters. Should I flag another issue for this comment's issue?

@ohaibbq
Copy link
Copy Markdown
Author

ohaibbq commented Feb 10, 2026

zetasql doesn't recognize quite a few type aliases. I'm unsure if the latest version supports adding these type aliases.
You'll want to use INT64 in your queries.

I've been looking into updating the go-zetasql bindings and am slowly making progress there.

goccy#195
goccy#88

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants