zhangyue-hashdata opened a new pull request, #724:
URL: https://github.com/apache/cloudberry/pull/724

   +----------+  AttrFilter   +------+  ScanKey   +------------+
   | HashJoin | ------------> | Hash | ---------> | SeqScan/AM |
   +----------+               +------+            +------------+
   
   If "gp_enable_runtime_filter_pushdown" is on, three steps will be run:
   
   Step 1. In ExecInitHashJoin(), try to find the mapper between the var in
           hashclauses and the var in SeqScan. If found we will save the mapper 
in
           AttrFilter and push them to Hash node;
   
   Step 2. We will create the range/bloom filters in AttrFilter during building
           hash table, and these filters will be converted to the list of 
ScanKey
           and pushed down to Seqscan when the building finishes;
   
   Step 3. If AM support SCAN_SUPPORT_RUNTIME_FILTER, these ScanKeys will be 
pushed
           down to the AM module further, otherwise will be used to filter slot 
in
           Seqscan;
   
   perf:
   CPU E5-2680 v2 10 cores, memory 32GB, 3 segments
   1. tpcds 10s off: 865s on: 716s 17%
   2. tpcds 100s off: 4592s on: 3751s 18%
   
   <!-- 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 -->
   
   ⚠️ **To skip CI:** Add `[skip ci]` to your PR title. Only use when 
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