New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(bigquery): add interval support #5907
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
product-auto-label
bot
added
size: l
Pull request size is large.
api: bigquery
Issues related to the BigQuery API.
labels
Apr 18, 2022
shollyman
changed the title
feat(bigquery): add a new IntervalValue representation
feat(bigquery): add interval support
Apr 19, 2022
steffnay
approved these changes
Apr 29, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds INTERVAL type support to cloud.google.com/go/bigquery
It includes a new go type (IntervalValue), which can be used to represent/manipulate an interval value. It also includes requisite param support (using IntervalValue). Conversions between IntervalValue and time.Duration are also supported, but you can't directly supply time.Duration as a query param without first converting.
Questions to Resolve:
Should IntervalValue live in the bigquery/types directory, or should this live elsewhere?
It's not a civil type, so it doesn't belong in cloud.google.com/go/civil. It may someday be supported by other SQL
engines, so perhaps a more general sqltypes?
Status: RESOLVED. Moved IntervalValue into the main bigquery package rather than a types sub-package.
Do we need to support ISO8601 duration parsing/conversion?
Out of scope for current FR, but is there anything in the existing signatures that should change to support it? Should
ParseInterval() accept a format string, or should there be a ParseInternalFrom8601Duration() or similar?