Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Query ¶
func Parse ¶
Parse tokenizes raw on whitespace (collapsing any run of spaces/tabs) and classifies each token as either a "field<op>value" expression or a bare free-text term. Unknown field names fall back to free text for the whole token, mirroring how osu!'s own search box silently ignores unrecognized filter syntax rather than erroring the whole query.
func (*Query) Compile ¶
Compile turns the parsed Query into a parameterized SQL WHERE clause (no leading "WHERE") plus its positional args. Column names come only from fieldRegistry (never raw user input), and every value is bound as a placeholder — injection-safe regardless of what the user typed.
func (*Query) NeedsSkillJoin ¶
NeedsSkillJoin reports whether compiling this query requires joining skill_cache — either because a skill field is filtered on, or because mode=/mods= was given (needed to pick which mod combination's row to join against, even if no skill field itself is filtered).