dolthub / dolthub/dolt

Remove matched filters/join conditions when creating IndexedTableAccess

Open
#11,231 0 comments 0 reactions 0 assignees View on GitHub
analyzer performance
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.