lss602726449 opened a new pull request, #1820: URL: https://github.com/apache/cloudberry/pull/1820
## Summary - **Remove unnecessary `vacuum_set_xid_limits` calls for AO/AOCO tables**: AO tables don't have per-tuple transaction IDs, so freeze/cutoff computation is meaningless. Removed the calls from `vacuum_ao.c`, `appendonlyam_handler.c` (CLUSTER), and `aocsam_handler.c` (CLUSTER). Fixed `cluster.c` to properly reset `relminmxid` for AO tables. Deleted the now-unused `vacuum_set_xid_limits` function entirely. - **Remove incorrect FIXME in PartitionSelector**: The `CreatePartitionPruneState` call is correct for Cloudberry's join-based partition pruning (distinct from `ExecInitPartitionPruning` which adds initial pruning + subplan map renumbering). Also removed two dead declarations (`ExecCreatePartitionPruneState`, `ExecFindInitialMatchingSubPlans`) left over from PG14. - **Add `UNSAFE_HAS_SUBPLAN` flag for qual pushdown safety**: Replaced the incorrect reuse of `UNSAFE_NOTIN_PARTITIONBY_CLAUSE` (a "soft" unsafe flag that still allows window run conditions) with a proper `UNSAFE_HAS_SUBPLAN` flag (hard block) for output columns containing subplans. This prevents unsafe pushdown of subplan-containing quals into subqueries in Cloudberry's distributed execution model. ## Test plan - [x] Compilation passes with `--enable-cassert` - [ ] `make installcheck` regression tests pass - [ ] `isolation2` tests pass - [ ] Verify AO/AOCO VACUUM and CLUSTER operations work correctly - [ ] Verify partition pruning with PartitionSelector still works -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
