Add origin parameter to time_bucket_gapfill #5485
Closed
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.
Allows specifying an
origin
fortime_bucket_gapfill
.I added the
origin
parameter afterstart
/finish
since adding it before would make calls with a third argument ambiguous – it could refer to either thestart
ororigin
: withtime_bucket_gapfill(..., ..., '2022-01-01')
the last argument could refer tostart
ororigin
. The API I defined in this I added a optionalorigin
argument at the end, afterstart
/finish
. Normally users should specify as a named argument. This makes the API somewhat inconsistent, sincetimezone
is before the start/finish.This change has to be a modification of the existing function, since
origin
is after thestart
/finish
arguments which default toNULL
, and all arguments after an argument with a default must also have defaults. Changing the function means that upgrades require dropping it and recreating it, which would break existing views that rely ontime_bucket_gapfill
. We could work around this by renaming the old functions (to something like_timescaledb_internal.time_bucket_gapfill_old
) so that existing views don't break.Other API options:
time_bucket_gapfill_ng
functionorigin
argument the first argument so there wouldn't be any ambiguityI still need to add some tests and update the update/downgrade scripts.
cc @davidkohn88
Partially addresses #3212.