Match PDO MySQL lastInsertId() behavior in edge cases
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
- 55/100
Direzione di ricerca
Inizia da WP_MySQL_On_SQLite::lastInsertId() e dal lavoro sulla copertura dei test per PDO citato in #471. Aggiungi la copertura per i casi INSERT e REPLACE elencati, quindi verifica che gli ID restituiti corrispondano al comportamento di PDO MySQL anziché al last row ID a livello di connessione di SQLite.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
WP_MySQL_On_SQLite::lastInsertId() snapshots SQLite's last row ID, but SQLite and PDO MySQL differ in several cases:
- A multi-row insert returns SQLite's last generated ID; PDO MySQL returns the first.
- An insert into a table without
AUTO_INCREMENTcan expose a SQLite row ID; PDO MySQL returns"0". - A fully ignored insert can expose a stale or advanced SQLite ID; PDO MySQL returns
"0".
The PDO coverage work in #471 handles initialization, operation resets, and isolation from internal SQLite writes, but not these differences.
Expected behavior
Derive the ID from the user-issued MySQL INSERT or REPLACE operation rather than directly exposing SQLite's connection-level last row ID.
Add coverage for single-row, multi-row, explicit-ID, non-auto-increment, ignored, replace, and duplicate-key-update cases.
- Lingua principale
- PHP
- Stelle
- 362
- Fork
- 69
- Merge medio
- 3g 11h
- PR unite (30g)
- 12
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di WordPress/sqlite-database-integration
-
MySQL-on-SQLite does not translate DATE arithmetic with INTERVAL HOURForse già presa @samuelmbabhazi l’ha presa 26 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
WordPress/sqlite-database-integration#454 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
WordPress/sqlite-database-integration#531 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
WordPress/sqlite-database-integration#529 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
WordPress/sqlite-database-integration#528 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 1-2 giorni Idoneità per principianti 52/100
WordPress/sqlite-database-integration#527 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di WordPress/sqlite-database-integration
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Featured image not passed to checks in the Tasks column or publish blocksForse già presa @roborourke l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
humanmade/publication-checklist#100 ·
I maintainer di solito rispondono entro 1 giorno
-
bug customer-reported
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
MagnaCapax/PMSS#1072 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
components-web-app/docs#244 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
getgrav/grav-plugin-api#60 ·