{"record":{"id":"66f401b38fcabf14","repo":"hasura/graphql-engine","slug":"0-66f401","errorCode":null,"errorMessage":"{0}","messagePattern":"\\{0\\}","errorType":"exception","errorClass":"OrderByExpressionError","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/order_by_expressions/error.rs","lineNumber":66,"sourceCode":"        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}\")]\n    UnsupportedFeature { message: String },\n}\n\n#[derive(Debug, thiserror::Error)]\n#[allow(clippy::enum_variant_names)]\npub enum OrderableRelationshipError {\n    #[error(\n        \"The orderable relationship '{relationship_name}' defined for '{orderable_type}' is a remote relationship and remote relationships are not supported in ordering\"\n    )]\n    RemoteRelationshipsNotSupported {\n        orderable_type: Qualified<CustomTypeName>,\n        relationship_name: RelationshipName,\n    },\n    #[error(\n        \"The orderable relationship '{relationship_name}' defined for '{orderable_type}' is not supported in ordering because the data connector '{data_connector_name}' does not support relationships\"\n    )]","sourceCodeStart":48,"sourceCodeEnd":84,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/order_by_expressions/error.rs#L48-L84","documentation":"A transparent wrapper (#[error(\"{0}\")]) that forwards errors from the GraphQL configuration subsystem (graphql_config::GraphqlConfigError) while resolving order-by expressions. The displayed message is the underlying GraphQL configuration error verbatim.","triggerScenarios":"Order-by expression resolution reads GraphQL naming/configuration rules (e.g. converting names to GraphQL-compatible form) and the graphql config layer rejects a name or setting — invalid GraphQL name characters, conflicting generated names, or disabled features.","commonSituations":"Field or type names containing characters invalid in GraphQL; naming collisions after sanitization; graphql config flags (like specific naming conventions) incompatible with the defined expressions.","solutions":["Read the forwarded message — it is the actual GraphqlConfigError text and names the offending name/config","Rename fields/types/expressions to be GraphQL-name-compliant (alphanumeric + underscore, not starting with a digit)","Adjust the GraphQL configuration settings that caused the rejection"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Reject names invalid in GraphQL before applying metadata\nconst gqlName = /^[A-Za-z_][A-Za-z0-9_]*$/;\nfor (const n of allNamesInMetadata(md)) if (!gqlName.test(n)) throw new Error(`Invalid GraphQL name: ${n}`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Sanitize generated field/type names to GraphQL naming rules","Keep graphql configuration flags consistent across environments"],"tags":["hasura","metadata","graphql","configuration","order-by"],"backgroundTag":"graphql-config-error","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}