Analyze both join children and return bitmap-pushdown hints. Neither side is penalized for being analyzed — if both qualify, both hints are emitted so the executor can inject prefilters on both probe scans. This is safe: the executor will only use the bitmap that matches the collection it is about to scan.
(left: &SqlPlan, right: &SqlPlan)
| 36 | /// This is safe: the executor will only use the bitmap that matches the |
| 37 | /// collection it is about to scan. |
| 38 | pub fn analyze_join_sides(left: &SqlPlan, right: &SqlPlan) -> BitmapJoinHints { |
| 39 | BitmapJoinHints { |
| 40 | left: predicate::analyze(left), |
| 41 | right: predicate::analyze(right), |
| 42 | } |
| 43 | } |
no test coverage detected