pf_app/routes
Paul Trowbridge 5376c25e04 Stop totalling log entries the change log does not show
Filtering the loads out in the dialog left the server still joining the
whole forecast table for them and discarding the answer. ?kind=adjustments
moves the filter into the WHERE, so they never enter the join: on version 29
the join goes from 2,556,821 rows to 25, and the query from 1666ms to 719ms.

Still 719ms, because nothing indexes pf_logid and it stays a sequential scan
of 2.5M rows. New forecast tables now get an index on it. That column is how
every entry-level operation finds its rows -- undo deletes by it, this
aggregate groups by it, and it is part of the grain key -- so the scan was
being paid on all of them.

Existing tables predate the index and still scan; fc_osm_skinny_29 would
want it added by hand.

The route keeps returning everything by default: Baseline.jsx lists the
segments from the same endpoint, and the ledger's tag lookup needs every
entry to label its lines.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 23:31:49 -04:00
..
auth.js Put the app behind a login 2026-09-14 22:20:25 -04:00
log.js Stop totalling log entries the change log does not show 2026-09-16 23:31:49 -04:00
operations.js Ask whether a dollar change is price or volume 2026-09-16 23:11:05 -04:00
sources.js Merge feature/static-grain: display-grain pre-aggregation 2026-09-16 18:08:20 -04:00
tables.js Expose pf_note/pf_op in forecast data; fix tables list duplicates 2026-04-28 19:51:45 -04:00
versions.js Stop totalling log entries the change log does not show 2026-09-16 23:31:49 -04:00