Server streams rows from a pg cursor in 10k-row batches, building Arrow record batches incrementally and piping them as chunked HTTP response — Node.js heap stays bounded regardless of dataset size. Client fetches as arrayBuffer() and loads directly into Perspective worker (native Arrow path, no JSON deserialization). X-Row-Count header drives a non-blocking banner for datasets >= 500k rows. validCols now derived from col_meta rather than from row keys. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Baseline.jsx | ||
| Forecast.jsx | ||
| Setup.jsx | ||