crate / crate/crate

Not all optimizer rules are documented

Closed
#16,321 2 comments 2 reactions 0 assignees View on GitHub
complexity: no estimate docs
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.