feat: Initial SQL support for INTERVAL
strings
#16732
Merged
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.
Closes #16702.
Adds initial
INTERVAL '...'
support to the SQL interface, covering typical uses (follow-ups listed below).Handles all the typical units in verbose and abbreviated form, is case-insensitive and whitespace tolerant, and also ignores commas (all of which are valid for PostgreSQL interval literals).
Duration
object with a newparse_interval
option.Duration
.Example
Follow-ups
'7d -1 h 30m -10s'
.'1y6m'::interval
.INTERVAL col || ' years'
.Duration
behaviour (generally, not SQL-specific) with ops and incorrect supertype conversion (eg: Multiplying or dividing pl.duration converts to float #16514)