Not all optimizer rules are documented
- Dominant language
- Java
- Stars
- 4.4k
- Forks
- 616
- Avg merge
- 14h 54m
- Merged PRs (30d)
- 194
Description
### CrateDB version
any
### CrateDB setup information
_No response_
### Problem description
The release notes mention a couple of optimizer rules:
[5.4.2](https://cratedb.com/docs/crate/reference/en/5.7/appendices/release-notes/5.4.2.html):
```
SET optimizer_reorder_hash_join = false
SET optimizer_reorder_nested_loop_join = false
```
[5.8.0](https://cratedb.com/docs/crate/reference/en/master/appendices/release-notes/5.8.0.html):
```
SET optimizer_move_constant_join_conditions_beneath_join = false
SET optimizer_equi_join_to_lookup_join = true
```
The [session settings](https://cratedb.com/docs/crate/reference/en/master/config/session.html) page partially documents some of the optimizer rules, such as `optimizer_eliminate_cross_join`, but the ones mentioned above are missing and I cannot find them anywhere in the documentation.
### Steps to Reproduce
Search the `docs` folder for an occurrence of e.g. `optimizer_reorder_nested_loop_join`, apart from the release notes:
```$ grep -r optimizer_reorder_nested_loop_join docs --exclude-dir docs/appendices/release-notes```
### Actual Result
Empty result.
### Expected Result
There is an overview of all existing optimizer rules, so users can know what is available.
Contributor guide
Research direction
Start by searching the docs folder as shown for the optimizer settings, then compare the session settings page with the optimizer rules mentioned in the 5.4.2 and 5.8.0 release notes. The work is done when the documentation provides an overview that includes the missing rules and users can find all existing optimizer rules in one place.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- sql
- Domain
- databases, documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100