perf(gfql): seeded fast paths could admit single-alias WHERE predicates and LIMIT-only whole-row RETURNs

Aperta
#2,048 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
performance

Direzione di ricerca

Start by reading the referenced scenario review at reviews/pygraphistry-2035-hardening/scenarios.md and the existing seeded fast-path and row-pipeline behavior described in the issue. Compare how alias_prefilters are applied with how the props form passes suffix_ops to chain_impl. Done means the two listed query shapes are admitted by the fast path while preserving parity; the issue estimates about half a day per predicate kind, including tests.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

From the #2035 scenario review (private plan, reviews/pygraphistry-2035-hardening/scenarios.md). Two shapes decline to the full path today with parity, and are cheap to admit:

  1. MATCH (m {id})-[:T]->(p) WHERE m.score > 0 RETURN p.age / WHERE p.age > 0 ... — a same-path WHERE whose predicates each touch one alias. The row pipeline already peels single-alias predicates into alias_prefilters; the seeded fast path could apply the same evaluator on its seed/destination rows before projecting (≈½ day incl. pins per predicate kind; IN lists are the same row).
  2. MATCH (p {id}) RETURN p LIMIT 1 — whole-row RETURN with a suffix; the props form already serves LIMIT/ORDER BY/DISTINCT through chain_impl(out, suffix_ops).

Not needed by the SNB shapes; backlog after the 0.60 stacks land.

Lingua principale
Python
Stelle
2.6k
Fork
229
Merge medio
1g 5h
PR unite (30g)
99

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di graphistry/pygraphistry

Tutte le issue di graphistry/pygraphistry

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.