{"record":{"id":"12036e3d98811e36","repo":"hasura/graphql-engine","slug":"the-order-by-expression-order-by-expression-name-12036e","errorCode":null,"errorMessage":"The order by expression {order_by_expression_name} referenced in orderable relationship {relationship_name} has not been defined","messagePattern":"The order by expression (.+?) referenced in orderable relationship (.+?) has not been defined","errorType":"validation","errorClass":"OrderByExpressionError","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/order_by_expressions/error.rs","lineNumber":50,"sourceCode":"    #[error(\n        \"The relationship {relationship_name} on object type {object_type_name} could not be found\"\n    )]\n    UnknownRelationship {\n        relationship_name: RelationshipName,\n        object_type_name: Qualified<CustomTypeName>,\n    },\n    #[error(\n        \"Invalid orderable field {field_name}. Exactly one of `enable_order_by_directions` or `order_by_expression_name` must be specified.\"\n    )]\n    InvalidOrderByExpressionOrderableField { field_name: FieldName },\n    #[error(\n        \"The order by expression {order_by_expression_name} referenced in field {field_name} has not been defined\"\n    )]\n    UnknownOrderByExpressionNameInOrderableField {\n        order_by_expression_name: OrderByExpressionName,\n        field_name: FieldName,\n    },\n    #[error(\n        \"The order by expression {order_by_expression_name} referenced in orderable relationship {relationship_name} has not been defined\"\n    )]\n    UnknownOrderByExpressionNameInOrderableRelationship {\n        order_by_expression_name: OrderByExpressionName,\n        relationship_name: RelationshipName,\n    },\n    #[error(\n        \"The type of the order by expression {order_by_expression_name} referenced in field {field_name} does not match the field type. Order by expression type: {order_by_expression_type}; field type: {field_type}. \"\n    )]\n    OrderableFieldTypeError {\n        order_by_expression_name: OrderByExpressionName,\n        order_by_expression_type: TypeName,\n        field_type: QualifiedBaseType,\n        field_name: FieldName,\n    },\n    #[error(\"{0}\")]\n    GraphqlConfigError(#[from] graphql_config::GraphqlConfigError),\n    #[error(\"{message}\")]","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/order_by_expressions/error.rs#L32-L68","documentation":"Same as 1076 but for orderable relationships: an orderable relationship entry references an order-by expression name that is not defined anywhere in the metadata.","triggerScenarios":"Configuring an orderable relationship with order_by_expression_name set to an undefined expression name.","commonSituations":"Renaming/deleting order-by expressions without updating relationship ordering config; typos in relationship ordering metadata.","solutions":["Define the referenced order-by expression","Correct or remove the order_by_expression_name on the orderable relationship"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"const defined = new Set(Object.keys(orderByExpressions));\nfor (const r of orderableRelationships) if (r.order_by_expression_name && !defined.has(r.order_by_expression_name)) throw new Error(`Undefined order-by expression ${r.order_by_expression_name}`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Same as fields: validate relationship ordering references against defined expressions before apply"],"tags":["hasura","metadata","order-by","relationships","dangling-reference"],"backgroundTag":"dangling-reference","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}