feat: cancel queued and active SQLite reads
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- javascript, react-native, sqlite
Rechercherichtung
Start by tracing the current JavaScript queue and native per-connection FIFO, then read SQLite's sqlite3_interrupt() documentation for cross-thread and transaction behavior. Add coverage for cancellation before admission, while queued in both layers, during a long-running query, and after completion. Done means cancelled reads reject recognizably, only their connection is interrupted, later queries still run, and connection closure remains safe.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Async reads can queue behind an older query even after their caller no longer needs the result. A screen that changes query parameters quickly may therefore wait for several obsolete reads. The current JavaScript queue and native per-connection FIFO have no operation-specific cancellation path.
Add cancellation for asynchronous read queries and prepared-statement reads. A request cancelled before it starts should leave both queues without running SQL. An active request should interrupt only its own connection and reject with a recognizable cancellation error. Handle the race where a query finishes while cancellation is requested, and make sure a late cancellation cannot interrupt the next job. Keep connection closure safe while an interrupt is in flight.
Start with read-only operations. SQLite can roll back an entire explicit transaction when an interrupted write fails, so cancellation of writes, batches, and callback transactions needs a separate contract. Test cancellation before admission, while queued in JavaScript, while queued natively, during a long-running query, and just after completion. Verify that later queries on the same connection still run.
Related: #62. SQLite documents the cross-thread and transaction behavior of sqlite3_interrupt() at https://www.sqlite.org/c3ref/interrupt.html.
- Vorherrschende Sprache
- C
- Sterne
- 582
- Forks
- 53
- Ø Merge
- 1 T. 17 Std.
- Gemergte PRs (30 T.)
- 10
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus margelo/react-native-nitro-sqlite
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
margelo/react-native-nitro-sqlite#402 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 28/100
margelo/react-native-nitro-sqlite#401 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 28/100
margelo/react-native-nitro-sqlite#399 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
margelo/react-native-nitro-sqlite#398 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:api area:runtime enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 48/100
margelo/react-native-nitro-sqlite#397 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in margelo/react-native-nitro-sqlite
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
containers/bubblewrap#826 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[compiler-rt] Rtsan-aarch64-NoInstTest: error: no such file or directory: 'NOTFOUND' (libatomic)Offenbuild-problem compiler-rt:rtsan platform:linux
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 63/100
llvm/llvm-project#239039 ·
Maintainer antworten meist innerhalb von 1 Tag
-
component:obi contribfest go test
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 83/100
open-telemetry/opentelemetry-ebpf-instrumentation#4143 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
checkpoint-restore/criu#3304 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Separate Installation Commands into Individual Code BlocksEvtl. vergeben @andrySD hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
colbymchenry/codegraph#3241 ·
Maintainer antworten meist innerhalb von 1 Tag