Test that an index over the @CaseInsensitive copy serves the lookup on each store

Aperta
#366 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
40/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
postgresql, python

Direzione di ricerca

Start from the golden statements and index DDL added in #364, which pin the ignore-case lookup over the __drivine.lower.<prop> copy, and from the reference EXPLAIN checks in drivine4j #149. For each store (Neo4j, Memgraph, FalkorDB, Postgres, Oracle), add a test that runs the lookup's plan and asserts the index over the copy is used, starting with Postgres since it's the easiest to run locally. Done means each engine's plan check passes and fails if the index is dropped; Oracle should check that the labelled-index read is used.

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

Descrizione

enhancement

Follow-up from the review of #364 (Port of liberation-data/drivine4j#149).

drivine4j #149 has a test per engine that asks the store's plan (EXPLAIN) whether an ignore-case lookup uses the index over the __drivine.lower.<prop> copy ("an index over the copy serves the lookup"). This port pins the lookup statements and the index DDL in the golden statements, but no test asks the engine whether it actually uses the index, so a change that stops the store from using it would pass.

Port drivine4j's plan checks for Neo4j, Memgraph, FalkorDB, Postgres and Oracle. On Oracle, check that the labelled-index read is used.

Lingua principale
Python
Stelle
2
Fork
0
Merge medio
3h 11m
PR unite (30g)
170

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 liberation-data/drivine-python

Tutte le issue di liberation-data/drivine-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.