graphprotocol / graphprotocol/graph-node
Use prefix comparison for `starts_with`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 3.2k
- Forks
- 1.1k
- Ø Merge
- 4 T. 1 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
A GraphQL query that contains a clause name_starts_with: .. gets translated to SQL as name like '...%'. On String and Bytes columns, we only index a prefix of these columns so that the index is not usable for that clause.
Query generation should be changed to generate something like left(name, 256) like '...%' if the search term is shorter than 256 characters, and to left(name, 256) = left('...', 256) and name like '...%' if the search term is longer than that.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den GraphQL-Einstiegspunkt name_starts_with und die SQL-Abfragegenerierung für String- und Bytes-Spalten zu lokalisieren. Überprüfe, dass das generierte SQL den Präfixvergleich mit 256 Zeichen für kürzere und längere Suchbegriffe verwendet und dabei die Bedingung name like '...%' beibehält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- graphql, rust, sql
- Bereich
- api, backend, databases
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100