hasura/graphql-engine · error · ScalarBooleanExpressionTypeError

Predicate types in data connectors are unsupported

Error message

Predicate types in data connectors are unsupported

What it means

Indicates that predicate types (function-like boolean expression types) are not supported when resolving scalar boolean expressions against data connectors.

Source

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

        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> {
        None
    }
}

#[derive(Debug, thiserror::Error)]
pub enum ScalarBooleanExpressionTypeIssue {
    // Because the GraphqlConfig's filterInputConfig requires all properties to be set, the effective meaning of not
    // having the is_null operator set is that the entire boolean expression cannot be rendered in GraphQL and so we
    // communicate that effect here, even though this issue is only about logical operators specifically.
    #[error(
        "a graphql section is defined in boolean expression type '{type_name}' but it will not appear in the GraphQL API unless logical operator field names are also configured in the GraphqlConfig in query.filterInputConfig"

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Remove the predicate type usage or replace it with a standard scalar boolean expression type
  2. Enable the required feature flag / use a version that supports predicate types
Defensive patterns

Strategy: validation

Prevention

When it happens

Trigger: Metadata declares a predicate-type boolean expression that requires data connector support, which the resolver explicitly rejects.

Common situations: Using experimental predicate types features that require a CLI/plugin feature flag that is not enabled in the current version.

Related errors


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