~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/knotless

git that lives in your Atmosphere account

Forked from chadtmiller.com/knotless

0
0
21 lines · 1.3 KB Raw History

Queries

This is part of the root AGENTS.md, loaded when work reaches crates/knotless-serve/.

A query of the index (crates/knotless-serve/src/index.rs) is planned as the tests run it, against tables said to be prod's size (crates/knotless-serve/src/plans.rs), and test fails on any that scans a table that grows with the network: forge, check_run, comment and the rest of GROWING, or sorts many of its rows (a range leading its index, or what a search finds for each row of a scan, as a repository's pushes for every repository). Tests on empty tables pass a query that takes seconds on prod, so this is what holds them. Its log names the query and its plan. Give it an index, or a query that uses the one there: an expression index needs the expression as written, and a column compared to it marked + (json_extract(c.value, '$.pull') = +p.uri), as the column's affinity otherwise keeps the index unused. A scan meant to be, of a few rows an operator reads now and then, says so in its SQL with why, -- scans: forge, as only the operator asks, where review sees it; a sort meant to be, -- sorts: forge, …. On prod, a statement slower than 100 ms logs sql, with the request's trace. To see the plans while fixing one, run its tests with KNOTLESS_PLANS=<dir> and node harness/plans.mjs <dir>.