Remove matched filters/join conditions when creating IndexedTableAccess
- Dominant language
- Go
- Stars
- 24.4k
- Forks
- 873
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 108
Description
There are a few places during join planning where we create an IndexedTableAccess but do not remove the the matched filters/join conditions. This leads us to unnecessarily evaluating the expression and/or including unnecessary filter nodes.
This was discovered while working on dolthub/go-mysql-server#3591 (TODOs added) and was particularly noticeable in some Doltgres query plan tests (dolthub/doltgresql#2865).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the join-planning paths that create IndexedTableAccess and review the TODOs added for dolthub/go-mysql-server#3591. Check the Doltgres query plan tests mentioned in dolthub/doltgresql#2865 to reproduce the unnecessary expression evaluation or filter nodes. Done means matched filters and join conditions are removed wherever the access is created, with the affected plans no longer containing unnecessary filters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100