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]

Reply via email to