Skip to content
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

Backport to 2.15.x: #6922: Fix accessor function cagg_get_bucket_function #6933

Merged
merged 1 commit into from
May 17, 2024

Conversation

timescale-automation
Copy link

This is an automated backport of #6922: Fix accessor function cagg_get_bucket_function.
This PR will be merged automatically after all the relevant CI checks pass. If this fix should not be backported, or will be backported manually, just close this PR. You can use the backport branch to add your changes, it won't be modified automatically anymore.

For more details, please see the documentation

Original description

Fix accessor function cagg_get_bucket_function

In #6624 we refactored time_bucket catalog table to be more generic and introduced the cagg_get_bucket_function to inspect the query tree of a given Continuous Aggregate and return the time_bucket function oid.

The problem with the implementation is we traverse the whole query tree looking for FuncExpr and in certain cases we can have two different time_bucket function definition but what matters is the correct and valid time_bucket function that is part of the Query->groupClause.

Fixed it by inspecting only the Query->groupClause items looking for a valid time bucket FuncExpr and return it Oid.

Disable-check: force-changelog-file

@timescale-automation timescale-automation added the is-auto-backport PR created by backport automation label May 17, 2024
@timescale-automation timescale-automation enabled auto-merge (rebase) May 17, 2024 15:03
In #6624 we refactored time_bucket catalog table to be more generic and
introduced the `cagg_get_bucket_function` to inspect the query tree of
a given Continuous Aggregate and return the time_bucket function oid.

The problem with the implementation is we traverse the whole query tree
looking for `FuncExpr` and in certain cases we can have two different
`time_bucket` function definition but what matters is the correct and
valid `time_bucket` function that is part of the `Query->groupClause`.

Fixed it by inspecting only the `Query->groupClause` items looking for
a valid time bucket `FuncExpr` and return it `Oid`.

(cherry picked from commit 54830d1)
@timescale-automation timescale-automation merged commit f40bede into 2.15.x May 17, 2024
34 checks passed
@timescale-automation timescale-automation deleted the backport/2.15.x/6922 branch May 17, 2024 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is-auto-backport PR created by backport automation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants