Summary
Bare start() / end() parse-fail (start() → invalid promql query), while foo @ start() works. Prometheus exposes start() / end() as functions returning the query range boundaries as scalars.
Current state (verified)
Already documented as deferred in the asap commit c51beaf that added the other experimental functions:
start()/end() are NOT added: start/end are reserved lexer keywords for the @ modifier, so a table entry can't make them callable (needs lexer/grammar work, deferred).
src/parser/function.rs on asap has 0 entries for start / end; GreptimeTeam upstream functions.rs likewise.
Work
- Let the lexer / grammar treat
start / end as callable in function-call position while keeping them valid as @ modifiers (the reserved-keyword collision the commit note describes).
- Function-table entries returning a scalar.
Corpus impact
6 rejections. Small, but distinct lexer/grammar work — not a table-only addition.
Constraint
All changes on the asap branch; no upstream operations.
Summary
Bare
start()/end()parse-fail (start()→invalid promql query), whilefoo @ start()works. Prometheus exposesstart()/end()as functions returning the query range boundaries as scalars.Current state (verified)
Already documented as deferred in the
asapcommit c51beaf that added the other experimental functions:src/parser/function.rsonasaphas 0 entries forstart/end; GreptimeTeam upstreamfunctions.rslikewise.Work
start/endas callable in function-call position while keeping them valid as@modifiers (the reserved-keyword collision the commit note describes).Corpus impact
6 rejections. Small, but distinct lexer/grammar work — not a table-only addition.
Constraint
All changes on the
asapbranch; no upstream operations.