{"record":{"id":"08327e16f4bc2c4e","repo":"hasura/graphql-engine","slug":"0-08327e","errorCode":null,"errorMessage":"{0}","messagePattern":"\\{0\\}","errorType":"error_code","errorClass":"ArgumentPresetExecutionError","httpStatus":null,"severity":"error","filePath":"v3/crates/plan/src/query/arguments.rs","lineNumber":421,"sourceCode":"    FieldMappingNotFound {\n        object_type_name: Qualified<CustomTypeName>,\n        field_name: FieldName,\n    },\n    #[error(\n        \"no field definition found for field '{field_name}' of object type '{object_type_name}'\"\n    )]\n    FieldDefinitionNotFound {\n        object_type_name: Qualified<CustomTypeName>,\n        field_name: FieldName,\n    },\n    #[error(\n        \"no data connector field mapping found for field '{field_name}' of object type '{object_type_name}'\"\n    )]\n    DataConnectorFieldMappingNotFound {\n        object_type_name: Qualified<CustomTypeName>,\n        field_name: FieldName,\n    },\n    #[error(\"{0}\")]\n    MapFieldNamesError(#[from] MapFieldNamesError),\n}\n\nimpl TraceableError for ArgumentPresetExecutionError {\n    fn visibility(&self) -> ErrorVisibility {\n        match self {\n            Self::MapFieldNamesError(error) => error.visibility(),\n            Self::ModelSourceNotFound { .. }\n            | Self::ModelArgumentPresetsNotFound { .. }\n            | Self::CommandSourceNotFound { .. }\n            | Self::CommandArgumentPresetsNotFound { .. }\n            | Self::TypeMappingNotFound { .. }\n            | Self::FieldMappingNotFound { .. }\n            | Self::FieldDefinitionNotFound { .. }\n            | Self::ArgumentMappingNotFound { .. }\n            | Self::DataConnectorFieldMappingNotFound { .. } => ErrorVisibility::Internal,\n            Self::GotBoolean { .. }\n            | Self::GotArray { .. }","sourceCodeStart":403,"sourceCodeEnd":439,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/plan/src/query/arguments.rs#L403-L439","documentation":"MapFieldNamesError is a transparent wrapper (#[from]) around an error raised while mapping field names between the logical schema and the data connector. The '{0}' message is the inner error's text, so the underlying cause (name mismatch, unresolvable field, etc.) is reported by the mapping subsystem itself.","triggerScenarios":"Any field-name mapping operation during planning that fails internally — the inner MapFieldNamesError carries the specifics, typically an unrecognized or ambiguous field name during batch field name resolution.","commonSituations":"Bulk field name mapping after connector schema changes; duplicate or case-colliding field names; partial metadata where some names cannot be resolved. Because this wraps another error, the fix depends on the inner message.","solutions":["Read the wrapped '{0}' message — it names the actual failing field or mapping","Fix the underlying field name/mapping issue it identifies (usually a rename or missing mapping)","Regenerate field mappings from the current connector schema if names drifted","Run metadata validation to surface related mapping problems at once"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":"fn is_map_field_names_error(e: &ArgumentPresetExecutionError) -> bool {\n    matches!(e, ArgumentPresetExecutionError::MapFieldNamesError(_))\n}","tryCatchPattern":"match result {\n    Err(PlanError::Arguments(ArgumentPresetExecutionError::MapFieldNamesError(inner))) => {\n        log::warn!(\"field name mapping failed: {inner}\");\n        bad_request(inner.to_string());\n    }\n    other => other,\n}","preventionTips":["Log and surface the inner message — it pinpoints the offending field","Keep field name transforms (case, prefixes) centralized and tested","Re-run field mapping generation whenever the connector schema changes"],"tags":["rust","field-mapping","wrapper","plan"],"backgroundTag":"metadata-mapping-missing","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}