ConstReadonlyArithmeticInHole: "MJQ_ARITHMETIC_IN_HOLE"An operator inside a {{ }} hole.
ReadonlyCompositionCycle: "MJQ_COMPOSITION_CYCLE"Compositions that lead back to a query already being composed.
ReadonlyCompositionDuplicateArgument: "MJQ_COMPOSITION_DUPLICATE_ARGUMENT"The same argument passed twice.
ReadonlyCompositionImplicitArgument: "MJQ_COMPOSITION_IMPLICIT_ARGUMENT"An unpassed parameter of the composed query has the same name as an outer parameter.
ReadonlyCompositionMalformed: "MJQ_COMPOSITION_MALFORMED"A {{query:"…"}} token whose path or argument list does not parse.
ReadonlyCompositionMissingArgument: "MJQ_COMPOSITION_MISSING_ARGUMENT"A required parameter of the composed query is not passed.
ReadonlyCompositionNotFound: "MJQ_COMPOSITION_NOT_FOUND"The composed query does not exist at that full path.
ReadonlyCompositionNotReusable: "MJQ_COMPOSITION_NOT_REUSABLE"The composed query is not marked Reusable.
ReadonlyCompositionPartialPath: "MJQ_COMPOSITION_PARTIAL_PATH"The path names the composed query by part of its category path (a whole-segment suffix of exactly one query's). It runs, with a warning; save refuses it.
ReadonlyCompositionPosition: "MJQ_COMPOSITION_POSITION"A composition outside a FROM / JOIN / comma table-source position.
ReadonlyCompositionUnchecked: "MJQ_COMPOSITION_UNCHECKED"No resolver was supplied, so the composed queries were not checked.
ReadonlyCompositionUnknownArgument: "MJQ_COMPOSITION_UNKNOWN_ARGUMENT"An argument name the composed query does not declare.
ReadonlyDefaultNotLiteral: "MJQ_DEFAULT_NOT_LITERAL"A default(…) whose argument is not a literal.
ReadonlyDocDuplicate: "MJQ_DOC_DUPLICATE"Two descriptions for the same parameter or field.
ReadonlyDocMissingName: "MJQ_DOC_MISSING_NAME"An @param or @field with no name.
ReadonlyDocTrailingAmbiguous: "MJQ_DOC_TRAILING_AMBIGUOUS"A --: comment that cannot be attached to exactly one select item.
ReadonlyDocUnknownParameter: "MJQ_DOC_UNKNOWN_PARAMETER"An @param naming something that is not a parameter of the query.
ReadonlyDocUnknownTag: "MJQ_DOC_UNKNOWN_TAG"An @tag in a {# #} doc comment other than @param and @field.
ReadonlyExpressionInComment: "MJQ_EXPRESSION_IN_COMMENT"Info: a template tag inside a SQL comment, which is inert (comments are removed before rendering).
ReadonlyFilterTypeMismatch: "MJQ_FILTER_TYPE_MISMATCH"A SQL filter that does not fit the parameter's declared type.
ReadonlyForIterable: "MJQ_FOR_ITERABLE"A {% for %} whose iterable is not an array parameter, or that has an unsupported shape.
ReadonlyFunctionCall: "MJQ_FUNCTION_CALL"A function or method call in an expression.
ReadonlyHoleNotAValue: "MJQ_HOLE_NOT_A_VALUE"A {{ }} hole that does not start from a parameter, a Context token or a loop value.
ReadonlyInlineIf: "MJQ_INLINE_IF"No longer reported: the inline a if b else c is part of the language. The code is kept
so it is never reused for another rule.
ReadonlyLoopOutsideFor: "MJQ_LOOP_OUTSIDE_FOR"loop.<member> outside a {% for %} body, or an unknown loop member.
ReadonlyMemberAccess: "MJQ_MEMBER_ACCESS"Attribute access other than Context.<Token>, loop.<member> and <name>.length.
ReadonlyParameterTypeConflict: "MJQ_PARAMETER_TYPE_CONFLICT"Two uses of one parameter imply different types.
ReadonlySubscript: "MJQ_SUBSCRIPT"A subscript (x[0], x['k']) in an expression.
ReadonlySyntax: "MJQ_SYNTAX"A tag body that does not parse.
ReadonlyTagInQuotedIdentifier: "MJQ_TAG_IN_QUOTED_IDENTIFIER"A template tag inside a SQL quoted identifier.
ReadonlyTagInStringLiteral: "MJQ_TAG_IN_STRING_LITERAL"A template tag inside a SQL string literal.
ReadonlyUnclosedBlock: "MJQ_UNCLOSED_BLOCK"An {% if %} or {% for %} with no {% endif %} / {% endfor %}.
ReadonlyUnclosedTag: "MJQ_UNCLOSED_TAG"A {{, {% or {# with no closing }}, %} or #}.
ReadonlyUnexpectedTag: "MJQ_UNEXPECTED_TAG"An {% elif %}, {% else %}, {% endif %} or {% endfor %} with no block to belong to.
ReadonlyUnfilteredUntyped: "MJQ_UNFILTERED_UNTYPED"A value written without a filter whose type is not known.
ReadonlyUnfilteredValue: "MJQ_UNFILTERED_VALUE"A string, array or date value written into the SQL without an MJ SQL filter.
ReadonlyUnknownContextToken: "MJQ_UNKNOWN_CONTEXT_TOKEN"A Context.<Token> that is not one of the defined tokens.
ReadonlyUnknownFilter: "MJQ_UNKNOWN_FILTER"A filter that is not one of the MJ SQL filters or default.
ReadonlyUnsupportedOperator: "MJQ_UNSUPPORTED_OPERATOR"An operator outside the grammar (in, is, ~, **, //, list or object literals).
ReadonlyUnsupportedTag: "MJQ_UNSUPPORTED_TAG"A block tag outside the allow-list (macro, include, import, extends, block, call, filter, raw, …).
Every diagnostic code the MJ Query language reports, with the rule it stands for. Codes are stable: a code is never renamed or reused for another rule.
guides/MJ_QUERY_LANGUAGE.mddocuments each one with an example and its fix.