{"record":{"id":"ee8dffbdf629b2d3","repo":"hasura/graphql-engine","slug":"the-orderable-field-field-name-has-field-argum","errorCode":null,"errorMessage":"The orderable field \"{field_name}\" has field arguments and cannot be used in order by expressions.","messagePattern":"The orderable field \"(.+?)\" has field arguments and cannot be used in order by expressions\\.","errorType":"validation","errorClass":"OrderByExpressionIssue","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/order_by_expressions/types.rs","lineNumber":118,"sourceCode":"#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)]\npub struct OrderByExpressionGraphqlConfig {\n    pub expression_type_name: ast::TypeName,\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum OrderByExpressionIssue {\n    #[error(\"Duplicate order by expression found: {order_by_expression}\")]\n    DuplicateOrderByExpression {\n        order_by_expression: Qualified<OrderByExpressionIdentifier>,\n    },\n    #[error(\n        \"Cannot order by array relationship {relationship_name} in order by expression {order_by_expression}\"\n    )]\n    CannotOrderByAnArrayRelationship {\n        order_by_expression: Qualified<OrderByExpressionIdentifier>,\n        relationship_name: RelationshipName,\n    },\n    #[error(\n        \"The orderable field \\\"{field_name}\\\" has field arguments and cannot be used in order by expressions.\"\n    )]\n    OrderByFieldWithFieldArguments { field_name: FieldName },\n}\n\nimpl ShouldBeAnError for OrderByExpressionIssue {\n    fn should_be_an_error(&self, flags: &open_dds::flags::OpenDdFlags) -> bool {\n        match self {\n            OrderByExpressionIssue::DuplicateOrderByExpression { .. } => flags\n                .contains(open_dds::flags::Flag::DisallowDuplicateNamesAcrossTypesAndExpressions),\n            OrderByExpressionIssue::CannotOrderByAnArrayRelationship { .. } => {\n                flags.contains(open_dds::flags::Flag::DisallowArrayRelationshipInOrderBy)\n            }\n            OrderByExpressionIssue::OrderByFieldWithFieldArguments { .. } => {\n                flags.contains(open_dds::flags::Flag::DisallowOrderByFieldsWithFieldArguments)\n            }\n        }\n    }","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/order_by_expressions/types.rs#L100-L136","documentation":"Thrown when the field used in an order-by expression declares field arguments. Fields with arguments require arguments to be evaluated, which cannot be done inside an ORDER BY clause, so such fields are rejected.","triggerScenarios":"Defining an order_by_expressions entry that orders by a field which has an arguments block in the type/command field definition; detected during the order_by_expressions metadata stage.","commonSituations":"Ordering by a computed/parameterized field (e.g. formattedDate(format: ...)); adding arguments to an existing field that is already used in an order-by expression; migrating fields to argumented versions during upgrade.","solutions":["Find the field named in the error and check its arguments in the type definition","Remove the field from the order-by expression, or remove its arguments if they are not needed","If arguments are optional and unused, define an argumentless variant of the field and order by that"],"exampleFix":"# before\nfields:\n  - name: displayName\n    arguments:\n      format: String\n# after\nfields:\n  - name: displayName   # argumentless, usable in order_by\n# (move the parameterized version to a separate field)","handlingStrategy":"validation","validationCode":"const field = type.fields.find(f => f.name === fieldName);\nif (field?.arguments?.length) skip(fieldName); // not orderable","typeGuard":"const hasNoArguments = (f) => !f.arguments || f.arguments.length === 0;","tryCatchPattern":null,"preventionTips":["Keep orderable fields argument-free","When adding arguments to a field, grep order_by_expressions for its usage"],"tags":["metadata","order-by","field-arguments","validation","open-dds"],"backgroundTag":"order-by-argumented-field","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}