{"record":{"id":"f55e88850b1a0396","repo":"hasura/graphql-engine","slug":"issue-in-order-by-expression-order-by-expression","errorCode":null,"errorMessage":"Issue in order by expression '{order_by_expression_identifier}' used by model '{model_name}': {error}","messagePattern":"Issue in order by expression '(.+?)' used by model '(.+?)': (.+?)","errorType":"validation","errorClass":"ModelsIssue","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/models/types.rs","lineNumber":133,"sourceCode":"    },\n    #[error(\n        \"The orderable field '{field_name}' in model '{model_name}' is an array type (type: {field_type}) and therefore cannot be used for ordering\"\n    )]\n    ModelV1OrderableFieldIsAnArrayType {\n        model_name: Qualified<ModelName>,\n        field_name: FieldName,\n        field_type: QualifiedTypeReference,\n    },\n    #[error(\n        \"The order by expression '{order_by_expression_identifier}' used in model '{model_name}' contains a nested field '{nested_field_name}', however the data connector '{data_connector_name}' used in the model does not support ordering by nested fields\"\n    )]\n    OrderByExpressionContainsUnsupportedNestedField {\n        order_by_expression_identifier: Qualified<OrderByExpressionIdentifier>,\n        model_name: Qualified<ModelName>,\n        nested_field_name: FieldName,\n        data_connector_name: Qualified<DataConnectorName>,\n    },\n    #[error(\n        \"Issue in order by expression '{order_by_expression_identifier}' used by model '{model_name}': {error}\"\n    )]\n    OrderableRelationshipError {\n        order_by_expression_identifier: Qualified<OrderByExpressionIdentifier>,\n        model_name: Qualified<ModelName>,\n        error: order_by_expressions::OrderableRelationshipError,\n    },\n    #[error(\n        \"The target model '{target_model_name}' of the orderable relationship '{relationship_name}' in order by expression '{order_by_expression_identifier}' used in model '{model_name}' must have a source\"\n    )]\n    OrderableRelationshipTargetModelMustHaveASource {\n        order_by_expression_identifier: Qualified<OrderByExpressionIdentifier>,\n        model_name: Qualified<ModelName>,\n        relationship_name: open_dds::relationships::RelationshipName,\n        target_model_name: Qualified<ModelName>,\n    },\n    #[error(\n        \"The target command '{target_command_name}' of the orderable relationship '{relationship_name}' in order by expression '{order_by_expression_identifier}' used in model '{model_name}' must have a source\"","sourceCodeStart":115,"sourceCodeEnd":151,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/models/types.rs#L115-L151","documentation":"A generic wrapper: the order by expression referenced by a model produced an OrderableRelationshipError, whose detail is appended as {error}.","triggerScenarios":"Any error while resolving an order_by_expression that traverses a relationship (e.g. missing source on the target, unsupported relationship type).","commonSituations":"Adding order_by_expressions across relationships where the target model or command isn't properly sourced.","solutions":["Read the appended {error} detail and fix the underlying OrderableRelationshipError","Verify the target of the relationship is a valid sourced model/command"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"catch (e) { if (/Issue in order by expression/.test(e.message)) surfaceOrderableRelationshipDetail(e.message); }","preventionTips":["Validate relationship targets before writing order_by_expressions over them"],"tags":["hasura","models","order-by-expressions","relationships"],"backgroundTag":"order-by-expression-invalid","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}