{"record":{"id":"e822afd0efc8f5ca","repo":"hasura/graphql-engine","slug":"scalar-representations-for-data-connector-data-c","errorCode":null,"errorMessage":"Scalar representations for data connector '{data_connector_name}' could not found for boolean expression type {boolean_expression_type}","messagePattern":"Scalar representations for data connector '(.+?)' could not found for boolean expression type (.+?)","errorType":"validation","errorClass":"BooleanExpressionError::DataConnectorScalarRepresentationsNotFound","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/boolean_expressions/error.rs","lineNumber":142,"sourceCode":"        \"The data connector '{data_connector_name}' does not support filtering across nested relationships. The nested object field '{field_name}' within '{parent_boolean_expression_type_name}' references the boolean expression type '{nested_boolean_expression_type_name}' which has relationship comparisons, making them nested relationship comparisons.\"\n    )]\n    DataConnectorDoesNotSupportNestedRelationshipFiltering {\n        data_connector_name: Qualified<DataConnectorName>,\n        field_name: FieldName,\n        parent_boolean_expression_type_name: Qualified<CustomTypeName>,\n        nested_boolean_expression_type_name: Qualified<CustomTypeName>,\n    },\n    #[error(\n        \"The field {field_name:} has type {field_type:} but the field's boolean expression type {field_boolean_expression_type_name:} has type {underlying_type:}\"\n    )]\n    FieldTypeMismatch {\n        field_name: FieldName,\n        field_type: QualifiedTypeName,\n        field_boolean_expression_type_name: BooleanExpressionTypeIdentifier,\n        underlying_type: QualifiedTypeName,\n    },\n\n    #[error(\n        \"Scalar representations for data connector '{data_connector_name}' could not found for boolean expression type {boolean_expression_type}\"\n    )]\n    DataConnectorScalarRepresentationsNotFound {\n        data_connector_name: Qualified<DataConnectorName>,\n        boolean_expression_type: Qualified<CustomTypeName>,\n    },\n\n    #[error(\n        \"Field level comparison operator configuration is not fully supported yet. Please use \\\"enableAll\\\":true.\"\n    )]\n    FieldLevelComparisonOperatorConfigurationNotSupported,\n\n    #[error(\n        \"Field level comparison operator configuration is not fully supported yet. Please add all fields in filterable_fields.\"\n    )]\n    FieldLevelComparisonOperatorNeedsAllFields,\n\n    #[error(\"a source must be defined for model {model:} in order to use filter expressions\")]","sourceCodeStart":124,"sourceCodeEnd":160,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/boolean_expressions/error.rs#L124-L160","documentation":"The metadata resolver could not find scalar representations (comparisons/operators) for a boolean expression type for the given data connector. Boolean expression types need per-connector scalar representation support; when the connector has no scalar representations registered for the type, filtering on it fails resolution.","triggerScenarios":"Using a boolean_expression_type whose underlying scalar/object type is not supported by the model's data connector, or referencing a custom scalar in a filter without providing the connector's scalar representation (e.g. no scalar type mapping for that connector).","commonSituations":"Adding a custom scalar type used in filters but forgetting the scalar configuration for the data connector; using a connector that does not support filtering on the type; upgrading to a metadata version where scalar representations must be declared explicitly.","solutions":["Add/verify the scalar type representation for the boolean expression type's underlying type in the data connector configuration (e.g. a scalar configuration block for the custom scalar)","Use a native/comparable scalar type that the connector already supports for the filtered field","Remove the field from the boolean expression type if filtering on it is not required"],"exampleFix":"// before: custom scalar 'Money' used in filter with no connector scalar config\n// after: add scalar configuration for the connector\nscalars:\n  Money:\n    dataConnectorScalar:\n      connector: postgres\n      name: numeric","handlingStrategy":"validation","validationCode":"// check every scalar referenced by the boolean expression type has a representation in the model's connector\nfor (const scalar of boolExpScalars(model)) {\n  if (!connectorScalars[model.source.dataConnectorName]?.includes(scalar)) {\n    fail(`no scalar representation for ${scalar} on ${model.source.dataConnectorName}`);\n  }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Declare scalar configurations for all custom scalars per data connector","Prefer connector-native scalar types for filterable fields","Validate metadata against the OpenDDs JSON schema before applying"],"tags":["hasura","data-connector","scalar","boolean-expression","metadata"],"backgroundTag":"missing-scalar-mapping","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}