reshke opened a new pull request, #1550:
URL: https://github.com/apache/cloudberry/pull/1550

   Hi! As simple as $subj
   
   I need this for more clean cherry-pick of CVE fix  
https://github.com/postgres/postgres/commit/afe38fb6abb8ef364191201f577a5a638ba55509#diff-7548adcbaf4316229f591bae551542cf30cdab923ffa2de20ce23ef9bf787252
   
   =====
   
   Commit a4d75c86b improved the extended-stats logic to allow extended stats 
to be collected on expressions not just bare Vars.  To apply such stats, we 
first verify that the user has permissions to read all columns used in the 
stats.  (If not, the query will likely fail at runtime, but the planner ought 
not do so.)  That had to get extended to check permissions of columns appearing 
within such expressions, but the code for that was completely wrong: it applied 
pull_varattnos to the wrong pointer, leading to "unrecognized node type" 
failures. Furthermore, although you couldn't get to this because of that bug, 
it failed to account for the attnum offset applied by pull_varattnos.
   
   This escaped recognition so far because the code in question is not reached 
when the user has whole-table SELECT privilege (which is the common case), and 
because only subexpressions not specially handled by 
statext_is_compatible_clause_internal() are at risk.
   
   I think a large part of the reason for this bug is under-documentation of 
what statext_is_compatible_clause() is doing and what its arguments are, so do 
some work on the comments to try to improve that.
   
   Per bug #17570 from Alexander Kozhemyakin.  Patch by Richard Guo; comments 
and other cosmetic improvements by me.  (Thanks also to Japin Li for 
diagnosis.)  Back-patch to v14 where the bug came in.
   
   Discussion: https://postgr.es/m/[email protected]
   
   <!-- Thank you for your contribution to Apache Cloudberry (Incubating)! -->
   
   Fixes #ISSUE_Number
   
   ### What does this PR do?
   <!-- Brief overview of the changes, including any major features or fixes -->
   
   ### Type of Change
   - [ ] Bug fix (non-breaking change)
   - [ ] New feature (non-breaking change)
   - [ ] Breaking change (fix or feature with breaking changes)
   - [ ] Documentation update
   
   ### Breaking Changes
   <!-- Remove if not applicable. If yes, explain impact and migration path -->
   
   ### Test Plan
   <!-- How did you test these changes? -->
   - [ ] Unit tests added/updated
   - [ ] Integration tests added/updated
   - [ ] Passed `make installcheck`
   - [ ] Passed `make -C src/test installcheck-cbdb-parallel`
   
   ### Impact
   <!-- Remove sections that don't apply -->
   **Performance:**
   <!-- Any performance implications? -->
   
   **User-facing changes:**
   <!-- Any changes visible to users? -->
   
   **Dependencies:**
   <!-- New dependencies or version changes? -->
   
   ### Checklist
   - [ ] Followed [contribution 
guide](https://cloudberry.apache.org/contribute/code)
   - [ ] Added/updated documentation
   - [ ] Reviewed code for security implications
   - [ ] Requested review from [cloudberry 
committers](https://github.com/orgs/apache/teams/cloudberry-committers)
   
   ### Additional Context
   <!-- Any other information that would help reviewers? Remove if none -->
   
   ### CI Skip Instructions
   <!--
   To skip CI builds, add the appropriate CI skip identifier to your PR title.
   The identifier must:
   - Be in square brackets []
   - Include the word "ci" and either "skip" or "no"
   - Only use for documentation-only changes or when absolutely necessary
   -->
   
   ---
   <!-- Join our community:
   - Mailing list: 
[[email protected]](https://lists.apache.org/[email protected])
 (subscribe: [email protected])
   - Discussions: https://github.com/apache/cloudberry/discussions -->
   


-- 
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