Context
Static algorithm review of main (2026-07-27, post-0.4.11 / 0.4.11-a) found remaining peak-memory and hot-path weaknesses. Several older tickets were closed after partial fixes (injectSqlLimit, MySQL rowsStream, CSV isolate, Redis Future.wait) but gaps remain.
Source: Cursor algorithm review of main @ ~9a4648e.
Problem pattern
Cap / display N rows while still materializing the full source in Dart (SQL fetch, export string, zip bytes, RPC JSON line).
Child issues
P0 — peak memory
P1 — UI / I/O latency
Already OK (do not reopen)
Acceptance
- Child issues linked with
Parent: #414
- Each P0 has measurable memory / streaming acceptance criteria
Context
Static algorithm review of
main(2026-07-27, post-0.4.11 / 0.4.11-a) found remaining peak-memory and hot-path weaknesses. Several older tickets were closed after partial fixes (injectSqlLimit, MySQLrowsStream, CSV isolate, RedisFuture.wait) but gaps remain.Source: Cursor algorithm review of
main@ ~9a4648e.Problem pattern
Cap / display N rows while still materializing the full source in Dart (SQL fetch, export string, zip bytes, RPC JSON line).
Child issues
P0 — peak memory
rawQuerythen.take(cap)Resultbuffer despite UI cap /injectSqlLimitDataExportServicegiantString(streaming CSV unused by UI)computedoubles matrix peakP1 — UI / I/O latency
kSyntaxHighlightIsolateThresholdunusedAlready OK (do not reopen)
rowsStream+ client capwriteResultGridCsvhelper (needs UI wiring → perf(export): stream DataExportService to disk (stop giant String) #417)VirtualResultGrid+itemExtentQueryaThemeAcceptance
Parent: #414