Automatically use inner joins when filtering
- Dominant language
- Rust
- Stars
- 20.8k
- Forks
- 2.1k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 181
Description
Hi, first of all, thanks for building Cube.js and releasing it as open source, it's very cool software.
**Is your feature request related to a problem? Please describe.**
If you filter on a field in a way that precludes it from being `NULL`, then there is no functional difference between an inner and a left join on tables in that field. However, there are slight performance benefits to having an inner join here.
**Describe the solution you'd like**
When joins are added in order to support a filter, or really whenever a joined cube is filtered on, the generated join can be an `INNER JOIN` rather than `LEFT JOIN`. I think functionality that handles this case would be appreciated, in lieu of broader capability to influence join type and path.
This probably isn't super important / high priority, I'm just interested whether this in the roadmap. I can also have a go at doing it in a PR if somebody can direct me in the general direction of the relevant code.
Thanks again for your time and expertise!
Contributor guide
Assessment
This issue has not been assessed yet.