SqueakQL errors
SqueakQL separates parsing from semantic validation. Errors include a stable code, message, line, column, and often the offending token or suggestion.
Unknown field
SQUEAKQL_UNKNOWN_FIELDUnknown SqueakQL field "assigned". Did you mean "assignee"?line 1, column 1Type mismatch
SQUEAKQL_UNSUPPORTED_OPERATORILIKE is not supported for updated_at.Common codes
| Code | Meaning |
|---|---|
SQUEAKQL_SYNTAX_ERROR |
Tokens do not form the restricted grammar |
SQUEAKQL_UNKNOWN_FIELD |
Field is not in the public Work Item registry |
SQUEAKQL_UNKNOWN_FUNCTION |
Function is not explicitly implemented |
SQUEAKQL_TYPE_MISMATCH |
Value or operator does not fit the field type |
SQUEAKQL_UNSUPPORTED_OPERATOR |
Field does not support that operator or sort |
SQUEAKQL_INVALID_VALUE |
Enum, user, date, string, or interval value is invalid |
SQUEAKQL_QUERY_TOO_COMPLEX |
A centralized parser or complexity limit was exceeded |
The validation API returns these diagnostics without returning generated SQL. Unexpected database failures use Hamstik’s normal server error handling.
Diagnostics use one-based lines and columns, with an exclusive end position when supplied. Columns count UTF-16 code units, matching the editor; an emoji may occupy two units. Tabs count as one unit. Both LF and CRLF line endings are supported.
Missing, blank, non-string, or oversized query request fields produce the
normal HTTP 400 VALIDATION_ERROR before language validation. Oversized JSON
bodies produce HTTP 413. Search language failures are HTTP 400; validation
language failures return HTTP 200 with valid: false and the same diagnostics.
For example, this query is invalid:
updated_at ILIKE '%foo%'