hasura/graphql-engine · error · ScalarBooleanExpressionTypeError

scalar representations for data connector {data_connector:}

Error message

scalar representations for data connector {data_connector:} could not be found

What it means

The boolean expression resolution stage needs the scalar type representations exported by a data connector (its scalar types capabilities) to map operators, but none could be found for the referenced connector.

Source

Thrown at v3/crates/metadata-resolve/src/stages/scalar_boolean_expressions/error.rs:37

    },
    #[error("cannot find scalar type {scalar_type:} in data connector {data_connector:}")]
    UnknownScalarTypeInDataConnector {
        data_connector: Qualified<DataConnectorName>,
        scalar_type: DataConnectorScalarType,
    },
    #[error(
        "cannot find type {custom_type:} when resolving arguments for comparison operator {operator_name:} for {boolean_expression_type:}"
    )]
    UnknownCustomTypeInComparisonOperatorArgument {
        custom_type: Qualified<CustomTypeName>,
        operator_name: OperatorName,
        boolean_expression_type: Qualified<CustomTypeName>,
    },
    #[error("data connector {data_connector:} could not be found")]
    DataConnectorNotFound {
        data_connector: Qualified<DataConnectorName>,
    },
    #[error("scalar representations for data connector {data_connector:} could not be found")]
    DataConnectorScalarRepresentationsNotFound {
        data_connector: Qualified<DataConnectorName>,
    },
    #[error(
        "scalar type representation required for type {scalar_type:} in data connector {data_connector:}"
    )]
    DataConnectorScalarRepresentationRequired {
        data_connector: Qualified<DataConnectorName>,
        scalar_type: DataConnectorScalarType,
    },
    #[error("Predicate types in data connectors are unsupported")]
    PredicateTypesUnsupported,
    #[error("{0}")]
    GraphqlError(#[from] graphql_config::GraphqlConfigError),
}

impl ContextualError for ScalarBooleanExpressionTypeError {
    fn create_error_context(&self) -> Option<error_context::Context> {

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Check the data connector's capabilities response includes scalar_types representations
  2. Re-fetch/refresh the connector capabilities and schema metadata
  3. If writing a custom connector, implement the scalar types capabilities section
Defensive patterns

Strategy: validation

Validate before calling

// validate connector capabilities expose scalar representations before build
let caps = fetch_capabilities(&connector_url).await?;
if caps.scalar_types.is_empty() { return Err("connector reports no scalar representations"); }

Prevention

When it happens

Trigger: Resolving a scalar boolean expression type whose underlying data connector returns no scalar representations in its capabilities/schema response, so the resolver cannot look up any scalar types.

Common situations: Using a custom or third-party NDC connector that does not implement scalar type capabilities, stale cached capabilities, or pointing at a connector whose schema fetch failed earlier.

Related errors


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