This PR, consider it as Part 2, provides ruleutils changes for PG17. Ruleutils changes is the first thing we should merge, after successful build. It's the core for deparsing logic in Citus.
Per each commit in that history that belongs only to 17.0, we add the relevant changes to static functions to our ruleutils file for PG17. It's like a manual commit copying.
Notes for reviewer
No need to review the logic here, changes are copy pasted from Postgres commits anyway. Just a general sanity review is needed to merge this.
You can use the wider pg17 support branch to check that the tests are passing https://github.com/citusdata/citus/pull/7661, as this pull request doesn't have configure changes for PG17 or tests for PG17. This is intentional, as we don't want to merge such changes yet.
PG17 compatibility - Part 2
https://github.com/citusdata/citus/pull/7699 was the first PG17 compatibility PR merged to main branch, which provided ONLY successful Citus compilation with PG17.0.
This PR, consider it as Part 2, provides ruleutils changes for PG17. Ruleutils changes is the first thing we should merge, after successful build. It's the core for deparsing logic in Citus.
Question: How do we add ruleutils changes?
Answer:
Notes for reviewer