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.
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.
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 differenttime_bucket
function definition but what matters is the correct and validtime_bucket
function that is part of theQuery->groupClause
.Fixed it by inspecting only the
Query->groupClause
items looking for a valid time bucketFuncExpr
and return itOid
.Disable-check: force-changelog-file