hasura/graphql-engine · error · BooleanExpressionError::DataConnectorScalarRepresentationsNotFound

Scalar representations for data connector '{data_connector_n

Error message

Scalar representations for data connector '{data_connector_name}' could not found for boolean expression type {boolean_expression_type}

What it means

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.

Source

Thrown at v3/crates/metadata-resolve/src/stages/boolean_expressions/error.rs:142

        "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."
    )]
    DataConnectorDoesNotSupportNestedRelationshipFiltering {
        data_connector_name: Qualified<DataConnectorName>,
        field_name: FieldName,
        parent_boolean_expression_type_name: Qualified<CustomTypeName>,
        nested_boolean_expression_type_name: Qualified<CustomTypeName>,
    },
    #[error(
        "The field {field_name:} has type {field_type:} but the field's boolean expression type {field_boolean_expression_type_name:} has type {underlying_type:}"
    )]
    FieldTypeMismatch {
        field_name: FieldName,
        field_type: QualifiedTypeName,
        field_boolean_expression_type_name: BooleanExpressionTypeIdentifier,
        underlying_type: QualifiedTypeName,
    },

    #[error(
        "Scalar representations for data connector '{data_connector_name}' could not found for boolean expression type {boolean_expression_type}"
    )]
    DataConnectorScalarRepresentationsNotFound {
        data_connector_name: Qualified<DataConnectorName>,
        boolean_expression_type: Qualified<CustomTypeName>,
    },

    #[error(
        "Field level comparison operator configuration is not fully supported yet. Please use \"enableAll\":true."
    )]
    FieldLevelComparisonOperatorConfigurationNotSupported,

    #[error(
        "Field level comparison operator configuration is not fully supported yet. Please add all fields in filterable_fields."
    )]
    FieldLevelComparisonOperatorNeedsAllFields,

    #[error("a source must be defined for model {model:} in order to use filter expressions")]

View on GitHub (pinned to 724551b9ae)

Solutions

  1. 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)
  2. Use a native/comparable scalar type that the connector already supports for the filtered field
  3. Remove the field from the boolean expression type if filtering on it is not required

Example fix

// before: custom scalar 'Money' used in filter with no connector scalar config
// after: add scalar configuration for the connector
scalars:
  Money:
    dataConnectorScalar:
      connector: postgres
      name: numeric
Defensive patterns

Strategy: validation

Validate before calling

// check every scalar referenced by the boolean expression type has a representation in the model's connector
for (const scalar of boolExpScalars(model)) {
  if (!connectorScalars[model.source.dataConnectorName]?.includes(scalar)) {
    fail(`no scalar representation for ${scalar} on ${model.source.dataConnectorName}`);
  }
}

Prevention

When it happens

Trigger: 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).

Common situations: 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.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/e822afd0efc8f5ca. Report an issue: GitHub.