timescale / timescaledb

An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
https://www.timescale.com/
Other
17.61k stars 883 forks source link

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

Closed timescale-automation closed 4 months ago

timescale-automation commented 4 months ago

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