jcoffey-dev 754996dbfd Parse a query that starts with a pipe-stage keyword
`stats count by host` with no leading filter is documented as valid in
/docs/query-language-reference.md, but every pipe-stage keyword is also
a valid bare identifier, so the parser read it as a base_search of four
ANDed free-text terms ("stats", "count", "by", "host") -- matching
nothing, and returning an empty result rather than an error, which is
the worst of both outcomes for anyone typing it.

Recognizing a leading stage keyword up front and skipping straight to
stage-parsing fixes it with no planner or executor change: q.Base stays
its zero value, and compileBoolExpr already treats zero terms as
match-everything. The comparator lookahead keeps a genuine field named
`where`/`stats` (`where=foo`) parsing as a filter, as before.
2026-08-22 16:12:17 -07:00
2026-08-21 20:53:32 -07:00
2026-08-21 20:53:32 -07:00
2026-08-21 20:53:32 -07:00
2026-08-21 20:53:32 -07:00
2026-08-21 20:53:32 -07:00
2026-08-21 20:53:32 -07:00
2026-08-21 20:53:32 -07:00
S
Description
Imported from github.com during the 2026-09-20 standup (local dir: cairnobs)
AGPL-3.0
2.1 MiB
Languages
Go 72.5%
Svelte 12.1%
Rust 8%
TypeScript 4%
Shell 1.3%
Other 2%